Deprecated Repository
This repository is deprecated. Currently enrolled learners, if any, can:
- Utilize the https://knowledge.udacity.com/ forum to seek help on content-specific issues.
- Submit a support ticket if (learners are) blocked due to other reasons.
RoboND-Control_Rover
A C++ program designed to accept user inputs and issue commands to the rover inside a simulator over a TCP/IP socket.
Rover Simulator
Before you compile and run this program, download the rover simulator for Windows or MacOS. Optionally you can download it for Linux, note that this version will only work with native Ubuntu!
Running the C++ Program
You should consider compiling and executing this program inside an Ubuntu virtual machine! Before doing so, edit your VMWare or VMFusion network settings and make sure you are connected to the NAT network.
Navigate to a working directory and clone the repository
$ cd Desktop
$ git clone https://github.com/udacity/RoboND-Control_Rover.git
$ cd ~/Desktop/RoboND-Control_Rover
Now, compile the code
$ mkdir build
$ cd src/
$ g++ main.cpp -o ../build/app
Before your run the program, take note of the IP address of your virtual machine
$ ifconfig
Finally, run the program
$ ../build/app
Running the Rover Simulator
- Leave your virtual machine and run the simulator inside Windows or MacOS.
- Then, select your graphics settings and enter the IP address of your Ubuntu VM noted earlier!
- Select the Autonomous mode designed to accept TCP Communication.
Controlling the Rover
Refer to this table and control your robot with keyboard commands through the Ubuntu terminal!
Command | Description |
---|---|
w |
Forward |
s |
Backward |
a |
Left |
d |
Right |
b |
Brake |
p |
Pickup Ball |