In this assignment, you will create a PID controller to demonstrate your knowledge of controls. A ROS package, controls_hw, has been provided in the course folder of your repository. This package contains code to run vehicle dynamics code and display a graph of the results. You do NOT have to write your own code for dynamics or graphing. Your code needs to subscribe to the relevant topics provided by the dynamics node and publish a control signal to the dynamics node.
The controller is expected to stop a simulated vehicle (think of it as a fairly large truck) that starts at 20 m/s within 30m and 15 seconds. After 15 seconds, the desired position will change to 60 meters (think of a truck stopped at a stop sign, then moving to the next stop sign) within the next 15 seconds. Note that this is slightly different from the lecture examples but the same basic problem. To do this:
The ROS package, controls_hw, has been provided for you in the class template repo in the EECE5560 folder. You should not need to modify this package. The package contains:
Complete the qualtrics survey with answers to the questions.
Turn in to Blackboard the graph generated by your code (screenshot is ok) (4 points) and your code from Qualtrics.
8 points: Submission details
8 points: Answers to questions
4 points: PID controller package and launch file
10 points: PID controller node
5 points: accuracy – overshoot less than 1m and stops within 2m of 30m mark in 15 seconds
5 points: accuracy – overshoot less than 1m and stops within 2m of 60m mark in 30 seconds