ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
Basically, the number of nodes you have to implement depends on what you want to do with your robot. In your case, I would at least implement the following nodes:
A driver for the robot's base. It should subscribe to the topic /cmd_vel of type geometry_msgs/Twist. Whenever it receives commands on that topic, it should move accordingly. Don't forget to add a watchdog to stop the robot when it doesn't receive messages for, say, 0.5 seconds :)
I would definitely create a URDF file. It's not that much work and as benefits, you get nice visualization in rviz and maybe even simulation using gazebo. And you get the static transforms in your TF tree published by the robot_state_publisher for free if your robot has any sensors.
As I understand it, you are localizing your robot globally using something like a camera. While the robot_state_publisher publishes the transforms in your robot, your localization algorithm should be a second TF publisher that only publishes a transform such as /world -> /base_link
2 | No.2 Revision |
Basically, the number of nodes you have to implement depends on what you want to do with your robot. In your case, I would at least implement the following nodes:
A driver for the robot's base. It should subscribe to the topic /cmd_vel of type geometry_msgs/Twist. Whenever it receives commands on that topic, it should move accordingly. Don't forget to add a watchdog to stop the robot when it doesn't receive messages for, say, 0.5 seconds :):) This will allow you to use ROS for teleoperating your robot and for using move_base. However, move_base works best if you have a 3D sensor on your robot that can be used for obstacle detection and avoidance.
I would definitely create a URDF file. It's not that much work and as benefits, you get nice visualization in rviz and maybe even simulation using gazebo. And you get the static transforms in your TF tree published by the robot_state_publisher for free if your robot has any sensors.sensors. Creating a URDF file for simple robots is not much work (maybe around 1 or 2 hours) and it's definitely worth it.
As I understand it, you are localizing your robot globally using something like a camera. While the robot_state_publisher publishes the transforms in your robot, your localization algorithm should be a second TF publisher that only publishes a transform such as /world -> /base_link