机器谱 发表于 2022-11-25 14:08:30

小型三节履带底盘的制作分享

本帖最后由 机器谱 于 2022-11-25 14:08 编辑

1.运动功能说明       双节履带车可以通过两个驱动轮的差速运动来实现前进、后退、原地转向、大半径转向等基本行驶功能,并可通过舵机关节模块进行小臂的抬起和落下。通过底盘运动与小臂运行的结合,实现上台阶、通过坑洼地面等功能。
2. 结构说明       该样机由两组 三节共源驱动履带模组 ,和2个 舵机摆动关节 构成,履带呈轴对称分布在车架上,舵机关节模块驱动小臂抬起。如下图所示,左下和右上的圆周舵机驱动履带,左上的舵机关节驱动上面的两个小臂,右下的舵机关节驱动下面的两个小臂。3. 运动功能实现3.1 电子硬件在这个示例中,采用了以下硬件,请大家参考:Basra主控板(兼容Arduino Uno)、Bigfish扩展板、7.4V锂电池
       将2个圆周舵机分别装在Bigfish扩展板的舵机引脚上,左侧圆周舵机接D4号引脚;右侧圆周舵机接D3号引脚;将车头关节模块的舵机接在D7号引脚;车尾关节模块的舵机接在D8号引脚。并将主控板和电池在车身固定好。
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-31 https://www.robotway.com/
------------------------------------------
实验功能:
          实现三节履带小车前摆臂下、上、水平动作。
          三节履带车后摆臂下、上、水平动作
------------------------------------------
实验接线:

                .----------------------.
                |                      |
   -------------|                      |--------------
   后摆臂舵机:D8 |                      | 前摆臂舵机:D7
   -------------|                      |--------------
                |                      |
                *----------------------*

------------------------------------------------------------------------------------*/
#include <Servo.h>         //调用舵机库
Servo ServoArmHead;          //声明前摆臂舵机对象
Servo ServoArmTail;          //声明后摆臂舵机对象
#define Servo_Head_Pin 7   //定义前摆臂舵机引脚号7
#define Servo_Tail_Pin 8   //定义后摆臂舵机引脚号8
#define Servo_Head_Up 130    //定义前摆臂向上时角度值
#define Servo_Head_Down 40   //定义前摆臂向下时角度值
#define Servo_Head_Level 90//定义前摆臂保持水平时角度值
#define Servo_Tail_Up 130    //定义后摆臂向上时角度值
#define Servo_Tail_Down 40   //定义后摆臂向下时角度值
#define Servo_Tail_Level 90//定义前摆臂保持水平时角度值
/*枚举类型.当第一个参数为1时,后面的每一个参数一次增1【如:Headdown=2,Taillevel=7】Headlevel(前摆臂水平)、
Headup(前摆臂向上)、Headdown(前摆臂向下)Taillevel(后摆臂水平)、Tailup(后摆臂向上)、Taildown(后摆臂向下)*/
enum{Headup=1,Headdown,Headlevel,Tailup,Taildown,Taillevel};

//程序初始化部分:使能舵机对象
void setup() {
ServoArmHead.attach(Servo_Head_Pin);
ServoArmTail.attach(Servo_Tail_Pin);
}

//主程序部分:前摆臂、后摆臂分别执行向上、水平、向下动作.
void loop() {
arm_state( Headup );   delay(1000);//前摆臂向上,程序等待1秒
arm_state( Headlevel); delay(1000);//前摆臂水平,程序等待1秒
arm_state( Headdown ); delay(1000);//前摆臂向下,程序等待1秒
arm_state( Tailup );   delay(1000);//后摆臂向上,程序等待1秒
arm_state( Taillevel); delay(1000);//后摆臂水平,程序等待1秒
arm_state( Taildown);delay(1000);//后摆臂向下,程序等待1秒
}

//前摆臂、后摆臂上、下、水平子函数
void arm_state(int arm_state){
switch( arm_state )
{
    case Headup:   ServoArmHead.write( Servo_Head_Up ); break;
    case Headdown :ServoArmHead.write( Servo_Head_Down ); break;
    case Headlevel:ServoArmHead.write( Servo_Head_Level); break;
    case Tailup:   ServoArmTail.write( Servo_Tail_Up ); break;
    case Taildown :ServoArmTail.write( Servo_Tail_Down ); break;
    case Taillevel:ServoArmTail.write( Servo_Tail_Level); break;
    default: break;
}
}


前进功能的代码:

4.扩展样机      本样机可以根据实际需要改变共源履带的长度、轮径等,也可以用其他传动方式(如齿轮组等)构造共源驱动,如下图所示:


资料内容:样机3D文件、例程源代码【资料下载链接https://www.robotway.com/h-col-133.html】



页: [1]
查看完整版本: 小型三节履带底盘的制作分享