Mechanical Engineer
Interactive Wall-e Toy
One of the projects I led for ME 401 (Mechatronics) was creating an interactive toy based on the Wall-e chapter from the self-titled Pixar film. This meant that the robot’s aesthetics, reactions, and quirks were based primarily on the character of Wall-e from the film. The robot was tasked with performing several different functions, which included following colored balls, dancing, tracking and recognizing faces, obstacle avoidance and more. In order to accomplish these complex tasks tight integration of mechanical, electrical, and computer control systems was required.
In order to ensure that the Wall-e home assistant was interactive for all users the project was broken into four primary functions with criteria for satisfying each function as follows:
1. Respond to user voice input
a) Wall-e will perform a dance routine when commanded to by user
b) Wall-e will wave hello when instructed to say hello
c) Wall-e will look for a colored playground ball when instructed to find the specified color ball
d) Wall-e will respond to relevant questions concerning the animated film such as: What is your name? and Who's your girlfriend?
2. Respond to environment dynamically
a) Trained objects will be placed in front of Wall-e and Wall-e will react in a unique manner
b) When instructed Wall-e will find a specified color of playground ball and react
c) Wall-e can be set into a roaming mode in which it will not run into walls or obstructions
d) Wall-e will follow a persons face with it’s head/neck
3. Respond to manual user inputs
a) Connection to Wall-e can be switched to a mobile app
b) Wall-e can be manually driven around
4. Wall-e will behave in a life-like manner, exhibiting realistic characteristics
a) While Wall-e is not instructed to perform specific tasks, Wall-e will randomly perform quirks, giving it a life-like quality
b) When Wall-e moves, it will have realistic joints, allowing a wide range of motion
These primary functions and specific goals would serve as the guidelines when designing, building, and programming the Wall-e home assistant robot.
As an accurate portrayal of Wall-e was intended and with a limited timeframe to complete the project, it was decided to retrofit a toy Wall-e as opposed to designing the body from the ground-up. A 9” Wall-e toy with working tank treads was selected for use as it allowed for the adequate space to fit servo motors and sensors and featured functioning tank treads as well as poseable arms and neck.
In order to ensure that Wall-e moved in a life-like manner a total of 10 servo motors were fitted to the original Wall-e toy, allowing for a wide range of controlled motion. Each servo was responsible for one aspect of the movement with servos controlling the pitch and yaw of both arms (4 servos), tilt of the left and right tank treads with respect to the body (2 servos), yaw of the neck (1 servo), pitch of the head (1 servo), and lastly the left and right tread speed (2 servos). Note that as each joint/movement differs in the load it supports and range of motion, three types of servos were selected for use. Two EZ-Robot HDD continuous rotation servos were used to drive the left and right tank treads individually, these servos allowed for continuous rotation, similar to a DC motor, with speed control and metal internal gears capable of withstanding the high loads on the drivetrain. Two EZ-Robot HDD servos were used to control the tilt of the left and right tank treads, these also had metal internal gears, allowing them to support the weight of Wall-e. A third EZ-Robot HDD servo was used to control the yaw of the robot’s neck, this was required over a smaller servo as it was also responsible for rotating the mass of Wall-e’s head as well as the neck. Lastly, 5 SG90 9g servos were used where only a small amount of torque was required. This include the pitch and yaw adjustment of both arms as well as the pitch adjustment of Wall-e’s head. These servos offered a much smaller form-factor compared to the EZ-Robot servos, making them an ideal choice when space is a concern.
A bracket was also designed to mount the HDD Servo responsible for Wall-e’s neck movement. This was laser cut from 3mm thick polycarbonate and designed to mount with support already built into the original shell. The last bracket designed for mounting an SG90 micro servo to the top of Wall-e’s neck for use in controlling the pitch of Wall-e’s head. As the shoulder joints required both pitch and yaw adjustability, a joint connecting both the pitch and yaw servos to the arm was required. To incorporate both servos it was decided to place the pitch adjustment servo within the shell as previously discussed and place the yaw adjustment within arm itself. To accomplish this a joint was designed, allowing for both the pitch and yaw adjustment servos to be attached.
In order to allow for the use of the neck assembly from the original Wall-e shell with the HDD servo responsible for neck/head yaw control an adapter had to be designed to fit both the original neck while also attaching to the servo. The adapter features 4 holes for the existing neck assembly with tapped holes for set screws in the side of the bracket, holding the neck assembly onto the adapter. The bracket also attaches to typical servo horn, allowing the bracket to be secured to the servo via machine screw.
Lastly, in order to add the tilting functionality to Wall-e’s body a 4-bar linkage was designed. Two of these links were already at a set length as the body and tank treads acted as two of the members. This left two link lengths to be determined. In order to ensure that the linkage created the desired lift effect the 4-bar linkage was modeled as an assembly using 3D modeling software. The two links were then laser cut from 3mm thick polycarbonate.
Choosing electrical components to complement the mechanical design was critical to ensure the robot functions as designed. The primary electronic component used was an EZ- B V4/2 microcontroller. The microcontroller, based on two 32-bit ARM cortex processors, features 23 digital input/output (IO) ports (each with PWM capability), 8 analog inputs, a 6 pin camera port, and WiFi connectivity. This microcontroller was selected as it allows the microcontroller to connect to a PC. This enables the use of PC peripherals as input to the robot and for processing of multi-threaded complex tasks to be performed by the connected PC. This was a major advantage of the EZ-B V4/2 when compared to an Arduino microcontroller as the Arduino can only perform single threaded tasks. The microcontroller allowed for the implementation of the complex control logic needed to control Wall-e.
One of the functions Wall-e was required to have was the ability to track faces and recognize colors. For this reason, a camera was integrated into Wall-e’s eye. The EZ-B V4 Camera was selected for use. This camera integrates directly with the selected microcontroller and was specifically designed for use in recognition rather than high resolution video. With a 640x480 resolution, self adjusting exposure, and maximum frame rate of 25 FPS, the camera was able to capture information needed to allow for color and face tracking. Note that while this resolution is relatively low compared to typical cameras, it is ideal for use in image processing as it is very process intensive.
Another key function was obstacle avoidance. To accomplish this, it was chosen to use an infrared (IR) proximity sensor integrated into Wall-e’s neck. This allowed for the distance Wall-e is from obstacles to be measured by reflecting IR light off of objects and measuring the amount reflected. As objects further away will reflect less light back to the sensor, a lower voltage will be measured by the integrated photo resistor circuit. This allows the measured voltage by the sensor to be interpreted as a distance. Note that a Sharp GP2Y0A02YK0F was selected for use as it allowed for distances from 20-150cm to be detected, ideal for obstacle avoidance. By mounting the IR proximity sensor on the neck of Wall-e, the neck yaw control servo can be used to sweep the sensor back and forth while Wall-e roams, ensuring the robot does not get too close to obstacles.
The project was a major success, winning the best mechatronics project in the class. Wall-e was able to complete all the intended tasks. We created a video showcasing the robot's abilities below.



















