Path planning for a point robot using Rapidly Exploring Random Trees (RRT) on a known 2D space. The algorithm returns coordinate points in the path, which when interfaced with a simple position control system can be used to drive a robot in the planned path.
RRTs are kinodynamic planners that can be used to calculate the trajectory of a robot in real time. Given that the algorithm uses incremental motions, it can be used in Collision detection. The RRT algorithm can be used to produce good guesses for variational optimization techniques.
Cmake Google Test GNU Plot
Pair programming is an agile software development technique in which two programmers work together at one workstation. One, the driver, writes code while the other, the observer or navigator, reviews each line of code as it is typed in. The two programmers switch roles frequently.. You can view the product backlog and development process in this SPREADSHEET
Bala Murali Manoghar (Driver) Akshay Rajaraman (Navigator)
Bala Murali Manoghar (Navigator) Akshay Rajaraman (Driver)
In the image above, The start point is represented by S and the end point is represented by E. The obstacle location is represented by 'X' symbol and the boundary of the robot's workspace is defined by '+' symbols.
git clone --recursive https://github.com/bsaisudh/CPP-RRT.git
cd <path to repository>
mkdir build
cd build
cmake ..
make
Run tests: ./test/cpp-test
Run program: ./app/shell-app
sudo apt-get install lcov
cmake -D COVERAGE=ON -D CMAKE_BUILD_TYPE=Debug ../
make
make code_coverage
This generates a index.html page in the build/coverage sub-directory that can be viewed locally in a web browser.
In your Eclipse workspace directory (or create a new one), checkout the repo (and submodules)
mkdir -p ~/workspace
cd ~/workspace
git clone --recursive https://github.com/bsaisudh/CPP-RRT.git
for running the GMock tests run:
git clone -b GMock_Extra_Credit_Akshay --recursive https://github.com/bsaisudh/CPP-RRT.git
In your work directory, use cmake to create an Eclipse project for an [out-of-source build] of CPP-RRT
cd ~/workspace
mkdir -p RRT-eclipse
cd RRT-eclipse
cmake -G "Eclipse CDT4 - Unix Makefiles" -D CMAKE_BUILD_TYPE=Debug -D CMAKE_ECLIPSE_VERSION=4.7.0 -D CMAKE_CXX_COMPILER_ARG1=-std=c++14 ../CPP-RRT/
Open Eclipse, go to File -> Import -> General -> Existing Projects into Workspace -> Select "boilerplate-eclipse" directory created previously as root directory -> Finish
Source files may be edited under the "[Source Directory]" label in the Project Explorer.
To build the project, in Eclipse, unfold RRT-eclipse project in Project Explorer, unfold Build Targets, double click on "all" to build all projects.
-
In Eclipse, right click on the boilerplate-eclipse in Project Explorer, select Run As -> Local C/C++ Application
-
Choose the binaries to run (e.g. shell-app, cpp-test for unit testing)