After launching the ROS driver, we can teleop the robot using keyboard teleop. We can use the following command to start keyboard teleoperation:
$ roslaunch chefbot_bringup keyboard_teleop.launch
If we want to map the robot environment, we can start the gmapping launch file like we did in the simulation:
$ roslaunch chefbot_bringup gmapping_demo.launch
You can visualize the map building in Rviz using the following command:
$ roslaunch chefbot_bringup view_navigation.launch
You can build the map by teleoperating the robot around the room. After mapping, save the map as we did in the simulation:
$ rosrun map_server map_saver -f ~/test_map
After getting the map, launch AMCL nodes to perform final navigation. You have to restart all the launch files and start again.
Let's look at the commands to launch the AMCL nodes.
First, start the ROS driver nodes using the following command:
$ roslaunch chefbot_bringup robot_standalone.launch
Now start the AMCL nodes:
$ roslaunch chefbot_bringup amcl_demo.launch map_file:=~/test_map.yaml
Then start Rviz to command the robot on the map:
$ roslaunch chefbot_bringup view_navigation.launch
You will see Rviz showing something like the following screenshot, in which you can command the robot and the robot can run autonomously:
The following diagram shows the actual robot hardware. As per our design, we can see circular plate and hollow tubes to add additional layers to the robot. You can also see the Intel NUC and Kinect camera for robot navigation: