ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
The RobotSetup navigation tutorial (http://wiki.ros.org/navigation/Tutorials/RobotSetup) is a good place to start. In particular, the diagram in section 1 of that page shows the relationship between the navigation planners (the box in the middle) and the controller that will set the speeds of the four wheels.
The output of the local planner is a geometry_msgs/Twist
message on the /cmd_vel
topic (by default). The controller – which you need to supply – has to convert from the linear x velocity and the angular z velocity to wheel speeds for the four motors. You don't specify much about the hardware, so I don't know which direction to point you. There are packages in ROS such as ros_control
that are configurable to talk to different hardware. On my robot there is an Arduino-compatible board that controls the motors for a differential-drive robot, so I'm using instead the ros_arduino_bridge
package as the controller. (Other options for my case include rosserial_arduino
.)
Once you have a controller in place that listens on the /cmd_vel
topic, you can send those messages either using rostopic pub
or using a panel in rviz
.
2 | No.2 Revision |
The RobotSetup navigation tutorial (http://wiki.ros.org/navigation/Tutorials/RobotSetup) is a good place to start. In particular, the diagram in section 1 of that page shows the relationship between the navigation planners (the box in the middle) and the controller that will set the speeds of the four wheels.
The output of the local planner is a geometry_msgs/Twist
message on the /cmd_vel
topic (by default). The controller – which you need to supply – has to convert from the linear x velocity and the angular z velocity to wheel speeds for the four motors. You don't specify much about the hardware, so I don't know which direction to point you. There are packages in ROS such as ros_control
that are configurable to talk to different hardware. On my robot there is an Arduino-compatible board that controls the motors for a differential-drive robot, so I'm using instead the ros_arduino_bridge
package as the controller. (Other options for my case include rosserial_arduino
.)
Once you have a controller in place that listens on the /cmd_vel
topic, you can send those messages either using rostopic pub
or using a panel in rviz
. After you get the controller working you will then need to set up the planners, probably using move_base
.