ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

List of standardized topics for navigation using custom robot

asked 2022-01-03 03:22:48 -0600

PeterB gravatar image

I'm building a custom robot that I eventually want to integrate in the ROS navigation/SLAM stack.

From what I understand, if I make sure it obeys to a certain set of guidelines, this should be pretty transparent. If it subscribes and publishes the right topics, things should "just" work.

I have found this page:

But it seems to lack a bit of detail for me (ROS beginner).

For instance, the controller should listen to cmd_vel, which is fine. But what kind of values can I expect on that topic? Do the velocities range between 0 and 1 or something else?

Similar for sensors. I can find information for a laser ( but aren't there other sensors supported (encoder, gyro/accelerometer)?

The ideal reference I'm looking for is a list of supported topics and the contents of the messages that is expected on those topics. But I can't seem to locate this.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2022-01-03 10:05:20 -0600

Airuno2L gravatar image

One of the easiest things is to use the rosmsg command. Or, if you don't know the type of a topic is, you can use the rosmsg command along with the rostopic command as mentioned in that link:

rostopic type topic_name | rosmsg show

Also, if you know the type, you can probably look it up in the common_msgs documentation. For example, /cmd_vel is a twist message (if you didn't know that you could use rostopic type cmd_vel) and twist can be found in geometry_msgs

edit flag offensive delete link more


Thanks for the reply, I will try to figure it out that way. Still it's a bit unclear. The twist message has two vectors, but what do the numbers mean? If cmd_vel.linear.x is 1. Does this mean the robot is expected to move 1 unit? Does it have to start driving with a speed of 1 unit? And cmd_vel.angular, are these degrees? radians?

PeterB gravatar image PeterB  ( 2022-01-04 01:33:11 -0600 )edit

So to answer my own comment. After some more Google-ing, it looks like my best bet is to set up a simulation with a commonly known robot (eg turtlebot) and monitor the messages to see how that robots interprets the different messages and what he sends back.

PeterB gravatar image PeterB  ( 2022-01-04 01:35:31 -0600 )edit

ROS uses SI units so the linear velocity is meters per second and the angular velocity is radians per second. A little more information can be found here:

Airuno2L gravatar image Airuno2L  ( 2022-01-04 06:49:40 -0600 )edit

Questions around the "units used in Twist" have come up a few times: #q55977, #q212296, #q222846 and #q248465, to link a couple.

gvdhoorn gravatar image gvdhoorn  ( 2022-01-04 07:08:42 -0600 )edit

Thanks, that clears up at least the cmd_vel. I will start by making the robot move. By the time I fully understand that, I suspect the sensors will be a bit clearer too.

PeterB gravatar image PeterB  ( 2022-01-04 08:09:12 -0600 )edit

Question Tools



Asked: 2022-01-03 03:22:48 -0600

Seen: 72 times

Last updated: Jan 03 '22