In this project a RRT* path planning and minimum snap trajectory generation (motion planning) stack is implemented for the 3D navigation of a DJI Tello Edu quadcopter in simulation (in blender) and is then tested on real quadcopter via NVIDIA Jetson Orin Nano. Additionally a cascaded PID controller gains for position and velocity control are tuned to follow the generated trajectory. (Check the full problem statements here project2a and project2b)
- This code is tested on Ubuntu 20.04 system
- Install Numpy, Scipy, Matplotlib, blender python, pyquaternion, djitellopy libraries before running the code.
- To run the simulation:
- open the
main.blend
file in blender - Go to compositing and set appropriate path to
outputs
folder - Go to scripting tab and load the
main.py
file - In
main.py
choose a map from the given set of four sample maps and uncomment the code accordingly to set start and goal locations for each map. - Run the script in blender.
- Once the script is run press
spacebar
to run the simulation in layout tab.
- open the
- To run on real quadcopter
- Set up the tello drone and orin nano
- On orin nano clone this repository
- Copy the trajectory csv file generated in the previous simulation from
sample_traj
folder tosrc
folder - Open the
tello_run.py
file and set the appropriate trajectory file name. - Connect to the network of the tello drone and run in
src
folder the following command:python3 tello_run.py
For detailed description see the report here.
On sample maps in blender:
Watch the full simulation for sample map 1 here.
Watch the full simulation for sample map 3 here.
Watch the full blender simulation for Real map 1 here and a test run on the real tello drone here (link1 and link2).
Testing on the real quadcopter:
- Richter, Charles, Adam Bry, and Nicholas Roy. "Polynomial trajectory planning for aggressive quadrotor flight in dense indoor environments." Robotics Research: The 16th International Symposium ISRR. Springer International Publishing, 2016.
Chaitanya Sriram Gaddipati - [email protected]
Shiva Surya Lolla - [email protected]
Ankit Talele - [email protected]