ROS Resources: Documentation | Support | Discussion Forum | Service Status | Q&A

Self Balancing Robot tries to climb stairs!

There was some encouragement to post about my balancing robot here on discourse. So I decided to write my first entry. If you want to know more, feel free to leave a comment below :slight_smile: Please also write about your ideas and whether you would like to build one of these robots yourself.


Currently, due to current global situation, I have some free time to focus on fun projects. And this is a project which I had in mind for several years now. My goal is to build a small robot, which is capabale to ride stairs elegant (Not so elegant but simple solution) and simple (Not so simple but actually quite good solution and much less simple but awesome solution)

Most solutions I found were different from what I wanted to do. But there is one video, which must be mentioned here. Because it helped me to come up with my design. (Clever design linked here)

The benefit of this construction is, that the balancing capabilities of the robot are available even, if the wheel is “stuck” next to a wall/staircase/etc. Due to this benefit the robot won’t be pushed away by the wall but can start to push against it and (if it has enough power) climb it (Not yet climbing things)

As you have seen it is the goal to climb stairs and the robot is not yet able to do it.

But: Utilizing only a single, simple PID controller to make the robot balance, shows - in my opinion - some potential, which is enabled by this design choice.


I am using ROS 2.0 (Play cheering background sound here) on a Raspberry PI 3b with a Navio2 board for the orientation measurement. Two brushless gimbal motors and two quite simple brushless gimbal motor controllers to drive the robot around. And there are a lot of 3d printed parts to form the robot itself. I hope to make these parts open source soon. (Go here to find out more)

The current performance of the robot shows in my opinion some potential, but I feel there is first and foremost not enough power available in the drive train.


So my plan is to update the simple unregulated brushless controllers with the ODrive board and add some encoders to have more power while not overheating the motors.

As soon as it can drive around safely. I would like to add some autonomous driving capabilities utilizing the lidar on top (and maybe giving the lidar some more space to better observe the environment) with the ros2 planner package. And of course I want to ride stairs (… in matching scale)

Thats it for now :slight_smile: Feel free to comment below and …


Enjoy making fun stuff with ros!


This is really cool!

@jon this reminds me of the robot you built that was similar to this (well maybe different dynamics, but physically it looks similar).


Yeah, cool! I like the hub-less wheels! The problem I had with a similar 2 wheel design was that if the motors applied too much torque, the center portion of the robot would spin in place :stuck_out_tongue:

1 Like

Hubless wheels rock.