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

Revision history [back]

click to hide/show revision 1
initial version

Basically you need to implement an algorithm for robot control. It could be an open-loop controller, where you command your robot to turn for a certain amount of time and then stop the motion, this will not be precise, but if error is not an issue it will certainly be the easiest way of implementing what you described. All you need in that case is a publisher for applying control signals (velocity commands) and logic for generating the stop command based on a timer.

A better way of doing it is with closed loop (feedback) control.
If you have a way to input your goal you will need at least the following three components:

  • A publisher for applying control signals (velocity commands)
  • A subscriber for measuring the results (the robot's odometry)
  • Logic for comparing the results with the goal and generate new control signals if required

As a start you can take a look at this video:

[ROS Q&A] 053 - How to Move a Robot to a Certain Point Using Twist