In figure below, the initial CAD design and final demo robot can be seen side by side. We were able to effectively execute on our initial design with some adjustments along the way, and for the final demo the robot performed reasonably well.
Initial CAD vs Final Design
Our robot used a rack and pinion lifting mechanism as opposed to a lead screw, along with a 3 pod design to climb stairs. This gave our robot a relative speed advantage, and as it turned out the system was also reliable and robust. The pods in their stair climbing arrangement can be seen in figure below, and the motor attachment to the rack and pinion gear system can be seen in the figure as well.
pod lift system
Lift System (Top View)
For the horizontal traversal system, we implemented our 6 omni-wheel layout as shown in figure. We 3D printed motor mounts to attach them to the 2020V frame and used 5mm aluminum cylindrical shafts to connect the forward wheels as a drive train with nylon gears to connect the motors to the shafts.
Horizontal Traversal Wheel Layout
For our vision and perception system we ended up installing an ultrasonic sensor as the front sensor to detect the stair ahead and detect whether the robot was starting at the top or bottom of the staircase. We implemented the limit switches as shown in figure to allow the lift segments to accurately reset themselves.
Limit Switch Placement
For the vacuum subsystem, we used two battery powered vacuums mounted near the top of the robot and connected to custom 3D printed nozzles at the bottom of the middle segment as shown in figure. The vacuum power was controlled by the microcontroller through a relay circuit shown in figure.
Vacuum placement (Top view)
Vacuum and nozzle placement (Side view)
Relay circuit to control vacuum power through microcontroller
The system design can be broken down into the following subsystems:
Lateral Traversal
Vertical Traversal
Wall detection (distance sensors)
Ground detection (Limit switches)
Vacuum
Compute/brain
Lateral Traversal
The Lateral traversal subsystem will be primarily responsible for moving the robot back and forth across a single stair, as well as assisting with the necessary forward motion when climbing each stair. This system will consist of 3 sets of wheels (6 in total). 2 sets which will be dedicated to ‘forward’ motion, and one set which will be dedicated to ‘sideways’ motion and rotation. All wheels will be omni wheels, allowing for the perpendicular drive systems to work whilst all 6 wheels are on the ground. The implemented lateral traversal system is shown is figure.
Lateral Traversal Wheel Setup
Lateral Traversal Wheel Implemented
Vertical Traversal
The vertical traversal system will use the inherent 3-part structure of the robot to facilitate stair climbing using a pack and pinion gear system combined with slides to achieve vertical linear motion between the sections. The vertical traversal system includes gantry plates, motors, motor couplers, gears, racks and shafts.
Vertical Traversal Concept
Vertical Traversal System - Gantry Plate, Motor and Motor Coupler
Vertical Traversal System - Motor, Motor Coupler, Gear, Rack and Shaft
Vertical Traversal System - Rack
Testing vertical slide mechanism
Testing Vertical slide mechanism
Testing vertical slide mechanism
Testing vertical slide mechanism
Testing vertical slide mechanism
Wall Detection
The robot will primarily gain information about the surroundings using wall detection with infrared distance sensors. We plan to use five different IR sensors mounting two of them on the front of the robot, two on each side of the robot and one at the rear of the robot facing downwards as shown in figure. The front sensors help us align the robot to the stair. The side sensors help us determine when the robot wants to stop moving laterally. The rear sensor helps us detect whether the rear side frame of the robot is touching the floor or not.
IR sensor configuration
Ground Detection
The robot will need to be able to determine if each section is in contact with the ground during the stair climbing process. As such it will be equipped with simple limit switches to confirm that each section is in contact with the ground when it is intended to be.
Limit Switch Configuration
Testing limit switches - Reset lift frames
Vacuum
The vacuum system will be housed in the center (main) compartment of the robot. We plan to use two vacuums with two slit openings on the opposite side of the base to allow for dust and debris to be sucked up by the vacuum during the cleaning process.
Vacuum locations
Custom nozzle testing
6. Microcontroller
We will be using Teensy 4.1 as our microcontroller. Teensy 4.1 has 55 digital input/output pins including 35 PWM output pins. We can use the large amount of pins to control five motors, five IR sensors and maybe a couple of limit switches if we decide to. The figure below shows the Teensy connected to 1 motor driver.
Teensy 4.1
Teensy 4.1 Connection Planning
Test Video - 1
Test Video - 2
Test Video - 3
Test Video - 4
Test Video - 5
Test Video - 6
Test Video - 7
Final System Demo
Final System Demo Encore
Final System Demo Encore
Final System Demo
Final System Demo Encore