Progress
This week, upon realizing intrinsic issues in a python implementation of time-sensitive control, I ported all of the work I had completed over the course of the semester from Python into C. I was also able to research the hardware pwm capability on raspberry pis and switch to that from a software pwm implementation in python. First I tried to work with the wiringpi library in C. However, this library does not allow for both PWM channels to be used, so I switched to the BCM2835 C library, which exposes the peripherals of the BCM2835 chips to the user. Using the PWM peripheral and the hardware pwm pins, I ported the motor control and encoder control into c/c++. I then reimplemented steering, however, with a new schema that allowed for sharper turns. I also changed the way in which speed was calculated so that it was calculated independently of revolutions.
Schedule
I finished my tasks by the end of this week and am ready for integration.
Deliverables for next week
The project is expected to be essentially complete save for some tuning by next week.