Author: Gareth Nisbet
T-Bot Simulation using Python and Blender
Comparison between a T-Bot simulation using Python and Blender and footage from a real T-Bot. There is room for improvement in terms of lighting and texturing, but the simulation is spot on.
Printable Battle Gear
Gladiator style armour for your T-Bot is now available for you to download and print on Thingyverse.
T-Bot self driving using a webcam.
You can use your webcam to control your T-Bot using Python, OpenCV and PyGame. You can find the code here. Let me know if you would like a video tutorial for this.
T-Bot Simulator with Tuning Slide Bars
As usual, you can find the code in the Simulators folder. You will also need TBotTools.
Interactive Pendulum Simulator
The pendulum simulator has been created to accompany a coming series of video tutorials entitled ‘How to Balance a Robot’. The series will cover the following:
- Modelling and Simulating a pendulum using PyGame
- Modelling and simulating a self balancing robot using Pygame
- Build your own PID controller for dynamically stabilising an inverted pendulum
- Dynamically stabilising a real system, namely the T-Bot
You can find the code for the pendulum here.
Here is a version of the simulator for those of you who don’t have a joystick. The more experienced of you might already have noticed from the plot that the derivative gain is too high. You can find the code here.
The T-Bot simulator allows you to stabilise the T-Bot manually or use a cascading PID controller. The program allows you to develop an intuitive understanding of the stabilisation process and tuning of a balancing robot.
The macro plotter allows you to display a plot built from the recorded macro commands. This is very useful for exploring open loop control. You can run the T-Bot over a known route and compare the plot to the actual path taken. The rotation rate and speed factor on the slider bars are used to compensate for the real turning rate and speed of the T-Bot. The control values received by the robot are integers ranging from 100 to 300 with 300 corresponding to a maximum speed in one direction and 100 corresponding to a maximum speed in the opposite direction. The speeds are going to be effected by several factors such as trim, surface, slope, tuning, calibration etc.
Macro recording has been added to the joystick bridge controller. This provides an excellent demonstration of open loop control. You can find it here.