Lab 12: Planning and Execution
Motivation The purpose of this lab was to program the robot to navigate through a series of waypoints in a pre-defined environment, or world. This lab builds on previous work and is the culmination...
Motivation The purpose of this lab was to program the robot to navigate through a series of waypoints in a pre-defined environment, or world. This lab builds on previous work and is the culmination...
Prelab Testing In this lab, I performed real localization using the Bayes filter. The filter was provided to me in the lab code, so I did not need to implement it myself. I used the same robot cod...
Compute Control A pose is a numpy array with elements [x, y, yaw]. The compute_control() function takes the current pose and the previous pose to calculate an pre-travel rotation (delta_rot_1), tr...
Orientation Control I chose orientation control because it was the offered a good balance between reliability and ease-of-implementation. To ensure yaw measurement accuracy, I used the onboard DMP...
Objective The goal of this lab is to program the robot to perform one of two stunts: a flip or a drift. I fear that the flip stunt will require making changes to the robot’s weight distribution, so...
In this lab, I will implement a Kalman filter to enhance the performance of the robot while approaching walls. A Kalman filter has two stages, prediction and correction. In the prediction stage, it...
This lab focuses on achieving stationary orientation control using a PID controller. When the orientation of the robot is perturbed, the wheels should spin in opposite directions at the same speed ...
Prelab Bluetooth and Debugging Setup Using the code from lab 3 as a starting point, I created new commands for PID control. First, I created a START_PID command. This command modifies global PID ...
Prelab Artemis Pins To choose pins for control on the Artemis, I considered pin functionality and physical placement on the board. Using the pin functionality datasheet, I selected four pins that ...
Prelab According to the datasheet, the I2C connection goes up to 400 kHz with fast mode. The I2C address is 0x52 by default, but can be set programmatically. Using Multiple ToF Sensors Since the ...