Summary
In this chapter, we mainly covered interfacing a DIY autonomous mobile robot to ROS and navigation package. We saw an introduction of this robot and the necessary components and connection diagrams of the same. We saw the robot firmware and how to flash it into the real robot. After flashing the firmware, we learned how to interface it to ROS and saw the Python nodes for interfacing the LaunchPad controller in the robot and the nodes for converting twist
message to motor velocities and encoder ticks to odom and tf
.
After discussing the interconnection of the Chefbot nodes, we covered the C++ port of some important nodes for odometry calculation and the base controller node. After discussing these nodes, we saw detailed configurations of the ROS Navigation stack. We also did gmapping
. AMCL and came into detail description of each options in RViz for working with Navigation stack. We also covered the obstacle avoidance using the Navigation stack and worked with Chefbot simulation....