The S.A.G.A.R. (Semi-Autonomous GPS Assisted Rover) remote control program is a user interface between the operator and the machine. It displays the message from the robots microcontroller (MCU), as well as sends commands to the robot. The incoming message from the robot to the user is displayed in the original NMEA (National Marine Electronics Association) format; then the string is parsed and displayed in a user friendly interface. The user is able to press buttons to directly command the robot, or load mission files with GPS waypoints. Operator commands are read by the user interface and transmitted back to the robot as NMEA sentences.
The design process consisted of defining the communications protocol, designing a user friendly interface, as well as translating and creating NMEA sentences.
Operator Display: Provides information about the status of the robot, such as voltage and current left in the battery, orientation of the robot, speed, etc.
Course / Bearing: Displays the current direction of the robot, the direction the user wants the robot to go, and the direction the robot deviates to get to the requested direction.
3-D Image: Displays the pitch and roll of the robot.
Mission Mode: The user can upload a mission file containing waypoints or load a mission from memory to give the robot a path to follow.
Drive by Control: Allows the user to command the robot by pressing the forward button, the right button, the stop button, and so on.
Google Earth: Google Earth displays the current position of the robot on a geographical map. As the robot navigates through the waypoints, the same can be observed in the Google Earth map.
Performing this project was fun. It demonstrated how easy it is to control a robot from a remote device. I learned that LabVIEW is a very easy programming tool, instead of using complicated code, it uses blocks and wires. For a demonstration of the program, please see the video below.