{"id":920,"date":"2019-10-07T15:18:30","date_gmt":"2019-10-07T15:18:30","guid":{"rendered":"https:\/\/roboticsbackend.com\/?p=920"},"modified":"2021-09-28T20:23:22","modified_gmt":"2021-09-28T20:23:22","slug":"ros-param-command-line-tool-practical-example-rosparam","status":"publish","type":"post","link":"https:\/\/roboticsbackend.com\/ros-param-command-line-tool-practical-example-rosparam\/","title":{"rendered":"ROS Param Command Line Tool &#8211; Practical Example (rosparam)"},"content":{"rendered":"<p>This tutorial is a practical guide on how to use rosparam command line tool to debug <a href=\"https:\/\/roboticsbackend.com\/what-is-a-ros-parameter\/\">ROS Params<\/a>.<\/p>\n<p>ROS params are really useful to launch your ROS application with different setup settings, without having to re-write and re-compile any part of your code. With the rosparam command line tool, you&#8217;ll be able to test your programs even faster when developing.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_81 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-69fc7e6978b46\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-69fc7e6978b46\"  aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/roboticsbackend.com\/ros-param-command-line-tool-practical-example-rosparam\/#Launch_file_for_this_example\" >Launch file for this example<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/roboticsbackend.com\/ros-param-command-line-tool-practical-example-rosparam\/#Find_all_the_params_rosparam_list\" >Find all the params (rosparam list)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/roboticsbackend.com\/ros-param-command-line-tool-practical-example-rosparam\/#Get_a_parameters_value_rosparam_get\" >Get a parameter&#8217;s value (rosparam get)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/roboticsbackend.com\/ros-param-command-line-tool-practical-example-rosparam\/#Set_a_parameters_value_rosparam_set\" >Set a parameter&#8217;s value (rosparam set)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/roboticsbackend.com\/ros-param-command-line-tool-practical-example-rosparam\/#Delete_a_parameter_rosparam_delete\" >Delete a parameter (rosparam delete)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/roboticsbackend.com\/ros-param-command-line-tool-practical-example-rosparam\/#Using_namespaces_with_rosparam\" >Using namespaces with rosparam<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/roboticsbackend.com\/ros-param-command-line-tool-practical-example-rosparam\/#Going_further_with_rosparam_command_line_tool\" >Going further with rosparam command line tool<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Launch_file_for_this_example\"><\/span>Launch file for this example<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Let&#8217;s create a simple <a href=\"https:\/\/roboticsbackend.com\/what-is-a-ros-launch-file\/\">launch file<\/a> which we&#8217;ll fill with 3 simple parameters. In a ROS package (in this example: my_robot_tutorials), create a launch\/ folder. Inside this folder, create a launch file (in this example: example_rosparam.launch).<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"xml\">&lt;launch&gt;\r\n    &lt;param name=\"my_integer\" type=\"int\" value=\"7\" \/&gt;\r\n    &lt;param name=\"my_float\" type=\"double\" value=\"3.14\" \/&gt;\r\n    &lt;param name=\"my_string\" type=\"str\" value=\"hello\" \/&gt;\r\n&lt;\/launch&gt;<\/pre>\n<p>Run this launch file:<\/p>\n<ul>\n<li>First make sure that you have run <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">catkin_make<\/code> so your environment knows that your package exists.<\/li>\n<li>Execute <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">roslaunch my_robot_tutorials example_rosparam.launch<\/code>.<\/li>\n<\/ul>\n<p>A ROS master has been started and all your params are loaded inside the Parameter Server. Now let&#8217;s use rosparam to understand and do some debugging!<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Find_all_the_params_rosparam_list\"><\/span>Find all the params (rosparam list)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>With <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">rosparam list<\/code> you can see the entire list of all params running in your Parameter Server.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-linenumbers=\"false\">$ rosparam list \r\n\/my_float\r\n\/my_integer\r\n\/my_string\r\n\/rosdistro\r\n\/roslaunch\/uris\/host_user_pc__41077\r\n\/rosversion\r\n\/run_id<\/pre>\n<p>We directly found the 3 params we previously set in the launch file!<\/p>\n<p>Note: with <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">rosparam list<\/code> you only see the parameters&#8217; name, not their value (we&#8217;ll get to that just below).<\/p>\n<p>Also, as you can guess, as your application grows, so do the number of parameters. It&#8217;s not uncommon to have hundreds of parameters, and in this case it becomes quite hard to find what you want. Pro tip: use <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">grep<\/code> to list only the params that match a specific string:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-linenumbers=\"false\">$ rosparam list | grep 'my_'\r\n\/my_float\r\n\/my_integer\r\n\/my_string<\/pre>\n<h2><span class=\"ez-toc-section\" id=\"Get_a_parameters_value_rosparam_get\"><\/span>Get a parameter&#8217;s value (rosparam get)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Now that you have the list of available parameters, simply run <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">rosparam get<\/code> followed by the name of a parameter, to get its value.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-linenumbers=\"false\">$ rosparam get \/my_float \r\n3.14<\/pre>\n<p>If the parameter you are looking for doesn&#8217;t exist, you&#8217;ll get this error:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-linenumbers=\"false\">$ rosparam get \/this_param_doesnt_exist\r\nERROR: Parameter [\/this_param_doesnt_exist] is not set<\/pre>\n<h2><span class=\"ez-toc-section\" id=\"Set_a_parameters_value_rosparam_set\"><\/span>Set a parameter&#8217;s value (rosparam set)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>With rosparam set, you can do 2 things: create a new parameter, or change the value of an existing one.<\/p>\n<p>Let&#8217;s create a few new parameters. Note: each param&#8217;s name will start with a leading slash &#8220;\/&#8221;, whether you manually add it or not, which means they are located in the &#8220;global&#8221; namespace.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-linenumbers=\"false\">$ rosparam set \/new_param_int 7\r\n$ rosparam set new_param_str \"Another string\"\r\n$ rosparam list | grep 'new_param'\r\n\/new_param_int\r\n\/new_param_str<\/pre>\n<p>Quite easy, right? The type (int, double, string, &#8230;) will be automatically set depending on the value you give.<\/p>\n<p>Now, let&#8217;s modify an existing parameter.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-linenumbers=\"false\">$ rosparam get \/my_float \r\n3.14\r\n$ rosparam set \/my_float 5.06\r\n$ rosparam get \/my_float \r\n5.06<\/pre>\n<p>The parameter &#8220;\/my_float&#8221; has now a new value.<\/p>\n<p><strong>Important note:<\/strong> If you have fetched a parameter inside a node, and you change the parameter&#8217;s value after that, then it doesn&#8217;t change the value inside the node! You either have to kill and restart the node, or use <a href=\"http:\/\/wiki.ros.org\/dynamic_reconfigure\" target=\"_blank\" rel=\"noopener\">dynamic_reconfigure<\/a>.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Delete_a_parameter_rosparam_delete\"><\/span>Delete a parameter (rosparam delete)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Finally, if you can create a parameter and change its value, you can also choose to delete it from the Parameter Server, using <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">rosparam delete<\/code>.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-linenumbers=\"false\">$ rosparam delete \/new_param_str\r\n$ rosparam get \/new_param_str\r\nERROR: Parameter [\/new_param_str] is not set<\/pre>\n<p>Again, if you delete a param that was previously used by a node in its setup phase, then the value inside the node stays the same. Only new nodes trying to fetch the parameter won&#8217;t be able to get it.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Using_namespaces_with_rosparam\"><\/span>Using namespaces with rosparam<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>As you may know, it&#8217;s quite useful to organize your nodes, params, services, and topics with namespaces.<\/p>\n<p>When you use no namespace, all parameters are set in the global namespace. If you want to use a specific namespace (or multiple ones), then you just need to add the namespaces in front of the parameter, each namespace separated by a slash &#8220;\/&#8221;.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-linenumbers=\"false\">$ rosparam set \/robot1\/camera1\/brightness 0.5\r\n$ rosparam set \/robot1\/battery\/milliamp 15000\r\n$ rosparam set \/robot2\/camera1\/brightness 0.8<\/pre>\n<p>Then it becomes easier for your nodes to get different params for different parts of your application.<\/p>\n<p>And again, don&#8217;t forget the power of <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">grep<\/code>:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-linenumbers=\"false\">$ rosparam list | grep '\/robot1'\r\n\/robot1\/battery\/milliamp\r\n\/robot1\/camera1\/brightness<\/pre>\n<h2><span class=\"ez-toc-section\" id=\"Going_further_with_rosparam_command_line_tool\"><\/span>Going further with rosparam command line tool<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">rosparam dump<\/code> and <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">rosparam load<\/code> commands will help you debug your parameters when <a href=\"https:\/\/roboticsbackend.com\/ros-param-yaml-format\/\">using YAML files for ROS params<\/a> &lt;&#8211; Check out this tutorial to know more about it.<\/p>\n<p>All in all, the <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">rosparam<\/code> command line tool is mostly used for debugging during development.<\/p>\n<p>In production code all your params will be either loaded from YAML files or be started in different launch files. Then, <a href=\"https:\/\/roboticsbackend.com\/get-set-ros-params-rospy-roscpp\/\">you&#8217;ll get the parameters directly inside your nodes using rospy and roscpp<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This tutorial is a practical guide on how to use rosparam command line tool to debug ROS Params. ROS params are really useful to launch your ROS application with different setup settings, without having to re-write and re-compile any part of your code. With the rosparam command line tool, you&#8217;ll be able to test your &#8230; <a title=\"ROS Param Command Line Tool &#8211; Practical Example (rosparam)\" class=\"read-more\" href=\"https:\/\/roboticsbackend.com\/ros-param-command-line-tool-practical-example-rosparam\/\" aria-label=\"Read more about ROS Param Command Line Tool &#8211; Practical Example (rosparam)\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-920","post","type-post","status-publish","format-standard","hentry","category-ros"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>ROS Param Command Line Tool - Practical Example (rosparam) - The Robotics Back-End<\/title>\n<meta name=\"description\" content=\"Debug ROS Params with rosparam command line tool. Get, set, delete parameters directly from your terminal, with this practical example.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/roboticsbackend.com\/ros-param-command-line-tool-practical-example-rosparam\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ROS Param Command Line Tool - Practical Example (rosparam) - The Robotics Back-End\" \/>\n<meta property=\"og:description\" content=\"Debug ROS Params with rosparam command line tool. Get, set, delete parameters directly from your terminal, with this practical example.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/roboticsbackend.com\/ros-param-command-line-tool-practical-example-rosparam\/\" \/>\n<meta property=\"og:site_name\" content=\"The Robotics Back-End\" \/>\n<meta property=\"article:published_time\" content=\"2019-10-07T15:18:30+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-09-28T20:23:22+00:00\" \/>\n<meta name=\"author\" content=\"ed\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@RoboticsBackend\" \/>\n<meta name=\"twitter:site\" content=\"@RoboticsBackend\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"ed\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/roboticsbackend.com\/ros-param-command-line-tool-practical-example-rosparam\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/roboticsbackend.com\/ros-param-command-line-tool-practical-example-rosparam\/\"},\"author\":{\"name\":\"ed\",\"@id\":\"https:\/\/roboticsbackend.com\/#\/schema\/person\/a20832f15e39847d8eea5be981767353\"},\"headline\":\"ROS Param Command Line Tool &#8211; Practical Example (rosparam)\",\"datePublished\":\"2019-10-07T15:18:30+00:00\",\"dateModified\":\"2021-09-28T20:23:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/roboticsbackend.com\/ros-param-command-line-tool-practical-example-rosparam\/\"},\"wordCount\":686,\"publisher\":{\"@id\":\"https:\/\/roboticsbackend.com\/#organization\"},\"articleSection\":[\"ROS Tutorials\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/roboticsbackend.com\/ros-param-command-line-tool-practical-example-rosparam\/\",\"url\":\"https:\/\/roboticsbackend.com\/ros-param-command-line-tool-practical-example-rosparam\/\",\"name\":\"ROS Param Command Line Tool - Practical Example (rosparam) - The Robotics Back-End\",\"isPartOf\":{\"@id\":\"https:\/\/roboticsbackend.com\/#website\"},\"datePublished\":\"2019-10-07T15:18:30+00:00\",\"dateModified\":\"2021-09-28T20:23:22+00:00\",\"description\":\"Debug ROS Params with rosparam command line tool. Get, set, delete parameters directly from your terminal, with this practical example.\",\"breadcrumb\":{\"@id\":\"https:\/\/roboticsbackend.com\/ros-param-command-line-tool-practical-example-rosparam\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/roboticsbackend.com\/ros-param-command-line-tool-practical-example-rosparam\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/roboticsbackend.com\/ros-param-command-line-tool-practical-example-rosparam\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/roboticsbackend.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ROS Param Command Line Tool &#8211; Practical Example (rosparam)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/roboticsbackend.com\/#website\",\"url\":\"https:\/\/roboticsbackend.com\/\",\"name\":\"The Robotics Back-End\",\"description\":\"Program Robots, Step by Step\",\"publisher\":{\"@id\":\"https:\/\/roboticsbackend.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/roboticsbackend.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/roboticsbackend.com\/#organization\",\"name\":\"Robotics Back-End\",\"url\":\"https:\/\/roboticsbackend.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/roboticsbackend.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/roboticsbackend.com\/wp-content\/uploads\/2020\/02\/logo_hd.png\",\"contentUrl\":\"https:\/\/roboticsbackend.com\/wp-content\/uploads\/2020\/02\/logo_hd.png\",\"width\":2500,\"height\":1875,\"caption\":\"Robotics Back-End\"},\"image\":{\"@id\":\"https:\/\/roboticsbackend.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/RoboticsBackend\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/roboticsbackend.com\/#\/schema\/person\/a20832f15e39847d8eea5be981767353\",\"name\":\"ed\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/roboticsbackend.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/7b666620f11fb12df5674e1e1ee525afe3d4ceecdaa57f8c60f6a937a33e3427?s=96&d=identicon&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/7b666620f11fb12df5674e1e1ee525afe3d4ceecdaa57f8c60f6a937a33e3427?s=96&d=identicon&r=g\",\"caption\":\"ed\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"ROS Param Command Line Tool - Practical Example (rosparam) - The Robotics Back-End","description":"Debug ROS Params with rosparam command line tool. Get, set, delete parameters directly from your terminal, with this practical example.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/roboticsbackend.com\/ros-param-command-line-tool-practical-example-rosparam\/","og_locale":"en_US","og_type":"article","og_title":"ROS Param Command Line Tool - Practical Example (rosparam) - The Robotics Back-End","og_description":"Debug ROS Params with rosparam command line tool. Get, set, delete parameters directly from your terminal, with this practical example.","og_url":"https:\/\/roboticsbackend.com\/ros-param-command-line-tool-practical-example-rosparam\/","og_site_name":"The Robotics Back-End","article_published_time":"2019-10-07T15:18:30+00:00","article_modified_time":"2021-09-28T20:23:22+00:00","author":"ed","twitter_card":"summary_large_image","twitter_creator":"@RoboticsBackend","twitter_site":"@RoboticsBackend","twitter_misc":{"Written by":"ed","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/roboticsbackend.com\/ros-param-command-line-tool-practical-example-rosparam\/#article","isPartOf":{"@id":"https:\/\/roboticsbackend.com\/ros-param-command-line-tool-practical-example-rosparam\/"},"author":{"name":"ed","@id":"https:\/\/roboticsbackend.com\/#\/schema\/person\/a20832f15e39847d8eea5be981767353"},"headline":"ROS Param Command Line Tool &#8211; Practical Example (rosparam)","datePublished":"2019-10-07T15:18:30+00:00","dateModified":"2021-09-28T20:23:22+00:00","mainEntityOfPage":{"@id":"https:\/\/roboticsbackend.com\/ros-param-command-line-tool-practical-example-rosparam\/"},"wordCount":686,"publisher":{"@id":"https:\/\/roboticsbackend.com\/#organization"},"articleSection":["ROS Tutorials"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/roboticsbackend.com\/ros-param-command-line-tool-practical-example-rosparam\/","url":"https:\/\/roboticsbackend.com\/ros-param-command-line-tool-practical-example-rosparam\/","name":"ROS Param Command Line Tool - Practical Example (rosparam) - The Robotics Back-End","isPartOf":{"@id":"https:\/\/roboticsbackend.com\/#website"},"datePublished":"2019-10-07T15:18:30+00:00","dateModified":"2021-09-28T20:23:22+00:00","description":"Debug ROS Params with rosparam command line tool. Get, set, delete parameters directly from your terminal, with this practical example.","breadcrumb":{"@id":"https:\/\/roboticsbackend.com\/ros-param-command-line-tool-practical-example-rosparam\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/roboticsbackend.com\/ros-param-command-line-tool-practical-example-rosparam\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/roboticsbackend.com\/ros-param-command-line-tool-practical-example-rosparam\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/roboticsbackend.com\/"},{"@type":"ListItem","position":2,"name":"ROS Param Command Line Tool &#8211; Practical Example (rosparam)"}]},{"@type":"WebSite","@id":"https:\/\/roboticsbackend.com\/#website","url":"https:\/\/roboticsbackend.com\/","name":"The Robotics Back-End","description":"Program Robots, Step by Step","publisher":{"@id":"https:\/\/roboticsbackend.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/roboticsbackend.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/roboticsbackend.com\/#organization","name":"Robotics Back-End","url":"https:\/\/roboticsbackend.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/roboticsbackend.com\/#\/schema\/logo\/image\/","url":"https:\/\/roboticsbackend.com\/wp-content\/uploads\/2020\/02\/logo_hd.png","contentUrl":"https:\/\/roboticsbackend.com\/wp-content\/uploads\/2020\/02\/logo_hd.png","width":2500,"height":1875,"caption":"Robotics Back-End"},"image":{"@id":"https:\/\/roboticsbackend.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/RoboticsBackend"]},{"@type":"Person","@id":"https:\/\/roboticsbackend.com\/#\/schema\/person\/a20832f15e39847d8eea5be981767353","name":"ed","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/roboticsbackend.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/7b666620f11fb12df5674e1e1ee525afe3d4ceecdaa57f8c60f6a937a33e3427?s=96&d=identicon&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/7b666620f11fb12df5674e1e1ee525afe3d4ceecdaa57f8c60f6a937a33e3427?s=96&d=identicon&r=g","caption":"ed"}}]}},"_links":{"self":[{"href":"https:\/\/roboticsbackend.com\/wp-json\/wp\/v2\/posts\/920","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/roboticsbackend.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/roboticsbackend.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/roboticsbackend.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/roboticsbackend.com\/wp-json\/wp\/v2\/comments?post=920"}],"version-history":[{"count":0,"href":"https:\/\/roboticsbackend.com\/wp-json\/wp\/v2\/posts\/920\/revisions"}],"wp:attachment":[{"href":"https:\/\/roboticsbackend.com\/wp-json\/wp\/v2\/media?parent=920"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/roboticsbackend.com\/wp-json\/wp\/v2\/categories?post=920"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/roboticsbackend.com\/wp-json\/wp\/v2\/tags?post=920"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}