本文示例将实现R281b样机杠杆式6轮爬楼机器人爬楼梯的功能(注意:演示视频中为了增加轮胎的抓地力,在轮胎上贴了双面胶,请大家留意)。

杠杆式6轮爬楼机器人是一种专门用于爬升楼梯或不平坦地面的机器人,它采用了杠杆原理和六个特殊设计的轮子。具备以下特点:
① 杠杆原理:机器人利用杠杆原理来提供抬升和支撑力,以适应爬升楼梯或不平坦地面的需求。通过调整杠杆的角度和长度,可以产生足够的力量来克服阻力并保持稳定。
② 六轮六驱:该机器人配备六个驱动轮,布置成两组三个轮子。每组的轮子之间有一定的间距,以保证在爬升楼梯或行走时能够保持稳定性。这种布局还可以提供良好的承载能力和平衡性。
③ 驱动系统:机器人的每个轮子都配备了独立的驱动装置,采用直流马达作为动力源,这样可以实现单独控制每个轮子的转动速度和方向,从而确保机器人在移动过程中的平稳性和灵活性。

在这个示例中,我们采用了以下硬件,请大家参考:
| 主控板 | |
| 扩展板 | |
| 电池 | 7.4V锂电池 |
编程环境:Arduino 1.8.19
下面提供一个杠杆式6轮爬楼机器人爬楼梯的参考程序(sketch_sep15b.ino):
- /*------------------------------------------------------------------------------------
- 版权说明:Copyright 2023 Robottime(Beijing) Technology Co., Ltd. All Rights Reserved.
- Distributed under MIT license.See file LICENSE for detail or copy at
- https://opensource.org/licenses/MIT
- by 机器谱 2023-09-18 https://www.robotway.com/
- ------------------------------*/
-
- /*
- 本例程采用的是1拖6线进行实验操作
- */
-
- void setup()
-
- {
-
- pinMode( 5 , OUTPUT);
-
- pinMode( 6 , OUTPUT);
-
- }
-
- void loop()
-
- {
-
- moveForward();
-
- delay(100000);
-
- stopMotors();
-
- delay(10000);
-
- }
-
- void moveForward()
-
- {
-
- digitalWrite( 5 , HIGH );
-
- digitalWrite( 6 , LOW );
-
- }
-
- void stopMotors() {
-
- digitalWrite( 5 , LOW );
-
- digitalWrite( 6 , LOW );
-
- }
-
-
本样机有一些简单的扩展案例,如下图所示:

程序源代码及3D样机文件详见 杠杆式6轮爬楼机器人