ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
cmd_vel
you typically have a base driver which translates the velocity of the robot base link to motor commands and sends those to the motor drives. This could be a message to a microprocessor which then sets the motor velocities or a CAN message going to a motor drive over CAN bus.There cannot be a step for step explanation for how to do this, because this depends on the HW. If you can control the robot to your liking from a self-written program on the microcontroller, you can write the rest yourself. But ROS is not just: "Plug in any roboter and they magically understand ROS".
2 | No.2 Revision |
cmd_vel
you typically have a base driver which translates the velocity of the robot base link to motor commands and sends those to the motor drives. This could be a message to a microprocessor which then sets the motor velocities or a CAN message going to a motor drive over CAN bus.There cannot be a step for step explanation for how to do this, because this depends on the HW. If you can control the robot to your liking from a self-written program on the microcontroller, you can write the rest yourself. But ROS is not just: "Plug in any roboter and they magically understand ROS".
EDIT
The answer to all your questions below is actually the same:
Any sensor or actuator provides an interface specification how to retrieve the data from it. What you need to do is to write a ROS driver for this HW, that adheres to the interface specification of the sensor/actuator and then "translates" this in the respective ROS message type.
The same basically holds for a micro controller, however, there you might have the chance to decide on the interface specification yourself.