The challenge is to set the best lap time. You will need a Raspberry Pi or PC with Bluetooth capability, a tape measure, a webcam, and a T-Bot. Adjust your camera so the ends of the superimposed sine function are 1 m apart. Now, develop the best controls strategy to give the best time. The code used for the video can be found here.
A simple keyboard controller for the T-Bot.
I have used deque to create a rolling plot. This is very helpful for tuning your T-Bot.
You can use CombinationFilter.py to experiment with the two filters.
The Joystick Bridge has been updated. More instructions have been added to the instructions page for PS3 and PS4 controllers.
Here is a prototype of a magnetic FPV camera hat for the T-Bot. The T-Bot is being controlled using the Python Joystick bridge. OpenCV is being used to pull in the video stream and transform the frames to a birds eye view. All of this is being done on the Raspberry Pi 4 at 30 FPS.
You can now use low cost wireless controllers or PS3 / PS4 controllers to control your T-Bot. The python code makes use of Pybluez and Pygame. On Linux. You can modify the code to use pyserial for Windows or Mac (see https://github.com/garethnisbet/T-BOTS/blob/master/Joystick/joystick_Mac.py).
The three point turns have not been coded specifically. They occur naturally out of the control algorithm.
I added a function generator to help with the machine control tuning (not the T-Bot tuning).
You can find it here.