A C++ program designed to accept user inputs and issue commands to the rover inside a simulator over a TCP/IP socket
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is even with udacity:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
images
src
LICENSE
README.md

README.md

Udacity - Robotics NanoDegree Program

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

  1. Leave your virtual machine and run the simulator inside Windows or MacOS.
  2. Then, select your graphics settings and enter the IP address of your Ubuntu VM noted earlier!
  3. 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

Output

alt text