you will find this page in PDF-format in the movies/papers section       

 stairBOT can ....                                 because of  the following design items.... 
   - drive back and forth  :),   - differential-drive,
   - pivot and turn,   - big wheels ( 25.5cm ),
   - drive over small obstacles (up to 4 cm),   - omniwheels as castors,
   - climb regular stairs*)  up and down.     - brakes at the omniwheels,
    - variable size,
  *) even with nosings/ledges and open risers,                     minimum run length = 25cm, maximum slope = 37.     and a support.


  Brief description Principal data

stairBOT is a small robot for indoor environments. On even floor it drives like many other small robots with a differential-drive. In addition it can change its length with linear guides mechanism with a spindle-drive. By this mechanism it can - together with its omniwheels (with brakes) and a support - reliably climb up and down regular sized stairs. It was one of the objectives for the design to use as few actuators and sensors as possible.


Who wants to learn more, is invited,  to read 

                                                                          beneath ....

length min/max 63cm / 30cm
hight min/max 27cm / 60cm
width 37cm
mass 6 kg
actuators 5
sensors for stair climbing 6


The stairBOT - Concept

A robot, which

 1.      -  can reach every freely accessible place in a building;

 2.      -  is not longer than 50 cm;

 3.      -  needs as few actuators and sensors as possible;

 4.      -  can be controlled by simple controll-structures.


The Stair Problem

A robot which moves freely in a building has to be adapted to an environment made for humans. On its way it may encounter small obstacles ( up to 4 cm of hight, e.g. door steps, sills  etc.) and stairs. These stairs often have nosings or ledges and sometimes open risers. The slope of indoor stairs can vary between  25 and 42. Sometimes you will find in residental buildings even steeper stairs, especially spiral stairs. In public buildings stairs often have a rise s of 17cm and a run a of 29cm (slope approx. 30)



    a = run  s = rise   u = nosing/ledge                                             a = limit of safe stairclimbing for humans

                                                                                                   b = maximum slope for stairBOT

                                                                                                   c = "ideal" stairs in public buildings

*) I can't find the correct english word. Some papers dealing with stair climbing robots use "ledges". On the other hand  "STAIR SAFETY, A Review of the Literature and Data Concerning Stair Geometry and Other Characteristics" , a paper prepared for U.S. Department of Housing and Urban Development, did not use the word "ledge" at all, but you will find a lot about safety riscs caused by "nosings".

StairBOT can negotiate stairs with a run length a not smaller than 25cm and a maximum rise s of 20cm. Thanks to its big wheels are nosings and open risers no problem.


Well-known Stair Climbing Robots

If you search the internet, you will find quite a number of stair climbing robots. There are the famous two-legged robots( e.g. Asimo, HRP2 ), six-legged robots ( e.g. RHex ), and tracked robots, mainly in military or law enforcement applications (e.g. Urbie, packBot). Looking for wheeled robots you will find only a small selection. Best known probably shrimp of the EPFL Lausanne.  Helios V also climbs up and down stairs. There are also some hybrid designs with rotating legs, a mixture of a wheel and a 1-DOF-leg:  whegs, whegsII and mini-whegs IV   ( and RHex). Mini-whegs IV  uses yet another concept: It jumps from step to step.

As impressive these robots are, according to the objectives mentioned above they also have some drawbacks.  Either they are very complex and thus expensive, or they use tracks (not very appropriate to indoor environments) or some designs have problems with nosings and open risers (e.g. shrimp). Even RHex, (my favorite stair climber: more than 200 steps of Montmartre-stairs in Paris or fire escape stairs, slope 42!) can only show its outstanding performance, if it appropriately hits the first step. At least downstairs RHex has to be placed manually in the right starting position and the stairs should not have large nosings and open risers. Actually you will find only few robots climbing downstairs.

In the amateur area are successful stair climbers too, for example the Lego robot P'titgneugneu. It climbs stairs in both directions, but it is not well suited for floors, due to its design especially developed for stair climbing.


1.1  Moving on the Floor

1.1.1 The differential drive

Most of the time an indoor robot will move on even floors. The differentialdrive is an easy to handle concept for such a situation. Thus stairBOT uses this drive concept too. Because of its stairclimbing ambitions the castor was replaced by two omniwheels.


1.2  Moving on Stairs
1.2.1 Wheel diameter

The wheel diameter should be big enough, that the wheel could not be blocked by nosings and stairs with open risers. A wheel diameter of 25cm enables the robot to climb stairs with 20cm rise. With a bigger rise and very small ledges ( t in the drawing ) the danger of a blocked wheel will increase.

 D = 255mm stairBOTs wheel diameter

( the smaller circle with the dashed line shows the wheel diameter of the EPFL  shrimp -Robot)

1.2.2  Push the wheel upstairs

How can this big wheel be moved on next step?  .... Push it upstairs!

To simplyfy things a little bit, let's consider that the center of mass is located in the middle of the wheel. So we get the following:

The wheel will be pushed upwards, by a force supported lateral to the center of mass. As a result we will also have a force component normal to the step. So a driven wheel can contribute to the upward move. That will only work as long as the support will stay in place in spite of the horizontal reaction force.

The consequence are problems 

      -         of static friction,

      -         of the right balance between the different masses,

      -         of the adjustment of the wheel speed and the speed of the

                linear guides.

1.2.3  Omniwheels with brake

This differentialdrive robot uses omniwheels as castors when driving on the floor. Climbing upstairs these omniwheels are the bearings for the linear guides whilst pushing up the wheels. They have to stay in their position against the horizontal reaction force. Brakes prevent the turning of the omniwheels, which should provide a sufficient wheel grip.


1.2.4  The support

Has the wheel reached its position on the upper step, the omniwheels can be pulled up. Especially at the beginning of this movement the lever arm of the rear masses is rather long. To prevent that the robot  topples over or simply slide backwards down the step, it gets an additional support. In addition the adherent covering of the support inhibits a backward movement .

1.2.5  Speed adjustment of wheel and linear slide

The adjustment of the wheel speed and the speed of the spindle drive of the linear guides has proven as crucial. To slow or to fast, always is the result that the friction between the omniwheels and the floor will not be sufficient enough to hold the wheels in position against the horizontal reaction forces, the robot falls down. For the build robot a working combination of the two speeds was found by trial and error. 


1.2.6  Perpendicular to the step

To "drive" stairs safely the orientation to the step is another important issue. For most of the robots (e.g. small tracked robots) it is best to start with  and to hold  a perpendicular orientation to the step. To recognize its orientation to the edge of the step, the robot should have appropriate sensors in a symmetrical configuration.


1.3  Concept of stair climbing

1.3.2  one step up


- approach - recognize the stairs - short position - drive towards the first step until the wheel-bumpers hit the edge of the step - main wheels stop - apply the brakes - linear guides start moving to the long position - concurrently start the main wheels with synchronized speed - release the brakes when the  linear guides are in the long position (= main wheels on step) - drive forward until the wheel bumpers hit the next step or the linear guides bumpers hit the edge of the step - main wheels stop - the linear guides move to the short position to pull the omniwheels up ( the robot is resting on its main wheels and the support in this phase) - when the linear guide is in the short position  the support is folded and the robot rests on its omniwheels again.

1.3.2  one step down

Same procedure running backwards. For that purpose the robot has to turn 180 after it recognized a downwards leading step. With its omniwheels ahead the robot approaches the step. The descent is only controlled by the two rear ir-sensors (GP2D120).





2.0 The design
2.1  Dimensions and distribution of masses


To climb stairs the robot has to be: 

- small enough, to fit into the length of a step,

- long enough, to span the distance of two steps. 

To meet these conflicting requirements stairBOT was engineered as a differentialdrive robot of variable size.

Therefore it was build of two relocatable units: 

- the wheel-unit with the main drive and the support,

the linear-guides-unit with spindle drive, omniwheels and sensor head


( with center of mass ) 



(with center of mass)



 Position of the sensors:

[1]  IR-sensor front

     (tiltable  sensor head)

[2]  Wheel-bumper

[3]  linear-guides-bumper 

[4]  IR-sensor rear

Total mass is splitted pretty evenly to both units. The approximate position of the centres of mass for both units is shown in the drawing. The prototype of stairBOT has a total mass of approx. 6 kg. 20% of the total mass are contributed by the batteries. The distribution of the batteries is the easiest way to balance the robot.


Note: material 


This prototype of stairBOT  was build from fischertechnik construction kit parts ( mainly: linear guides, spindle, microswitches ), aluminium- and plastic profiles and plywood. 

The green wheels are made from movable coastors for flowerpots. To increase the adhesion of the wheels they are pasted up with flexible sealing strips for windows (tesa-moll, 5mm). 

2.2  The wheel unit

With a wheel diameter of 255 mm the drive wheels are significantly larger than the wheels of robots of comparable size.

The robot uses two 6 Watt DC motors with built-in 16 cpr quadrature encoders and 84:1 planetary gearboxes.  An extra gear reduction stage yields a total reduction of 224:1. The motors are controlled by PID-controllers via 3A H-Bridges.

A foldable support is mounted on the wheel unit to hold the robot on a step when the linear guides with the omniwheels are moved up or down. The wheel unit is mounted like the carriage of a linear motion system.

2.3  The linear guides unit

The wheel unit can be moved along the linear guides by a leading screw ( pitch 5mm, travel 290 mm). The drive motor is a DC -Motor ( 11Watt, 4.8 :1 planetary gearbox, encoder ). The motor is controlled by a PID-controller via a 3A H-Bridge. Additionally two limit switches are used for termination and calibration.  With this mechanism the length of the robot is continuously adjustable between approx. 60cm and 30cm.  

As castors two 60 mm omniwheels (TRAPO, polyurethane) are used.

2.4  Sensors for stair climbing

To recognize the steps, its orientation to the step and the position on the step the robot is equipped with the following sensors: 

# mounting right left typ direction function


x x 80cm IR ranger  Sharp GP2D12 up / down beginning of the stairs
2 front x x micro switch     (wheel bumper) up wheel at step edge
3 central x x micro switch       (linear guides bumper) up linear guides touch step edge
4 rear x x 30cm IR ranger  Sharp GP2D120 down recognize step edge

To climb the stairs only sensors # 2, 3 and 4 are necessary. To provide for the perpendicular orientation of the robot to the step these sensors are symmetrically mounted on both sides of the robot. If for example the left wheel reaches the edge of a step the left driving motor is stopped while the right motor still runs until the right wheel reaches the edge too. Thus the robot can climb spiral stairs - if the run is long enough.  

Sensors 1 are mounted on the tiltable sensor head. The sensor head preserves a given line of sight, because its adjusting servo gets a feed back of the actual spindle drive position. 

In addition to the two GP2D12s the sensor head is equipped with a CMUcam2 and a SRF08 ultrasonic sensor. These both sensors are not used for stair climbing.  


2.5  Design details

                                                                                                                                                       click to enlarge

 Both omniwheels use simple disc brakes. The brake is made from a flexible plastic part covered by a lining (black/red) normally used for table-tennis bats (= ping-pong paddles for american readers).

Moving the servo mounted cam pushes both brake discs ( via the rods) against the omniwheels. The brakes will be released by retaining springs. The polyurethane-rollers of these wheels (  60mm TRAPO-rollers) provide sufficient adhesion even on smooth ground. 

 bottom view

mechanical design: side view
mechanical design: front view

(still with long sensor girder with two SRF08)

Approaching the first step

Ascent would not start until the robot is in a perpendicular position to the edge of the step. 

On the first step

On the step, 1 wheel removed

You can see the function of the support and the positioning of the 6V-batteries.

The red parts are the wheel-bumpers. Their movable white end pieces will be pushed up by the edge of the step when descending. This prevents a blocking of the bumpers.

Sensor head 

The sensor head is equipped with 5 sensors ( 2 GP2D12, 1 SRF08, 1 CMUcam2)

It can be adjusted in any linear guides position in a wide range from  perpendicular up ( e.g. to find lamps at the ceiling as landmarks) to perpendicular down (e.g. to recognize obstacles or steps).

Beneath the sensor head you can see 4 of the subC-cells of the motor powersupply (total 11 cells). These cells are placed in the upper part of the linear guides for a better balance during stair descent.

3.0  Control-electronics

The robot is equipped with 4 micro- controllers. mC2 and mC4 are PID motor- controllers. mC1 and mC3 are used to handle the analog and digital inputs of the sensors and to control the servos. The mCs are programmed in TEA (proprietary acroname), a subset of ANSI-C. For data transfer between the 4 mCs an I2C-bus is used. One of the microcontrollers is configured as a router. This router has a serial link to the host. The elements drawn with dashed lines are already mounted for a more realistic weight distribution but not working yet. At the moment the robot is still tethered to a desktop-PC as a host. Router-mC and host communicate via RS232. 

4.0  Specifications


Processors       2  BrainStem GP 1.0   (acroname, USA)

                        2  Brainstem Moto 1.0 (acroname, USA)

                        1  iPAQ


Sensors            1  CMUcam2

                        2  GP2D12   range finders  (front)

                        2  GP2D120 range finders (rear)

                        1  SRF08

                        2  micro switches (wheel-bumper)

                        2  micro switches  (linear guide bumper)

                        2  micro switches  (limiting switches for the spindle drive)


Power              11 SubC NiMH 3000Ah(13.2V) motor

                         5 SubC NiMH 3000Ah(6V) servos

                         5 SubC NiMH 3000Ah(6V) controllers

                         1 iPAQ LiIon-Battery


Drive Type          2 wheel differential drive (2 omniwheels with brakes as castors)

                         1 linear guides with leading screw


Actuators           2 DC-motors 6W, 84:1 geartrain, encoder   (differential drive)

                         1 DC-motor  11W, 4.8:1 geartrain, encoder (spindle drive)

                         1 servo (omniwheel-brake)

                         1 servo (support)

                         1 servo (sensor-head up and down)

Body                  fischertechnik construction kit parts, custom made aluminium, plastic and plywood parts


Seize                 depending on linear guides position

                          L x W x H:

                          short:  30cm x 36cm x 60cm

                          long:   65cm x 36cm x 27cm  

Weight               about 6kg  with batteries


     G. Wendel,  Dezember 2004