1.运动功能说明
双节履带车可以通过两个驱动轮的差速运动来实现前进、后退、原地转向、大半径转向等基本行驶功能,并可通过舵机关节模块进行小臂的抬起和落下。通过底盘运动与小臂运行的结合,实现上台阶、通过坑洼地面等功能。
底盘前进与后退
底盘原地转
底盘大半径转向
小臂运行
利用小臂抬起和放下,可以攀爬障碍和楼梯
利用小臂抬起和放下,可以攀爬障碍和楼梯
2.结构说明
该样机由两组共源驱动的小型带传动模组和1个舵机关节模组构成。履带模组呈轴对称分布在车架上。舵机关节模块安装在小车车头方向的两个履带模块中间,驱动小臂抬起。
3.运动功能实现
在这个示例中,我们采用了以下硬件,请大家参考:
将2个圆周舵机分别装在Bigfish扩展板的舵机引脚上,左侧圆周舵机接D3号引脚,右侧圆周舵机接D4号引脚。将关节模块的舵机接在D7号引脚。并将主控板和电池在车身固定好。
3.2 编写程序
前摆臂运动的代码
/*------------------------------------------------------------------------------------ 版权说明: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 //调用舵机库 #define Servo_Pin 7 //定义舵机引脚号 #define Servo_Up 180 //定义前摆臂向上时角度值 #define Servo_Down 90 //定义前摆臂向下时角度值 #define Servo_Level 135 //定义前摆臂保持水平时角度值 Servo ServoArm; //声明舵机对象 voiddown(); //前摆臂向下 voidup(); //前摆臂向上 voidnormal(); //前摆臂与地面保持平行 //程序初始化部分:使能舵机对象 voidsetup() { ServoArm.attach(Servo_Pin); } //主程序部分:前摆臂循环执行【向上1.5秒、水平1秒、向下1.5秒、水平1秒】动作组 voidloop() { arm_up(); //前摆臂向上 delay(1500); arm_level(); //前摆臂水平 delay(1000); arm_down(); //前摆臂向下 delay(1500); arm_level(); //前摆臂水平 delay(1000); } //前摆臂与地面保持平行 voidarm_level(){ ServoArm.write( Servo_Level ); } //前摆臂向上 voidarm_up(){ ServoArm.write( Servo_Up ); } //前摆臂向下 voidarm_down(){ ServoArm.write( Servo_Down ); } |
4.扩展样机
本样机可以根据实际需要改变履带的长度,也可以改变传动方式,比如下图所示扩展样机,在前臂上使用了连杆组传动方案,样机体积也更小。
审核编辑黄昊宇
-
机器人
+关注
关注
211文章
28389浏览量
206941
发布评论请先 登录
相关推荐
评论