Sequenced Control of the Robot Chassis
GTA Marking
This is an assessed Exercise. When you have completed the
Before Continuing
Before starting these exercises, you should ensure that you have completed all the
Introduction
In this final exercise, you will synthesize all hardware and software concepts covered in the Basic and Advanced modules into a unified, autonomous robot control sequence.
The following video demonstrates the integrated operational sequence and multi-sensor behaviour of the completed system:
Assessed Exercise
The sequence of action we expect you to demonstrate is:
- Starting with your robot places approximately 30cm from a target, (a kit box standing on its edge will suffice).
- When the button is pressed, wait for 1 second.
- Lower the lolly stick assembly to the horizontal position.
- Wait 1 second.
- Flash your LEDs 3 times, (on 500ms, off 500ms).
- Raise the lolly stick assembly to the vertical position.
- Wait 1 second.
- Move the robot forwards 15cm, using closed loop PI control and encoder feedback.
- Wait 1 second.
- Move the robot backwards 30cm, using closed loop PI control and encoder feedback.
- Wait 1 second.
- Move the robot forwards 30cm, using closed loop PI control and encoder feedback.
- Wait 1 second.
- Move the robot backwards 15cm, using closed loop PI control and encoder feedback.
- Wait 1 second.
- For the next 20 seconds, track the position of the target to 30cm separation, using closed loop PI control and IR sensor feedback.
- Flash your LEDs 3 times, (on 500ms, off 500ms).
- Stop and wait for a button press.
- When the button is pressed, wait for 1 second - repeat the sequence.
Exercise Assessment
What we expect to see from your demonstration?
- Demonstrate the the above sequence to the GTA
- Show your code to the GTA to demonstrate that you have implemented:
- Closed loop PI controllers for the IR sensor and encoder position control states
- A
switchstatement to achieve the state machine behaviour of the system - All timing using the millisecond tick timer,
milli(), i.e. your loop function must not containdelay()ordelayMicroseconds()functions.
Now Get Your Work Marked by a GTA
Once you have completed your code and are satisfied with its operation, you should show your work to a GTA for marking.