Oculus Prime - ROS Tutorial: Navigation Using Rviz
The web browser interface allows you to view the map and send navigation goals from anywhere, without having ROS installed on the remote machine. However, if you have ROS installed on a workstation on the same LAN as the robot, you can monitor navigation the ‘traditional ROS way’ – using Rviz.
First, make sure the Oculusprime Server Application is running on the robot (if it isn’t already), with telnet enabled, and make sure you have ROS networking set up.
Then, ssh
into the robot and enter:
$ roslaunch oculusprime globalpath_follow.launch
Now switch to your workstation and enter:
$ rosrun rviz rviz -d `rospack find oculusprime`/dwa_nav.rviz
If everything started up OK, your Rviz window should be showing something like this:
Even if the robot is already in the correct pose on the map, the widely spread mass of green arrows indicates that AMCL doesn’t have a great fix on where it is yet. If the robot is docked, you’re now going to need to use the web-browser client driving controls, to un-dock and move into a relatively open space.
Now, using the ‘2D Pose Estimate’ tool in Rviz, place an arrow in the approximate position and direction (pose) where the robot is on the map. The robot should react by doing a full circle in place, and the pose array should be a much more tightly packed cloud of green arrows.
Then, you can set a destination pose using the ‘2D Nav Goal’ tool in Rviz. Place the arrow on the map where you want the robot to go, and it should proceed to navigate there. The image below shows the robot proceeding to a goal (represented by a large green arrow) following the generated global path (thin green line).