Teleoperating the rover - robotique-udes/zeus_rover GitHub Wiki
To teleoperate the rover you will need to power and start the rover, boot the base station computer and to connect it to the base station antenna. Once everything is booted, you can confirm that the connection works by pinging the other devices on the network.
Once all of the rover's computers are booted, the base nodes will automatically start thanks to the preconfigured robot_upstart.
Steps to connect and teleoperate the rover
-
On the base station computer, start the base station nodes with
roslaunch zeus_control base_station.launch
You should now see all of the ROS nodes running on the network, including the ones on the rover
rosnode list
-
SSH into the rover's Jetson Xavier NX and execute the follwing command
roslaunch zeus_control control.launch
-
On the base station computer, plug in the gamepad and launch the teleop_gamepade launch file.
roslaunch zeus_control teleop_gamepad.launch
You should now be able able to control the rover.
Visualization
Three main tools are used to visualize the rover data: RViz, Mapviz and rqt_image_view
-
RViz
roslaunch zeus_viz
-
Mapviz
- (optional) start the mapproxy server to have access to Google Maps satelite images
cd ~/catkin_ws/src/zeus_rover/zeus_viz/src ./start_mapproxy.sh
- Launch Mapviz
roslaunch zeus_viz mapviz.launch
-
rqt_image_view
rqt_image_view
Troubleshooting
If the rover isn't responding to gamepad commands:
- Make sure you can ping the rover.
- Use
rostopic echo
to make sure the commands are reaching the rover. - Check the watchdog status to make sure it is working properly and that all topics it is monitoring are publishing at the correct rate.
- If messages published from a node running on the base station computer aren't being received by the rover computers, make sure you have followed the multimaster setup guide correctly. If the problem persists, try restarting every computer and try again.