Project: Velocity Control

In this project you will write and tune a PID controller for controlling the planar (forward-backward, left-right) velocity of the drone. We will use the Pi Camera to estimate the velocity and then send roll and pitch commands to the drone to control velocity.

Additionally, you will explore the sensor suite for the drone and we will also ask you to fly in a new location and document your experience.


Generate your github repo

Use this link to generate your github repo. Clone it to your drone and your basestation. Your drone needs to be connected to the internet (through RLAB or some other network) to do this.

Cloning to your drone

cd ~/ws/src
git clone https://github.com/h2r/velocity-yourGithubName.git p3_pkg
cd ~/ws
catkin_make --pkg p3_pkg

Cloning elsewhere

git clone https://github.com/h2r/velocity-yourGithubName.git p3_pkg

This will create a new folder.

Handin

When you submit your assignment, your folder should contain the following files (that you modified or created) in addition to all of the other files that came with your repo.

  • scripts/student_PID_class.py
  • scripts/pid_terms.yaml
  • scripts/student_infrared_pub.py
  • scripts/student_flow_class.py
  • velocity.pdf
  • README.md

Commit and push your changes before the assignemt is due. This will allow us to access the files you pushed to Github and grade them accordingly. If you commit and push after the assignment deadline, we will use your latest commit as your final submission, and you will be marked late.

cd p3_pkg
git add -A
git commit -a -m 'some commit message. maybe handin, maybe update'
git push

Note that assignments will be graded anonymously, so please don’t put your name or any other identifying information on the files you hand in.