Final project proposition
For my final project I am planning on making a homemade segway. This is two-wheeled, self balancing, battery powered vehicle. Riding one looks extremely cool: from both perspectives; on one hand to the observer the continuous balance, made possible by extremely precise motor corrections, seems near impossible. On the other hand the rider only needs to lean in order to move forward.
Of course this vehicle is not as useful as a bike. Practicable terrain remains restrained to smooth and flat tarmac. However building this segway will allow me to explore many of the aspects covered in the course, from making an overall design or milling the pieces of wood to creating and programming circuits with sensors and motors as outputs.
I plan at first on building a miniature version, possibly using a toy car. It will be at this stage that I will build and try out the circuits. This will allow a lot of the debugging and testing of the code uploaded to the ciruits to happen without risk.
I then plan on making an intermediate scale segway, still toy sized, to try out the design I had in mind for the larger scale machine. This will also give me a decent project in the eventuality that I run out of time and cannot complete the full version.
The final version will be a segway that can be ridden by a person. The circuits used in the earlier stages can be used again; By this point the design and process to build will be straighforward and already tested to a great extent.
- The basic structure could be made out several materials: Wood, plexiglas or aluminium seem to good choices
- Wheels with tires
- DC motors; apparently generators are also a good choice as shorting them effectively halts the spinning very effeciently
- An accelerometer, gyroscope, and speedometer as input devices to the circuits
Coding techniques used
Coding will be one of the more challenging aspects of this project. Getting the balance right will be very tricky. The segway uses inversed pendulum solutions. In order to filter out the noise from the sensors, I will also implement a Kalman filter.
In addition to compensating for falls, the segway should also stop acting on the wheels when the speed required passes a maximum. If someone pushes the lever of the segway down too far, we want to avoid it going at huge speeds to compensate which could be dangerous.
Rhino file: Basic_segway.3dm
- Rhino (free trial)
- Jade (for website building)
- Autodesk Fusion 360 (free version)