background preloader

ROS Documentation

Facebook Twitter

Dynamic_reconfigure/Tutorials. Dynamic_reconfigure/Tutorials/HowToWriteYourFirstCfgFile. To begin lets create a package called dynamic_tutorials which depends on rospy, roscpp and dynamic_reconfigure. catkin_create_pkg dynamic_tutorials rospy roscpp dynamic_reconfigure Now in your package create a cfg directory, this is where all cfg files live: mkdir cfg Lastly you will need to create a cfg file, for this example we'll call it Tutorials.cfg, and open it in your favorite editor.

dynamic_reconfigure/Tutorials/HowToWriteYourFirstCfgFile

Add the following to your cfg file: Toggle line numbers Now lets break the code down line by line. This first lines are pretty simple, they just initialize ros and import the parameter generator. Error: No code_block found Now that we have a generator we can start to define parameters. Name - a string which specifies the name under which this parameter should be stored type - defines the type of value stored, and can be any of int_t, double_t, str_t, or bool_t level - A bitmask which will later be passed to the dynamic reconfigure callback. Map_server. Electric: Documentation generated on March 01, 2013 at 04:09 PMfuerte: Documentation generated on December 28, 2013 at 05:13 PMgroovy: Documentation generated on April 14, 2014 at 10:36 AM (job status).hydro: Documentation generated on April 12, 2014 at 02:22 PM (job status).indigo: Cannot load information on name: map_server, distro: indigo, which means that it is not yet in our index.

map_server

Please see this page for information on how to submit your repository to our index. Cannot load information on name: map_server, distro: indigo, which means that it is not yet in our index. Please see this page for information on how to submit your repository to our index. Map format Maps manipulated by the tools in this package are stored in a pair of files. Image format The image describes the occupancy state of each cell of the world in the color of the corresponding pixel. Image data is read in via SDL_Image; supported formats vary, depending on what SDL_Image provides on a specific platform. ROS-Users - Different maps for navigation and path planning.

Rviz/Tutorials/Interactive Markers: Writing a Simple Interactive Marker Server. New in Electric Description: This tutorial explains how to setup a minimalist server which manages a single interactive marker.

rviz/Tutorials/Interactive Markers: Writing a Simple Interactive Marker Server

Tutorial Level: BEGINNER Next Tutorial: Interactive Markers: Basic Controls If you run the simple_marker example from interactive_marker_tutorials as described in the previous tutorial, you will see this in RViz: It shows the single interactive marker provided by the server node. This is the code of the server node: Toggle line numbers What this does is the following: Define a function processFeedback which handles feedback messages from RViz by printing out the position.

Note that when calling insert, the server object will internally only push the new marker onto a waiting list. That's all there is. ROS Commands - irlab. This is a temporary page which is intended to store relevant things regarding communicating with both simulated robots in Player/Stage, and actual robots (once we get round to that).

ROS Commands - irlab

Passing commands to a robot simulated in Stage First, it is necessary to run start up roscore (just type roscore into the terminal), and then run stage with the following command. $ roscd stage $ . /bin/stageros world/willow-erratic.world This should start up an instance of Stage with a default world provided by ROS. . $ rostopic pub /cmd_vel geometry_msgs/Twist '[1.0,0.0,0.0]' '[0.0,0.0,0.0]' To make the robot turn, publish something like the following. YAMLCommandLine. Several ROS tools (rostopic, rosservice) use the YAML markup language on the command line.

YAMLCommandLine

YAML was chosen as, in most cases, it offers a very simple, nearly markup-less solution to typing in typed parameters. For a quick overview of YAML, please see YAML Overview. Representing Messages in YAML ROS Messages can be represented either as a YAML list or dictionary. If represented as a list, the arguments are filled in-order and must align 1-to-1 with the fields of the message. List vs. dictionary ambiguities: the command-line arguments that you type at the console, by default, are represented as a list. Articulation_tutorials. Navigation/Tutorials/RobotSetup/TF. Setting up your robot using tf Description: This tutorial provides a guide to set up your robot to start using tf.

navigation/Tutorials/RobotSetup/TF

Tutorial Level: BEGINNER Next Tutorial: Learn how to have the robot state publisher do all the tf publishing for you: using the robot state publisher on your own robot Transform Configuration Many ROS packages require the transform tree of a robot to be published using the tf software library. At this point, let's assume that we have some data from the laser in the form of distances from the laser's center point. In defining this relationship, assume we know that the laser is mounted 10cm forward and 20cm above the center point of the mobile base. We could choose to manage this relationship ourselves, meaning storing and applying the appropriate translations between the frames when necessary, but this becomes a real pain as the number of coordinate frames increase.

Writing Code Hopefully, the above example helped to understand tf on a conceptual level. Documentation. Tutorials. Tutorials.