1. 功能描述
本文示例将实现R281b样机杠杆式6轮爬楼机器人爬楼梯的功能(**注意:**演示视频中为了增加轮胎的抓地力,在轮胎上贴了双面胶,请大家留意)。
2. 结构说明
杠杆式6轮爬楼机器人是一种专门用于爬升楼梯或不平坦地面的机器人,它采用了杠杆原理和六个特殊设计的轮子。具备以下特点:
① 杠杆原理:机器人利用杠杆原理来提供抬升和支撑力,以适应爬升楼梯或不平坦地面的需求。通过调整杠杆的角度和长度,可以产生足够的力量来克服阻力并保持稳定。
② 六轮六驱:该机器人配备六个驱动轮,布置成两组三个轮子。每组的轮子之间有一定的间距,以保证在爬升楼梯或行走时能够保持稳定性。这种布局还可以提供良好的承载能力和平衡性。
③ 驱动系统:机器人的每个轮子都配备了独立的驱动装置,采用直流马达作为动力源,这样可以实现单独控制每个轮子的转动速度和方向,从而确保机器人在移动过程中的平稳性和灵活性。
3. 电子硬件
在这个示例中,我们采用了以下硬件,请大家参考:
|-----|-----------------------------------------------------------------------------------------------|
| 主控板 | Basra主控板(兼容Arduino Uno) |
| 扩展板 | Bigfish2.1扩展板 |
| 电池 | 7.4V锂电池 |
4. 功能实现
**编程环境:**Arduino 1.8.19
下面提供一个杠杆式6轮爬楼机器人爬楼梯的参考程序(sketch_sep15b.ino):
java
/*------------------------------------------------------------------------------------
版权说明: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 );
}
5. 扩展样机
本样机有一些简单的扩展案例,如下图所示:
程序源代码及3D样机文件详见 杠杆式6轮爬楼机器人