Plotly’s Python graphing library makes interactive, publication-quality graphs online. Jason K. Moore is a postdoctoral researcher at the Cleveland State University. He has posted a Plotly notebook which explores robotic bicycle control.
This notebook demonstrates one way to design a controller for a linear model of a bicycle. The controller shown is probably the simplest controller for tracking heading and the gains can certainly be tuned for different performance metrics. I made use of the Python Control library and the root locus design tool to find two suitable gains for the sequential dual-loop controller. Finally, simulation of the closed loop system gave very clear demonstration of the inherent need for countersteering to effectively control the vehicle.
Working on these models is very tricky mathematically as we’ve talked about in previous posts on the Adafruit blog. Jason does a great job breaking things down mathematically.
Have you done advanced robotics? Let us know about your projects on in the comments below.
Make a robot friend with Adafruit’s CRICKIT – A Creative Robotics & Interactive Construction Kit. It’s an add-on to our popular Circuit Playground Express, FEATHER and other platforms to make and program robots with CircuitPython, MakeCode, and Arduino. Start controlling motors, servos, solenoids. You also get signal pins, capacitive touch sensors, a NeoPixel driver and amplified speaker output. It complements & extends your boards so you can still use all the goodies on the microcontroller, now you have a robotics playground as well.