Stair Climbing Robot
In Europe, the population is aging, while wanting to maintain their independence. Older people are more
prone to falling down, including in stairs. To make sure they can hold on to the rails instead of carrying
loads up and down the stairs, we propose a stair climbing robot that can carry the loads for them.
This project was made for the courses Mechatronics 1 and Design Methodology in the Bruface program.
Gitlab repository : https://gitlab.com/mechatronics_group_2/stair-climbing-robot/-/tree/dd7e73e10f281fbb3b9bd7104788038c14742252/
For better readability, the report is available as a PDF:
Downloads
Supplies
Contents
1 Need Identification
1.1 What is the product’s utility ? Who will use it?
1.1.1 Who is going to use the product?
1.1.2 Who is going to buy the product?
1.2 Who and what does the product interfere with ?
1.3 To which purpose this product has to be developed ?
1.4 Objective need
2 Project working modes/functionality/requirements
2.1 Requirements list
2.2 Eco-design analysis
3 State of the art and patent analysis
3.1 State of the art
3.1.1 ROSA
3.1.2 Mobinn
3.1.3 Str 1750
3.1.4 Competitor’s table
3.2 Patent analysis
3.2.1 ROSA
3.2.2 Mobinn
3.2.3 Str 1750
4 Conceptual Design
4.1 Morphological Chart
4.2 Concept generation
4.2.1 First sketch
4.2.2 Second sketch
4.2.3 Movement and Detection
4.2.4 Third sketch
4.2.5 Concept comparison
5 Embodiment Design
5.1 Material selection
5.2 Manufacturing methods
5.3 Assembly
6 Design of Sub-Systems
6.1 Mechanical Sub-System
6.1.1 Motor selection
6.1.2 Wheels
6.1.3 Mechanical mechanism
6.1.4 Angle of attack of side plate
6.2 Electronics Sub-System and Software Strategy
6.2.1 Overview
6.2.2 Hardware Interfaces Managed by the Software
6.2.3 Communication and Sensor Management
6.2.4 Motor and Actuator Control
6.2.5 Control Logic: Finite State Machine
6.2.6 Electronic circuit
7 Integration Guide
8 Demo project show + Quick start guide
9 Review
9 Sustainability
10 Bill of Materials
11 Team presentation
12 Project repository
Project Motivation
In recent years, the median age in Europe has continued to rise [1]. With a more graying population comes the struggle of having more elderly in our society. Elderly people often struggle with limited mobility, with 35% people aged around 70 struggling with mobility, a number rising to 50% for people aged around 85 [2]. In the EU, almost half (46.6%) of the elderly population report a lack of assistance [3]. As over half of the population in EU lives in houses (a number rising to almost 80% in Belgium), it follows that assistance is needed when dealing with multiple story houses [4]. Multiple story houses result in the specific risk of falling down the stairs, an issue relevant to all age groups but prominent for the elderly [5].
1.1 What is the product’s utility ? Who will use it?
Based on this literature review, we propose assistance in the form of a stair climbing robot, as conventional assistive devices are limited to flat surfaces. The robot, called H.E.L.P.R. for Home Elevation & Load Porting Robot, aims to help people execute daily tasks, such as carrying groceries of laundry up and down the stairs.
1.1.1 Who is going to use the product?
The target group for HELPR is the elderly, as they are most likely to both need the assistance and to live by themselves. Using HELPR would help avoid risky situations or have to wait until someone can assist them.
1.1.2 Who is going to buy the product?
While our target user group - elderly people - is also part of our target buyer group, they’re not the only ones. As shown in Figure 1.1, other potential buyers include the family of the elderly and assisted care facilities. The family of an elderly person might be interested in the product to help their family member, while assisted care facilities could use the device to reduce the workload of their employees.
1.2 Who and what does the product interfere with ?
The product will be interfering with the target user group, namely the elderly. The product will also interfere with objects, as it will carry loads. This also means interacting will liquids, such as cleaning products, in case of spills. The robot will interact with the floor material, which can vary broadly from wood to tiles or carpet.
1.3 To which purpose this product has to be developed ?
From the literature review, it is clear that falling down or up stairs can have major consequences, especially for the elderly. Creating a device that can help loads go up and down the stairs can ensure two things: first, no injuries in carrying the load itself. Second, the user can more easily hold the rail, significantly reducing the risk of injury [6].
1.4 Objective needs
To accommodate our target user group of elderly people with reduced mobility, we want to ensure techno- logical comfort. The robot should have simple and intuitive controls. It is also important for the robot to be compact, for two reasons. First, it needs to be able to navigate residential stairs, which are much smaller than stairs in industrial settings. Second, in case of an issue, it should not be too heavy to pick up.
The user needs, and thus our objectives, are resumed as follow:
- Safe and reliable helper to transport items through stairs
- Simple operation
- Compact design
The first two objectives are external functions, with the first one being the principal function. The third objective is an internal function. To further clarify the objectives, a user need cycle was designed, as shown in Figure 1.3.
Project Working Modes/functionality/requirements
2.1 Requirements list
In this chapter, a requirement list will be put together. The goal is to quantify our objectives and constraints to keep in mind while coming up with the design of HELPR.
The goal of the project is to develop a stair climbing robot that can carry a load as its primary function- ality. The key constraints revolve around the ease of use and the smooth climbing of the stairs. The requirement list is split in 10 categories which are of interest during the design:
- Geometry: how HELPR is constrained in the physical space of the stairs
- Structural: The possible deformations.
- Safety: Safety protocols that need to be implemented.
- Forces: the forces we will encounter in our system.
- Energy: the power needed to drive HELPR.
- Kinematics: the way and speed at which HELPR moves.
- Electronics: The numbers and types of sensors and motors.
- Ergonomics: The relationship between HELPR and people.
- Cost: The cost to purchase HELPR.
- Schedule: The scheduled timeline to design HELPR.
The different criteria are always given with a way to quantify them, as well as an expected level with a given tolerance. As there are a lot of requirements (25), they are also divided by level of priority. The priority ranges from F0, which is the highest priority, to F3, which is the lowest priority. The requirements list can be found in Table 2.1.
The bed and chassis dimensions (requirements 1 and 2) were chosen based on the dimensions of the ROSA robot, which fits standard stairs. Similarly, the angle of inclination is based on regulations for stairs in Belgium [7]. The deformation values in requirements 4 and 5 are chosen to ensure that the robot does break due to fatigue while supporting the given loads in requirements 9 and 10. Those loads were chosen to ensure everyday help from the robot, while keeping the robot itself at a comfortable weight to be picked up in case of issues. The safety,energy and ergonomics requirements (6-8,11-12 and 21-23) were also selected with the target audience of elderly people with mobility issues in mind, as well as durability.
The kinematics, which include both the actuator speed and and the minimum travel speed were designed bearing in mind that speed is of low importance for the tasks of the robot. The speeds were set at low values, as to most important challenge is to maximize torque to support going up the stairs. To verify requirement 14, tachymeters will be used, as shown in requirement 20.
For the electronics, the goal is to minize the DC motors and use various sensors to make the robot autonomous, such as 1 accelerometer with a 2 degrees precision, and distance sensors for the distance with a 0.5cm sensor precision, to ensure the detection of the stairs.
The final requirements of cost was a rough estimation, while the schedule was defined by the project.
In light of the schedule, the requirements list was revisited to better accommodate the making of a prototype. The dimensions were changed as to limit the cost of materials in the chosen design (namely the tracks, see chapter 5). This influences the new requirements for geometry (requirements 1-4) in the updated requirements list shown in Table 2.2. As the size is reduced, so is the weight of the robot (now requirement 5). The payload is severely reduced, as the main focus of the prototype will lay on the ability to walk up and down the stairs.
The structural requirements were changed to F2, as they are less relevant when making the prototype; the deformations will scale down due to the scaling of the payload factor. The battery input will be replaced by a power source to run tests, lowering the priority of the safety requirements to F3, as well as the energy requirement.
As the focus shifts to climbing the stairs, the electronics requirements are also changed accordingly. As the kinematic requirements are F2, the need for tackymeters is changed to F3. Similarly, the accelerometer, which would ensure a smooth climbing and level bed, isn’t as important for the prototype and is changed to F3 as well.
To facilitate testing with the prototype, ergonomics are still important. The Bluetooth app is moved up in priority to have a simple way of controlling the robot, while the belt replacement time is reduced to facilitate iterations of the prototype.
The cost is reduced to 100 €, deemed a more realistic target for a prototype.
2.2 Eco-design analysis
The prototype will be built using MDF and PLA as the main materials, using MDF sheets to cut flat surfaces and using the PLA to make custom 3D parts. The MDF (medium-density fibreboard), is made from byproducts of wood productions, and is, in that aspect, sustainable. It’s has two major drawbacks: not being very durable and not being recyclable. The first drawback is not a big issue for a prototype and while it is not recyclable, it is biodegradable, making it a suitable material for this prototype. The PLA is made from bio-materials and, as such, is a bio-plastic. It is however not bio-degradable and is only recyclable is specialized facilities. As the PLA is less environment friendly, the main material will be the MDF. More details can be found in chapter 9.
State of the Art and Patent Analysis
3.1 State of the art
Before starting to design our product, it is important to look at what direct and indirect competitors are doing, to ensure that we can distinguish ourselves from the competition.
3.1.1 ROSA
The first and only direct competitor is the ROSA (RObotic Stairclimbing Assistant) [8], shown in Figure 3.1. The ROSA is also designed to help the elderly carry everyday loads up the stairs. The ROSA is equipped with a simple and cost-effective mechanism, and can be used autonomously (although it is limited). It can be activated trough an android app, and can hold up to 25kg, which is a generous payload for the size of the robot. Additionally, it also remains level, as to not drop the load, and can automatically sense the stair height and adapt to it. Both those qualities are essential for a robot that needs to carry everyday loads in residential stairs.
There are however clear drawbacks. The first, and most notable, is that despite the first video showcasing the ROSA dating back 5 years [9], the robot is not commercially available. It is only purchasable for research purposes, at the steep price of 4900 USD [8].
The second drawback is that the ROSA suffers from a lot of shaking when going up the stairs [9], which can be an issue when bigger loads are put on it. There was also no video evidence of the robot going down the stairs.
3.1.2 Mobinn
To find indirect competitors, the range of competitors is extended to any robots that can climb stairs. One interesting example is the Mobinn, a delivery, stair-climbing robot [10], shown in Figure 3.2. Its design, which uses flexible wheels, requires only a few motors and is highly adaptable to different terrain, including stairs. It uses a self-balancing system that is very robust.
The Mobinn is designed for outdoor and indoor use, which could include our residential needs. Drawbacks include the limited space in the head, and its height (130cm). It was also tested to an angle of up to 28 degrees [10], while residential houses in Belgium can have angles up to 45 degrees [7].
3.1.3 Str 1750
Industrial devices to carry heavy loads up the stairs already exist in plenty, with for example the Str 1750, shown in Figure 3.3. Its industrial use means that it can lift a 1000kg, which is far above what is required in a residential context [11].
It is very stable and robust with its pneumatic system and can even handle spiral staircases. However, it is clear that due to its industrial use, it is too big to use in a residential context and would also be far to expensive to be purchased by an individual. It also requires supervision and is quite slow.
3.1.4 Competitor’s table
The different (in)direct competitors are compared in Table 3.1. The criteria of comparison were based on our own requirements list:
- The weight and the maximum payload relate to the forces requirements, which are essential in determining how much users can actually load up the robot. As seen in chapter 2, this is a very high priority.
- The climbing speed criteria relates to the kinematic criteria. While those requirements have a lower priority (F2), they were chosen as a comparison criteria to better fix a goal for our own robot.
- The control method, the accessible interface and the battery life gives us an insight into the industry, as well as define what our criteria will be. The lack of disclosure in battery life made us want a clear guideline for our own project for example, as seen in chapter 2.
- The footprint and the maximum stair angle showcase whether or not the robot is able to be used in a residential context.
- The moving mechanism is compared to give a better sense of what is done in the state of the art. It is clear that many different methods can work.
- The accessible interface and the robot’s purpose help distinguish direct and indirect competition.
It is clear that there is currently no direct market competition, as the only product with the same goal (ROSA) is not commercially available and has a high price-tag.
3.2 Patent analysis
It is also important to asses which mechanism are protected and which are unprotected.
3.2.1 ROSA
For the ROSA, the internal mechanism uses a cyclic mechanism to drive the L-shaped box. This mechanism, shown in Figure 3.4, is patented. Of course, the application isn’t.
3.2.2 Mobinn
The design of the wheels of the Mobinn, as well as its balancing mechanism are both patented [13]. Another design of the wheels would be possible, but would require a lot of testing, as the Mobinn wheel geometry was optimized trough FEM [10]. The control of the Mobinn is also patented.
3.2.3 Str 1750
No patters specific to the Str 1750 were found. It is however very likely that the specific shifting track sequence and the Center of Gravity are patented, based on similar patents. As rubber tracks have existed for around a century, there is freedom to operate on that type of locomotion.
From this patent analysis, it is clear that we have freedom to operate within the aforementioned restrictions.
Conceptual Design
4.1 Morphological chart
In this chapter, a conceptual design will be selected. This will be done by comparing several ideas, which will be based on our abstract problem statement: "Create a robot that can help carry heavy objects up and down the stairs". This problem statement had already been transformed into a user need cycle, shown in Figure 1.3. From this, we can define our essential problems, and see how they are a continuation of the user need cycle, as illustrated in Figure 4.1. The essential problems redefine the problem into a set of non-abstract issues and constraints. As such, it helps think clearly of what is important in the design and what is superfluous.
The essential problems found, namely carrying a load up residential stairs, for various shapes and sizes of loads in an easy and safe manner, can then be transformed into required features. Various essential problems can tie together into one feature, as shown in Figure 4.2.
The features can be executed in various ways, as shown in Table 4.1. The orange blocks are the ones that were deemed possible.
The following reasoning was used to select the appropriate means:
• Level platform: there needs to be a level platform to put the loads on. This can be done by having a robot that is level, or by having a self-leveling platform that uses either hydraulics / pneumatics or an electrical linear actuator. While more restrictive to the overall shape of the robot, a fixed, level platform offers simplicity. The self-leveling platform offers more flexibility. To account for the fact that individuals and not companies would buy our product, the electrical system was chosen, as this is cheaper than pneumatics.
- Actuator direction: If a self-leveling platform is chosen, it would be driven by a linear actuator. The linear actuator that supports the platform can be placed towards the back or towards the front of the robot, shown respectively in Figure 5.3a and Figure 5.3b. The weight of the platform is better distributed if the actuator is facing towards the front, which is why this is option is chosen. The none option is also selected as a possibility, in the aforementioned case of a fixed, level platform.
- Type of locomotion: as seen in chapter 4, there are different ways to effectively climb stairs. The first is wheels, followed by tracks or an internal L-track system, similar to ROSA’s mechanism. As the latter is patented, this is excluded from our options. Both tracks and wheels could thus be used.
- Stair climbing mechanism: The stair climbing could either be activated automatically, or could require a user input. To facilitate the assimilation of the robot into the users life, an autonomous mode was chosen. This way, the user can do other tasks while the robot carries the load up or down the stairs.
- Stair detection: Various devices could be used to ensure that the HELPR can be used autonomously and detect the stairs, namely cameras, Lidar or ToF sensors. Tof is favored, as camera’s suffer from a lot of noise and processing needed, while Lidar relies on light and can have issues even inside if there is direct or indirect sunlight.
- Robot dimensions & weight: Some stair climbing robots, such as Mobinn, are designed to overcome stairs. This means that the wheels are bigger than the stairs. This ensures robustness but comes at the cost of compactness. Compactness relates to our essential problem of being easy to use for our users (people with restricted mobility) This is why we opted for a design where the robot is smaller, as well as a lighter robot.
- Robot load: As mentioned before, our users are individuals that suffer from restricted mobility. The robot is aimed at a residential use, and thus only has to account for domestic loads.
4.2 Concept generation
Based on the assessment of the various means, different concepts can be generated. Three sketches are described and compared below.
4.2.1 First sketch
In this first sketch, the means from Table 4.2 are used. The robot would be driven by 6 separate wheels, which serve to actuate three different sub-systems, as shown in Figure 4.4. The sub-systems can be lifted separately, to ensure stability and that the robot remains level. This means that additional motors are required. This design would be ideal if the focus was only on stability. Its drawbacks are its speed, size and number of motors required.
4.2.2 Second sketch
The second sketch further explores the idea of using wheels, but now making a smaller robot. To do this, a star wheel configuration is used. This is the result of using the means in Table 4.3. This results in the sketch shown in Figure 4.5. This concept requires less motors, but the star wheel configuration could pose a risk to stability. To mitigate the risk of the load falling, it would need to be surrounded by a box, limiting the dimensions of the load.
4.2.3 Third sketch
The third sketch uses a different locomotion mechanism than the second one, as shown in Table 4.4. The advantage of the tracks (shown in Figure 4.6) is that they can provide a more smooth ride than the (star-)wheels. There is a risk that the robot might tilt at the top of stairs. To prevent this, an extra wheel is added at the front. The wheel, which is driven by a linear actuator, comes out to help stabilize the robot when it has climbed the last step, as well as help it go down the stairs.
4.2.4 Concept comparison
The 3 created sketches are going to be compared, based on the following properties:
- Robot dimensions: The smaller the robot, the easier to integrate into a house. A smaller robot is also easier to store when not in use.
- Stability: It is very important the load doesn’t fall off. The robot needs to be stable to keep the load from falling, as well as itself from falling.
- Motors used: the less motors used, the more cost-effective and a lesser chance of motor malfunction.
- Speed: The faster the robot can di its task, the better.
- User interface: It should be user friendly for a target group typically not accustomed to technology.
The various criteria are given different weights depending on their importance, ranking from 1 to 5, with 5 being the most important. The different concepts are then rated on 1 to 5 as well based on the criteria, as shown in Table 4.5.
The clear winner is the third concept, which will be turned into an embodied design in chapter 5.
High-Level Design / Embodiment Design
The final concept depicted in chapter 4 can be turned into a more complete model with all needed parts in CAD. A high level block diagram of all subsystems is shown in Figure 5.1.
The system is subdivided into three mechanical sub-systems:
1. The platform, which consists in a rectangular box that can hold the load without risk of dropping the items. The platform is facing forward, so that when HELPR is descending the stairs the items stay in the platform shown in Figure 5.2.
2. The extra wheels system, which is added to make sure that HELPR is always stable, can be found at the front of the robot. It uses two wheels, which are connected to a second linear actuator. When HELPR is climbing stairs, the wheels are retracted to avoid hitting the stairs. The wheels are also deployed when HELPR needs to go down the stairs. This is done to find the right angle before descending, to have no sudden differences in angle and once again remain stable. The wheels can be seen in Figure 5.3.
3. The structure is composed of tracks, and a driver wheel system, typically used when employing tracks to drive them (Figure 5.4).One of the wheels is connected to a DC motor. There is rigid structure behind the tracks, to ensure that everything stays in place, as well as creating a space to attach the platform and the linear actuators.
5.1 Material selection
To select the materials of the final product, Granta Edupack was used to define the best materials based on the function, objective, constraints and variables of the materials. For the prototype, the focus was on the access of the manufacturing tools, as well as selecting materials that would suffice for a proof of concept.
As mentioned in the eco-analysis in chapter 2, the primary materials used are MDF and PLA. They are cost-effective materials that can easily be manufactured into the required pieces. Keeping in mind the eco-analysis, the goal is to use MDF rather than PLA when possible.
The whole structure of the robot was built from MDF. This includes the chassis, the side-walls, the platform and the electronics box. Parts of the linear actuator were build in MDF as well. Additionally, scaled-down stairs were made to test the prototype, and they were made with MDF as well.
For the (driver) wheels, PLA was used. As the cylindrical(esque) shape is around 25cm long, 3D printing was the more suitable method. Laser cutting 4mm MDF would have been possible, but those pieces would have had to be glued together, which would have been both time consuming and prone to misalignment.
Similarly, angled re-enforcement to connect the chassis and the sensors to the side-walls were made in PLA, as well as the motor holders. The only mechanical part that wasn’t made from either PLA or MDF are the tracks, which were ordered online. Rubber tracks were chosen, as rubber is a material with a load a traction, and it is lighter and less noisy compared to steel tracks. It is also more cost-effective.
5.2 Manufacturing methods
As mentioned above, the manufacturing methods selected were chosen on what was accesible to us during the creation of the project. The two most used techniques were lasercutting and 3D printing.
The laser cutter was used to cut the sheets of 4mm MDF. This method allows for very precise and intricate cuts according to the CAD shown above. The precision of the laser cutter was used to ensure that pieces fit tightly together.
The 3D printer was used to make the 3D parts that were too complex to produce with only the laser cut- ter. This includes the (driver)wheels, the motors and various attachments. This method allows for quick manufacturing, as well as overnight manufacturing.
Aside from this, a few manual manufacturing methods were used as well. First, drilling was used to add additional holes without needing to recut the whole piece. Second, the angle grinder was used to cut iron rods, which were used to attach the linear actuator or as part of it.
5.3 Assembly
To enable fast prototyping, we decided we didn’t want to glue any parts of the robot, despite the advantages of weight and aesthetics. Instead, we used fasteners, screws and bolts, which could easily be changed if needed. This allowed us to reduce waste while assembling the prototype, and the use of standard sizes simplified the process for current and future assemblies.
A more detailed assembly guide can be found in chapter 7. The goal is to be able to work on subsystems separately as much as possible, encouraging parallel work as well as easy repeatability. This is why, for example, the side walls and the linear actuator can be assembled and tested separately, with only needing to be brought together at the end.
Design of Sub-Systems
6.1 Mechanical Sub-System
6.1.1 Motor selection
Simple DC motors were selected since no specific requirements such as high speed or precise position control are needed. A preliminary static analysis was performed to estimate the minimum torque required for stair climbing. At this stage of development, the total mass of the prototype (structure + payload) is not precisely known; therefore, it is conservatively assumed to be 2 kg.
The variables used in the analysis are defined as follows:
- F_T: Traction force
- m: Total mass of the robot
- R: Radius of the drive sprocket
- T: Motor torque
The traction force required to maintain equilibrium is given by Equation 6.1, based on the free-body diagram in Figure 6.1. The angle of 32° is based on the scaled down stairs, which are a miniature of the stairs found in the FabLab.
F_T = mg⋅sin(32°) (6.1)
Since the robot is driven by two identical motors sharing the load equally, the torque required per motor is given in Equation 6.2. This results in an approximate required torque per motor of 0.79 kg·cm.
T = (F_T⋅R)/2 = (mg⋅R⋅sin(32◦))/2 ≈ 0.79 kg·cm (6.2)
Based on this result, the JGA-370 12 V, 130 RPM DC motor was selected. This motor provides a rated torque of 1 kg·cm and a stall torque of 3.6 kg·cm [14], offering sufficient margin to compensate for unmodeled losses.
6.1.2 Wheels
To use the rubber track, a sprocket is required. Since no sprocket was provided with the purchased track, one was designed and manufactured using 3D printing. The track features small, evenly spaced teeth; therefore, the number of holes required on the sprocket must be determined.
To simplify the analysis, 2 assumptions are made. First, the teeth are considered rigid and do not deform, meaning only the spacing between them changes when the track bends. Second, the trajectory from the flat section of the track to the region wrapped around the sprocket is such that the midpoint of each tooth follows a straight line.
where:
- a: middle distance between two consecutive teeth on the flat track,
- R: radius of the sprocket,
- θ: angular spacing between two adjacent teeth.
From the geometry shown in Figure 6.2, the angle θ can be obtained using basic trigonometry:
θ = 2⋅arctan(a/2R) (6.3)
The number of holes N required on the sprocket is then given by:
N = 2π/θ (6.4)
Since the resulting value of N is generally not an integer, and the number of holes in the sprocket must be a whole number, N is rounded up. The calculated value represents the minimum number of holes required to ensure proper engagement between the track and the sprocket, so rounding down would result in insufficient engagement.
6.1.3 Mechanical mechanism
In order to smoothly land on the floor after climbing the stairs, wheels must be deployed and then retracted once the robot is fully on the floor. To achieve this, a simple mechanism employing a linear actuator was designed.
The design of this subsystem is carried out in two steps. First, the mechanism is created and validated using a motion generation tool to define its movement. Second, the linear actuator is modeled in 3D and integrated into the overall design.
Mechanism creation
When designing this contraption, several key constraints must be considered. It must be very compact to fit within the available space. When fully deployed, the mechanism should form an angle corresponding to the incline of the stairs . Additionally, the geometry of the mechanism must avoid configurations that produce singularities, where the motion would require infinite acceleration (see 6.4b), ensuring smooth operation throughout the full range of movement. To do this, we used Motiongen.io. This is an online and free motion generation tool that allows to tinker with linkages. After playing around for a bit, the design in Figure 6.3 was found. The mechanism consists of a linear actuator (in blue) connected to a single link (in green). One end of the link is fixed to the robot chassis, while the other end is attached to the wheel. The actuator drives the motion of the link, allowing the wheel to deploy and retract smoothly.
As stated before, we need to avoid the situation where the mechanism fights itself. Thankfully, motiongen provides joints graph of how the position,velocity and acceleration evolve during the whole motion of the mechanism, as shown in Figure 6.4.
Actuator design
Before diving into the cad design, the lead screw and motor have to be dimensioned. To do that the maximum force required to lift the robot needs to be calculated. Since the motion will be very slow, any inertial effect can be ignored, so a quasi-static analysis was done.
where:
- M : Distance between the rear wheel and the fixed joint of the actuator.
- J : Distance between the rear wheel and the fixed joint of the link.
- H : Distance between the rear joint of the link and its front.
- L/L′: Linear actuator length.
- E : Distance between the rear wheel and the wheel of the actuator.
- F_a : Force applied by the actuator.
- G: Fictitious center of mass of the robot, Assumed to be at 3/4 of the distance ||ok|| ( 20 cm ) as a worst case scenario.
From Figure 6.5b, a torque balance with respect to the point O is computed:
F_a =(mg⋅||OG||⋅cos(ψ))/(E(cos(α)) (6.5)
At this stage, the relationship between ψ, α and E could be derived analytically, and the variation of the actuator force F_a could be evaluated numerically over the entire range of motion. However, a simpler approach can be adopted.
The worst-case scenario occurs when the wheel of the lifting mechanism is at the same vertical level as wheel k, corresponding to the instant when it first contacts the ground. Beyond this configuration, increasing ψ causes Fa to become more vertically oriented, which increases the resulting torque for the same applied force. Consequently, the actuator is required to deliver less force.
Using Motiongen, the values of α and E corresponding to this critical configuration can be directly obtained
and ψ is simply zero as the robot hasn’t started lifting yet, simplifying Equation 6.5 into Equation 6.6.
F_a =(2g⋅||15||⋅cos(0))/(19(cos(54)) = 26.35N (6.6)
Now that a baseline force has been determined, the motor and the lead screw can be dimensioned. To keep the required motor torque low, a relatively small lead-screw diameter is preferred. For this reason, a T8 lead screw was selected: it is readily available and provides a good balance between compact diameter and sufficient stiffness.
Another key parameter is the number of starts. Increasing the number of starts increases the vertical travel (lead) per revolution, but it also raises the risk of back-drivability, which is undesirable for this application. Therefore, a lower number of starts is favored to improve self-locking behavior while maintaining acceptable motion performance. Therefore, a 2 mm lead was selected, as it provides good self-locking behavior while remaining widely available and cost-effective.
The minimum torque required to lift the robot can now be computed. Using standard formulas for power screws, the torque required to raise the load is given by Equation 6.7 [16].
T_(raise) = (F_a⋅d_m)/2 ⋅ (l + π⋅μ⋅d_m⋅sec(β))/(π⋅d_m − μ⋅λ⋅sec(β)) (6.7)
- F_a : force applied by the actuator,
- d_m is the mean diameter,
- β: thread angle,
- μ: coefficient of friction,
- l : lead of the screw.
As shown in Equation 6.7, the required torque strongly depends on the coefficient of friction between the nut and the screw. For a dry contact between a copper nut and a steel screw, the static coefficient of friction is approximately μ_(dry) = 0.53 [17]. Since the static coefficient for the greased contact is not explicitly reported, we conservatively assume it to be half of the dry one, i.e., μ_(lub) = 0.265. Using the force 6.6, we get :
T_(Dry) = 6.8 N·cm = 0.69 kg·cm T_(Greased) = 3.6 N·cm = 0.37 kg·cm (6.8)
For simplicity and due to availability,the same motor as the one used to propel the robot is chosen. Moreover, this gives us a good overhead to compensate the simplifications (position of center of mass, mechanical losses...) made for the calculated force.
Finally, we need to verify that the actuator remains non-back-drivable, i.e., that the screw is self-locking. This property is important because it eliminates the need to continuously apply torque from the motor, saving energy, and ensures that the robot remains stable in case of a failure. The screw is self-locking if the following condition is satisfied:
μlub π dm > l (6.9) ⇐⇒ 4.55 > 2 (6.10)
This condition, taken from [16], shows that self-locking depends only on the lead, the mean diameter, and the coefficient of friction, and is independent of the applied load. We use the lubricated coefficient of friction, as it is the worst-case scenario. As the inequality is satisfied, the screw remains self-locking.
The design choices behind the 3D model can now be discussed. To minimize the amount of 3D printing required, an open-case design was selected. The structure was laser cut and assembled using M4 threaded screws, which provide sufficient stiffness while keeping the assembly relatively lightweight. While this approach reduces material usage, it exposes the lead screw and gears to the environment, which can reduce the lifespan of the applied grease and make the assembly slightly more cumbersome.
To achieve a compact layout, the motor was placed parallel to the lead screw. Power transmission is ensured using three gears of identical size; as a result, the torque and rotational speed at the lead screw are equal to those of the motor minus the efficiency losses (typically around 10%). The final design is shown in Figure 6.7.
6.1.4 Angle of attack of side plate
To prevent slipping at the beginning of the ascent and to maximize the transmitted torque, an angle of attack θ is introduced between the line of action of the driving force and the normal to the stair surface. Rather than solving the entire dynamic system, we seek to find the value of θ that makes the climb as easy as possible. Mathematically, this amounts to maximizing the lift moment generated by the front contact around the rear contact point (A). If this moment is maximized, the effort required by the motor to lift the front of the robot is minimized, and the risk of tipping backward is reduced. The figure illustrates the robot’s inclined trajectory and its reaction forces as it begins to climb the first step.
Notation:
- L :Length of the track in contact with the ground
- H : Step height
- β: The angle of the robot relative to the horizontal with β ∈ [0, arctan(H /L)]
- μ: Friction coefficient between tracks and surface
- N : Normal force reaction at the contact point
- L_c : Position of the center of mass relative to the rear of the robot
Contact forces follow Coulomb’s law:
F_A = μ⋅N_A , F_C = μ⋅N_C (6.11)
The mechanical analysis based off Figure 6.8 gives:
∑ F_x = F_A + F_C⋅cos(θ + β) − N_C⋅sin(θ + β) (6.12)
∑ F_y = N_A + F_C⋅sin(θ + β) + NC⋅cos(θ + β) − m⋅g (6.13)
∑ M_A = L⋅N_C (cos(θ + β) + μ⋅sin(θ + β)) − H⋅NC(sin(θ + β) + μ⋅cos(θ + β)) − m⋅g(L_c⋅cos (β)) (6.14)
The condition β = 0 defines the critical point, where maintaining a specific angle of attack becomes imperative to prevent falling. After simplification 6.14 become:
∑ M_A = L⋅N_C (cos(θ) + μ⋅sin(θ)) − H⋅NC(sin(θ) + μ⋅cos(θ)) − m⋅gL_c (6.15)
To maximize MA , it’s derivative with respect to θ is set to zero:
dM_A/dθ = L⋅N_C (− sin(θ) + μ⋅cos(θ)) − H⋅N_C(cos(θ) − μ⋅sin(θ)) = 0 (6.16)
This leads to:
−(L − H⋅μ) sin θ + (L⋅μ − H ) cos θ = 0 (6.17)
Thus,
tan θ = (L⋅μ − H)/(L − H⋅μ) (6.18)
The optimal angle of attack is therefore:
θ_(opt) = arctan( (L⋅μ − H)/(L − H⋅μ) ) (6.19)
The length L is strongly influenced by the height H and the length of the stair tread, because continuity during ascent/descent can only be ensured if the minimum length of L is such that the robot is in contact with the ends of three consecutive steps of the staircase, the value of θ found is 32°. This angle was used to design the side plates that support the track and wheels.
6.2 Electronics Sub-System and Software Strategy
6.2.1 Overview
The software architecture of the stair climbing robot is designed to ensure reliable interaction with multiple hardware components. The control strategy combines manual user input, autonomous decision-making based on sensor feedback, and safety-oriented state management.
6.2.2 Hardware Interfaces Managed by the Software
The embedded software running on the Arduino microcontroller interfaces with the following hardware components:
- DC motors (left and right): driven by an L298N H-bridge using PWM speed control and digital direction signals.
- Linear actuator: controlled by a dedicated L298N channel, allowing extension, retraction, and full stop.
- Time-of-Flight sensors (VL6180X): two distance sensors used for stair detection and landing recognition.
- Bluetooth module (HC-06): enables remote manual control and system-level commands.
- Wheel encoders: provide real-time rotational feedback for closed-loop motor speed regulation.
- Hall sensor (49E): used as a limit switch for the actuator.
6.2.3 Communication and Sensor Management
Bluetooth Communication
Bluetooth communication is implemented using a SoftwareSerial interface. The HC-06 module enables the user to issue real-time commands for manual navigation and system control. The main commands include:
- Forward and backward motion control
- Motor stop command
- Emergency stop
- System restart after emergency stop
Bluetooth commands directly influence the robot’s target speed or state, depending on the current operating mode.
Time-of-Flight Sensors (VL6180X)
Two VL6180X Time-of-Flight sensors are used to detect the environment during stair climbing. The frontfacing sensor detects the presence of the first stair step. The inclined sensor detects the beginning and the end of the stair and confirms flat ground during descent. Figure 6.9 shows how these two sensors are placed on the robot to detect the environment as explained, they are the blue devices attached to the side plate.
Since both sensors share the same I2C address, the software avoids address conflicts by using their SHDN (shutdown) pins. The implemented strategy is as follows:
- Both sensors are powered down by default.
- Only one sensor is activated at a time via its SHDN pin.
- The active sensor is initialized, read, and then powered down again.
This approach ensures reliable distance measurements while allowing multiple identical sensors on the same I2C bus.
6.2.4 Motor and Actuator Control
Motor and Encoder
The left and right track motors are controlled using PWM signals for speed and digital outputs for direction. Although both motors are of the same brand, their characteristics are not identical. Encoders are used to determine the speed and direction of rotation via two quadrature signals (only one signal is used to calculate speed for this project). At each rising edge of a signal, an interrupt routine is executed to increment a position counter. The speed is then deduced from the position on a periodic basis.Motor speed regulation is performed using a closed-loop PI controller based on wheel encoder feedback.
The controller continuously computes the required motor command to reach a desired target speed (RPM), ensuring:
- Smooth acceleration and deceleration
- Compensation for load asymmetry between tracks
- Stable motion during autonomous stair climbing and descent
Motion commands (forward, backward, stop) are implemented by modifying the target speed supplied to the controller rather than directly setting PWM values. The encoder acquisition and control logic are fully implemented in the software architecture and integrated into the main control loop. However, at the time of writing, this closed-loop control has not yet been validated on the final robot prototype. The PI control strategy itself has been tested independently under laboratory conditions, where it demonstrated stable speed regulation, proper disturbance rejection, and consistent tracking of target RPM values.
This validates the correctness of the control logic and confirms that the encoder-based regulation can be reliably activated on the final system once full hardware integration is completed.
Linear Actuator
The linear actuator is controlled independently from the track motors. Its control logic includes direction control via digital signals and speed modulation via PWM.Dedicated software functions allow extension, retraction, and stopping of the actuator.
6.2.5 Control Logic: Finite State Machine
The overall behavior of the robot is governed by a finite state machine (FSM) designed to ensure clarity, robustness, and safety. Four main operating modes are implemented:
- MANUAL: The robot is fully controlled by the user via Bluetooth. During this mode, the system continuously monitors the front ToF sensor to detect the presence of stairs.
- AUTO_ASCEND: Automatically triggered when the first stair step is detected. The robot moves forward at a controlled speed while monitoring the inclined ToF sensor to determine when the ascent is complete.
- AUTO_DESCEND: Activated after reaching the top of the stairs. The robot descends at a reduced speed to ensure safe landing, returning to manual mode once flat ground is detected.
- EMERGENCY_STOP: Immediately disables all motors and actuators. The system remains locked in this state until a manual restart command is received via Bluetooth. This state-based architecture provides a clear separation between manual control, autonomous behaviors, and safety-critical conditions.
The code is found in the file "final_code.ino". You can also find the complete Software Flow chart linked below.
6.2.6 Remote App
Briefly, an Android application was developed using MIT App Inventor to manually control the robot. The interface includes several buttons corresponding to the main functions described earlier. The left arrows control the forward and backward motion of the robot, while the right arrows control the actuator. The red button serves as an emergency stop, and the green button is used to exit the emergency state. Finally the Bluetooth button serves to pair a device (check the corresponding picture).
6.2.7 Electronic circuit
The complete electrical diagram below shows the interconnection of all selected components. This was created using Kicad software. While a breadboard was used to facilitate rapid prototyping, this diagram could also be used for PCB routing.
Integration Guide
A detailed, step by step guide provides the explanations to set up the different components into our proto-
type.
- Attach the motor drivers with M2.5 screws to the side-walls in the pre-made laser cut holes.
- Attach the ToF sensors to their brackets and attach the bracket to the side walls. The holes are pre-made, one ToF is parallel with the floor and one is at 32 degrees.
- Insert the bearings for the driver wheel towards the back of each side-wall, in the pre-made laser cutter hole.
- Connect the side walls to the chassis trough the laser cut connections. Reinforce those connections with the square brackets, with M2.5 screws and bolts.
- Assemble the platform to the chassis with M6 bolts, and assemble the walls of the platform with the laser cut connections.
- Assemble the linear actuator (refer to figure 7.1 for the parts numbering):
- Fix the plastic part (1) to the wooden part (2).
- Attach the support for the middle worm gear (3) to the wooden part (2).
- Using M4 threaded screws and nuts, assemble parts (2), (5), (6), and (7).
- Fix the motor (9) to part (5).
- Insert the ball bearing (8).
- Insert the lead screw and nut into the plastic part (10) an insert the whole thing in the ball bearing (8).
- Attach the gears (4) to their respective rods: the left gear to the motor shaft, and the right gear to the lead screw (not shown here).
- Finally, insert part (11) onto the M4 screws and secure it. Tighten all nuts and ensure that the distance between the hole in part (1) and the hole in part (10) is correct (10 cm).
- Install the linear actuator :
- Using an M8 threaded screw and nuts, attach the rear of the assembled actuator (1) to the upper mounting hole on the robot chassis.
- Attach the two wooden links (Figure 7.2) to the lower mounting hole on the chassis using M8 screws.
- Finally, using an M8 screw, attach the front hole of the actuator to the two wooden links, placing the two 3D-printed wheels in between. It should look like this Figure 6.9.
- Assemble the electronics box:
- Install the motor holders on the top of the electronics box with M4 screws. Screw the motors into the motor holders with M3 screws.
- Assemble the walls of the electronics box into the chassis trough the laser cut connections.
- Install the PCB in the electronics box. Route and secure the cables to the motors, drivers and sensors, while making sure they don’t interfere with anything.
- Close the electronics box using the laser cut connections.
- Connect the driver wheels trough their bearings and connect it it to the motor.
- Attach 5 wheels per side-wall, using M8 bolts into the slots. The bearings turning the wheels is aligned by using 2 bolts. All the slots in the 3D printed wheels should align with the slots in the driver wheel to avoid track slippage.
- Add the tracks.
Demo Project Show + Quick Start Guide
In the video, a demonstration of the robot in action is shown. First, we how the robot climbs the stairs. This is followed by a demonstration of the extra wheel driven by our linear actuator, which ensures that the robot doesn’t tip over when it reaches the last step. After this is done, the robot goes down the stairs, with the extra wheel angling it at the right angle before descending.
Crictical Review
In this chapter, we will have a critical look at our prototype, and express what we would like to improve in future iterations.
First, to make a proof-of-concept prototype, we scaled down to a smaller size to adapt to the available tracks online. This lead to two limitations: the prototype only works on scaled down stairs, and the smaller frame didn’t leave any room for a second linear actuator, which would have been used for the self-leveling plat- form. We believe this would have been an interesting addition that would allow for more diversity in the shapes of the loads being carried.
There were also various possible improvements on the scaled down prototype that would be possible.
A first area of improvement is the tracks, which, as could be seen in chapter 9, can still slip from the robot. Better alignment between the wheels and the driver wheel could help prevent this. The driver wheels weren’t always aligned with the motors. This could be due to the electronics box missing brackets to better anchor it into the side walls. More testing would be required to determine the issue, and possible solutions more clearly.
A second area of improvement is the further automation of the robot. Using an accelerometer, the linear actuator could have sensed when it touched ground, automating this step of the process. A third ToF sensor could also be used to go down the stairs. On the electronics level, creating a custom PCB design would help minimize the space taken up by the electronics, as well as reduce the wiring and thus the chances of issues arising with the wiring.
Sustainability
There are different aspects to consider when looking at the environmental friendliness of HELPR. The first is that the main materials are MDF and PLA. As mentioned in the eco-analysis, MDF is not recyclable but it is biodegradable. It is also made from wood production byproducts. PLA is also made from bio-materials, but it is not biodegradable. While it can be recycled, there aren’t currently a lot of facilities enabling this. This is also why, moving on to the final design, the goal is to use aluminium for the parts. This will provide the sturdiness needed, with the benefit of having high recycling rates.
HELPR is also energy efficient when in use, as it uses an electric actuation. This means that there are no direct emissions during operation. The closed-loop motor control also reduces unnecessary power consumption and wheel slip during stair climbing.
The goal with HELPR is to have a reliable product, and as such, life-time is essential. The goal is to have a long service life trough its structural design based on strength, fatigue, and impact loading to reduce failure and replacement frequency. The drivetrain is also designed to limit wear when climbing stairs and obstacles.
In case anything fails, the robot is designed for repairability. First, a modular design was used. Motors, tracks, electronics, and platform can all be replaced independently. There aren’t a lot of pieces, and disassembly is further made easy trough our use of bolted joints instead of permanent bonding. This also repairs recycling in end-of-life, as the aluminum structure can be separated and reused or recycled efficiently.
Bill of Materials
The breakdown of the cost of this prototype can be found in Table 11.1. The price of 3D printer part was derived from the cost given by the Prusa slicer. The high quantity of laser cut pieces is due to the need to create appropriate stairs in addition to the prototype. As seen in Figure 11.1, less than a third of the required MDF is for the prototype, the rest being needed for the stairs.
Team Presentation
Project Repo
References
[1] Eurostat, Population structure and ageing, Accesed on 13 December 2025, Feb. 2025. [Online]. Avail-
able: https://ec.europa.eu/eurostat/statistics-explained/index.php?title=Population_
structure_and_ageing#Source_data_for_tables_and_graphs.
[2] K. R. Freiberger E Sieber CC, “Mobility in older community-dwelling persons: A narrative review.,”
Front Physiol., 2020.
[3] Eurostat, Disability statistics - elderly needs for help or assistance, Accesed on 13 December 2025, Aug.
2022. [Online]. Available: https://ec.europa.eu/eurostat/statistics- explained/index.
php?title=Disability_statistics_-_elderly_needs_for_help_or_assistance.
[4] Eurostat, House or flat: Where do you live? Accesed on 13 December 2025, May 2021. [Online]. Avail-
able: https://ec.europa.eu/eurostat/web/products-eurostat-news/-/ddn-20210521-1.
[5] C. Crist, Injuries on stairs occur in all age groups and abilities, Accesed on 27 December 2025, Oct.
2017. [Online]. Available: https://www.reuters.com/article/business/healthcare-pharmaceuticals/
injuries-on-stairs-occur-in-all-age-groups-and-abilities-idUSKBN1CE1Z3/.
[6] J. V. Jacobs, “A review of stairway falls and stair negotiation: Lessons learned and future needs to
reduce injury,” Gait Posture, vol. 49, pp. 159–167, 2016, ISSN: 0966-6362. DOI: https://doi.org/
10.1016/j.gaitpost.2016.06.030. [Online]. Available: https://www.sciencedirect.com/
science/article/pii/S0966636216301096.
[7] Vlaanderen, Veilige trappen en overlopen, Accesed on 13 December 2025. [Online]. Available: https:
//woningpas.vlaanderen.be/web/woningkwaliteit/veilige-trappen-overlopen-borstweringen/
aan-de-slag/veilige-trappen-en-overlopen.
[8] Q. robotic systems, Rosa beta, Accesed on 13 December 2025, 2025. [Online]. Available: https : //
quantumroboticsystems.com/stor.
46
[9] Q. R. Systems, Rosa: Robotic stairclimbing assistant - a service robot that carries things in your home,
Accesed on 13 December 2025, Youtube, 2020. [Online]. Available: https : / / www . youtube . com /
watch?v=TVXUfozAdjg.
[10] G. Kim, H. Chung, and B.-K. Cho, “Mobinn: Stair-climbing mobile robot with novel flexible wheels,”
IEEE Transactions on Industrial Electronics, vol. 71, no. 8, pp. 9182–9191, 2024. DOI: 10.1109/TIE.
2023.3319739.
[11] CompanyShop, Stairrobot sr1750h, Accesed on 13 December 2025. [Online]. Available: https://www.
companyshop.fr/stairrobot-sr1750h-1000-kg-de-capacite-de-charge.
[12] F. NACCARATO, Stair traversing device, US10925782B2, Feb. 2021. [Online]. Available: https://patents.
google.com/patent/US10925782B2/en?oq=US10925782B2.
[13] S. M. JO, J. Choi, and H. Chung, Delivery robot control apparatus and method thereof, US12115898B2,
Oct. 2024. [Online]. Available: https://patents.google.com/patent/US12115898B2/.
[14] idk, Dc gear motor, https://docs.microver.ch/_downloads/0037ddb97311dc467291c55d9224fee7/
JGA25-370.pdf, idk, 2024.
[15] amazon, Leadscrew, https://www.amazon.co.uk/screw-pitch-Thread-Trapezoidal-Threaded/
dp/B0CXLNK2ZV?th=1, idk, 2020.
[16] LBL, Power screws, https://www.youtube.com/watch?v=BstZUC4tcOA&list=PLI9sH8L3fqJq-
SqOuZ2xnY4H-6CbbAXuV&index=1/JGA25-370.pdf, idk, 2020.
[17] some guy i guess, Friction - coefficients for common materials and surfaces, https://www.engineeringtoolbox.
com/friction-coefficients-d_778.html, idk, 2020.
[18] HOMOBABE, Homobabe 2pièce bandes de roues pour robot facile à installer adhérence optimale sur
toutes, https : / / www . amazon . com . be / HOMOBABE - Tanktracks - Eenvoudige - Installatie -
Kettingwielonderdelen/dp/B0F1SZXXFS/ref=sr_1_7, Accesed on 18 December 2025, 2024.
[19] K. Kikuchi, K. Sakaguchi, T. Sudo, N. Bushida, Y. Chiba, and Y. Asai, “A study on a wheel-based stair-
climbing robot with a hopping mechanism,” Mechanical Systems and Signal Processing, vol. 22, no. 6,
pp. 1316–1326, 2008, Special Issue: Mechatronics. [Online]. Available: https://www.sciencedirect.
com/science/article/pii/S0888327008000733.
[20] F. NACCARATO, Stair traversing device, Feb. 2023.
[21] J. COLLIBAULT and G. LECOMTE, Motorized handling truck, US10479385B2, Nov. 2019. [Online].
Available: https://patents.google.com/patent/US10479385B2/.
[22] AliExpress, Bringsmart dc 12v 10rpm high torque worm gear motor, https://nl.aliexpress.com/
item/32864300083.html, Accesed on 14 December 2025, 2024.
47
[23] RubTrack, Rubtrack 70x20x75 diy robot tracks, https : / / www . rubtrack . com / project / robot -
tracks/, Accesed on 14 December 2025, 2024.
[24] GimsonRobotics, Gla-q40 12v 250n linear actuator with encoder, https://gimsonrobotics.co.
uk/products/gla-q40-12v-250n-compact-fast-travel-linear-actuator-with-encoder,
Accesed on 14 December 2025, 2024.
[25] AliExpress, L298n dual h-bridge motor driver module, https://nl.aliexpress.com/item/1005006135632101.
html, Accesed on 14 December 2025, 2024.
[26] Statbel, Labour cost, Accesed on 14 December 2025, Oct. 2022. [Online]. Available: https://statbel.
fgov.be/en/themes/work-training/wages-and-labourcost/labour-cost.