1.运动功能说明
双节履带车可以通过两个驱动轮的 差速运动 来实现前进、后退、原地转向、大半径转向等基本行驶功能,并可通过舵机关节模块进行小臂的抬起和落下。通过底盘运动与小臂运行的结合,实现上台阶、通过坑洼地面等功能。
2.结构说明
该样机由两组共源驱动的 小型带传动模组 和1个 舵机关节模组 构成。履带模组呈轴对称分布在车架上。舵机关节模块安装在小车车头方向的两个履带模块中间,驱动小臂抬起。
3.运动功能实现
3.1 电子硬件
在这个示例中,我们采用了以下硬件,请大家参考:
将2个圆周舵机分别装在Bigfish扩展板的舵机引脚上,左侧圆周舵机接D3号引脚,右侧圆周舵机接D4号引脚。将关节模块的舵机接在D7号引脚。并将主控板和电池在车身固定好。
3.2 编写程序
编程环境:Arduino 1.8.19
前摆臂运动的代码
/*------------------------------------------------------------------------------------ 版权说明:Copyright 2022 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 机器谱 2022-5-26 https://www.robotway.com/
------------------------------------------
实验功能:
实现双节履带小车前摆臂下、上、正常运动。
------------------------------------------
实验接线:
.----------------------.
| |
| |--------------
| | 车头舵机接D7
| |--------------
| |
*----------------------*
------------------------------------------------------------------------------------*/
#include <Servo.h> //调用舵机库
#define Servo_Pin 7 //定义舵机引脚号
#define Servo_Up 180 //定义前摆臂向上时角度值
#define Servo_Down 90 //定义前摆臂向下时角度值
#define Servo_Level 135 //定义前摆臂保持水平时角度值
Servo ServoArm; //声明舵机对象
void down(); //前摆臂向下
void up(); //前摆臂向上
void normal(); //前摆臂与地面保持平行
//程序初始化部分:使能舵机对象
void setup() {
ServoArm.attach(Servo_Pin);
}
//主程序部分:前摆臂循环执行【向上1.5秒、水平1秒、向下1.5秒、水平1秒】动作组
void loop() {
arm_up(); //前摆臂向上
delay(1500);
arm_level(); //前摆臂水平
delay(1000);
arm_down(); //前摆臂向下
delay(1500);
arm_level(); //前摆臂水平
delay(1000);
}
//前摆臂与地面保持平行
void arm_level(){
ServoArm.write( Servo_Level );
}
//前摆臂向上
void arm_up(){
ServoArm.write( Servo_Up );
}
//前摆臂向下
void arm_down(){
ServoArm.write( Servo_Down );
}
|
5.资料下载
样机3D文件
例程源代码
|