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

Revision history [back]

There are multiple ways to make your vehicle ROS/ROS2 compatible. You don't necessarily need to use ros2_control to get an autonomous vehicle working. I would suggest following steps towards reaching a fully autonomous vehicle -

  1. Make sure you can operate the vehicle with ROS2 velocity commands (geometry_msgs/Twist). This will involve writing some ROS2 driver on top of a serial/CANbus/Modbus/other interface
  2. See if you can get wheel Odometry out of the vehicle, at this point you can verify how good the vehicle is at tracking the velocities sent in step 1
  3. What accuracy do you need for your application? As per that you can make decision about using a 3D-LiDAR/Camera or just GPS+IMU (and some safety related sensors of course)
  4. Depending on previous steps, setup appropriate transformations (TF2) as per nav2 requirements.
  5. Would be good to have all this validated with nav2 in a simple Gazebo/Iginition simulation
  6. If everything works, just put it on the robot and it should be good to go (several hours of troubleshooting later)

If it is just a point to point navigation without obstacle avoidance or LiDAR based localization, you don't necessarily even need nav2. Neither ros2 control, or nav2 are necessary for having a ROS2 powered autonomous robot. Hope it helps.