机器人与人工智能爱好者论坛

 找回密码
 立即注册
查看: 1641|回复: 0
打印 上一主题 下一主题

小型双节履带底盘的制作

[复制链接]

12

主题

13

帖子

99

积分

注册会员

Rank: 2

积分
99
跳转到指定楼层
楼主
发表于 2023-1-7 11:06:40 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
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文件
例程源代码







回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|Archiver|手机版|小黑屋|陕ICP备15012670号-1    

GMT+8, 2024-4-27 14:16 , Processed in 0.058722 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表