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

Revision history [back]

  1. Yes, but not every robot has a microprocessor. Bigger/more complex robots typically only have a PC communicating directly with the motor drivers, sensors, ...
  2. Yes, ROS messages are for ROS, you need to translate this to whatever your actuators/sensors understand. For 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.
  3. Well, yes
  4. yes. but it needs information from the robot (sensor data, odometry, ...)
  5. Not necessarily. You have to interface the PC with the microcontroller. If the microcontroller has a defined interface, you could do anything on the PC, but probably you have to write the microcontroller interface to the PC as well.
  6. This is up to your hardware. Check how the microcontroller commands the robot, this is what you need to do in the end. How you send the data from ROS to your system is up to you.

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".

  1. Yes, but not every robot has a microprocessor. Bigger/more complex robots typically only have a PC communicating directly with the motor drivers, sensors, ...
  2. Yes, ROS messages are for ROS, you need to translate this to whatever your actuators/sensors understand. For 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.
  3. Well, yes
  4. yes. but it needs information from the robot (sensor data, odometry, ...)
  5. Not necessarily. You have to interface the PC with the microcontroller. If the microcontroller has a defined interface, you could do anything on the PC, but probably you have to write the microcontroller interface to the PC as well.
  6. This is up to your hardware. Check how the microcontroller commands the robot, this is what you need to do in the end. How you send the data from ROS to your system is up to you.

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.