1. 运动功能说明
本文示例将实现R046样机单马达可换档六足机器人前进的功能。
2. 结构说明
本样机只有一个圆周舵机,却可以通过换挡机构实现前进和转向两种行走姿态。
样机由一个圆周舵机带动一个等速齿轮组(下图所示两枚蓝色齿轮),并由随动齿轮带动一个偏心轮连杆机构,从而带动一侧的三条腿。
同时,并排的两个齿轮利用螺丝头的互相作用构成了一个可以改变偏心轮旋转相位的换挡机构。当右侧齿轮转动时,它的两颗螺丝(蓝色)的螺丝头,会遇到左侧齿轮的螺丝(红色),并带动左侧齿轮转动。
我们把两侧的偏心轮安装成相反的相位(相差180°),当右侧齿轮朝一个放向转动并带动左侧齿轮转动时,两侧的腿就可以做出交替划动、向前爬行的动作。当右侧齿轮反转时,其上的螺丝头要经过约180°的空转才会遇到左侧齿轮的螺丝头,从而自动改变了两侧偏心轮的相位差,将相位调整为接近相同,从而呈现出转向的动作。
3. 电子硬件
在这个示例中,我们采用了以下硬件,请大家参考:
主控板 | Basra主控板(兼容Arduino Uno) |
扩展板 | Bigfish2.1扩展板 |
电池 | 7.4V锂电池 |
电路连接:舵机连接在Bigfish扩展板的D4端口。
4. 运动功能实现
编程环境:Arduino 1.8.19
将参考例程(sketch_may12a.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-05-15 https://www.robotway.com/
------------------------------*/
#include <Servo.h>
Servo servo_pin_4;
void setup()
{
servo_pin_4.attach(4);
}
void loop()
{
servo_pin_4.write( 50 );
delay( 3000 );
servo_pin_4.write( 140 );
delay( 1000 );
}
程序源代码及样机3D文件资料内容详见 单马达可换档六足-概述