Robot and controller code for a Wall-E replica robot. For more information about the robot, visit https://wired.chillibasket.com/3d-printed-wall-e/
Main program to control the motors and servos of the robot. Features include:
- An animation queue, keeping track of the next servo movements the robot needs to perform.
- A random movement generator, allowing the robot to autonomously move and appear animated.
- Velocity control of all servo motors, facilitating smooth accelerations and decelerations.
- Non-blocking serial parsing, allowing the movements of the robot to be remote controlled.
The web interface is programmed in Python and uses Flask to generate a server. The Raspberry Pi is connected via USB to the Arduino micro-controller. The main features are:
- A javascript joystick, with which the movement of the robot can easily be controller.
- A list of sounds which can be played.
- A list of movement animations which can be performed by the robot.
- Settings page, where motor parameters, sound volume, and video options can be modified.
- A simple login page to prevent everyone from having access to the controls (note: this is not a full access control system, please don't use this web interface on untrusted/public networks)
