请选择 进入手机版 | 继续访问电脑版

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

 找回密码
 立即注册
查看: 1516|回复: 0

斜三角履带底盘的制作

[复制链接]

12

主题

13

帖子

99

积分

注册会员

Rank: 2

积分
99
发表于 2022-12-14 12:14:42 | 显示全部楼层 |阅读模式
本帖最后由 机器谱Robotway 于 2022-12-14 12:21 编辑

1.运动功能说明
       履带底盘可以通过两侧履带的差速运动来实现前进、后退、原地转向、大半径转向等基本行驶功能。另外,倾斜的履带也可以使其具有良好的越障效果。

前进与后退
斜三角履带底盘.gif

原地转向
斜三角履带底盘.gif

大半径转向
斜三角履带底盘.gif

2.结构说明
     该样机由两个斜三角履带模组构成,履带模组呈轴对称分布在车架上。

斜三角履带底盘.png
斜三角履带底盘.png
斜三角履带底盘.png
3.运动功能实现
3.1 电子硬件
在这个示例中,采用了以下硬件,请大家参考:
Basra主控板(兼容Arduino Uno)、Bigfish2.1扩展板、7.4V锂电池

3.2 电路连接
将直流电机接在两个直流电机接口上,两个直流电机接口的针脚号分别为(D5,D6)以及(D9,D10),并将主控板和电池在车身固定好。

斜三角履带底盘.png

3.3 编写程序
编程环境: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/
  ------------------------------
  实验功能:
          实现斜三角履带底盘前进.
  -----------------------------------------------------
  实验接线:
          左侧车轮接9,D10
               |  |
          .-----------------------------------.
          |                                   |
          |                                   |-------.
          |                                   |【车头】|
          |                                   |-------*
          |                                   |
          *-----------------------------------*
               |  |
          右侧车轮接5,D6            
------------------------------------------------------------------------------------*/
void Forward(); // 前进

//程序初始化部分:设置电机引脚为输出模式
void setup() {
  pinMode( 5 , OUTPUT); //将引脚5设置为输出模式
  pinMode( 6 , OUTPUT); //将引脚6设置为输出模式
  pinMode( 9 , OUTPUT); //将引脚9设置为输出模式
  pinMode( 10 , OUTPUT);//将引脚10设置为输出模式
}

//主程序部分:小车前进
void loop() {
  Forward();
}

//封装小车前进动作子程序
void Forward() {
  digitalWrite( 5 , LOW );  //右轮前进
  digitalWrite( 6 , HIGH );

  digitalWrite( 9 , LOW );  //左轮前进
  digitalWrite( 10 , HIGH );
}

后退功能的代码
/*------------------------------------------------------------------------------------  版权说明: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/
  --------------------------
  实验功能:
          实现斜三角履带底盘后退.
  ----------------------------------------------------
  实验接线:
          左侧车轮接9,D10
               |  |
          .-----------------------------------.
          |                                   |
          |                                   |-------.
          |                                   |【车头】|
          |                                   |-------*
          |                                   |
          *-----------------------------------*
               |  |
          右侧车轮接5,D6            
------------------------------------------------------------------------------------*/

void Backward();// 后退

//程序初始化部分:设置电机引脚为输出模式
void setup() {
  pinMode( 5 , OUTPUT); //将引脚5设置为输出模式
  pinMode( 6 , OUTPUT); //将引脚6设置为输出模式
  pinMode( 9 , OUTPUT); //将引脚9设置为输出模式
  pinMode( 10 , OUTPUT);//将引脚10设置为输出模式
}

//主程序部分:小车后退
void loop(){
  Backward();
}

//封装小车后退动作子程序
void Backward() {
  digitalWrite( 5 , HIGH );  //右轮后退
  digitalWrite( 6 , LOW );

  digitalWrite( 9 , HIGH );  //左轮后退
  digitalWrite( 10 , LOW);
}

原地转向功能的代码
/*------------------------------------------------------------------------------------  版权说明: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/
  ------------------------------------
  实验功能:
          实现斜三角履带底盘原地旋转(差速方式).
          本实验现象为四轮四驱底盘原地左转.
  ----------------------------------------------------
  实验接线:
          左侧车轮接9,D10
               |  |
          .-----------------------------------.
          |                                   |
          |                                   |-------.
          |                                   |【车头】|
          |                                   |-------*
          |                                   |
          *-----------------------------------*
               |  |
          右侧车轮接5,D6              
------------------------------------------------------------------------------------*/
void turn_Left(); // 原地转向(本示例为原地左转)

//程序初始化部分:设置电机引脚为输出模式
void setup() {
  pinMode( 5 , OUTPUT); //将引脚5设置为输出模式
  pinMode( 6 , OUTPUT); //将引脚6设置为输出模式
  pinMode( 9 , OUTPUT); //将引脚9设置为输出模式
  pinMode( 10 , OUTPUT);//将引脚10设置为输出模式
}

//主程序部分:小车差速自转[本示例为小车左转]
void loop() {
  turn_Left();
}

//封装小车自转动作子程序(本示例为左转)
void turn_Left(){
  digitalWrite( 5 , LOW );  //右轮前进
  digitalWrite( 6 , HIGH );

  digitalWrite( 9 , HIGH ); //左轮后退
  digitalWrite( 10 , LOW);
}

大半径转向功能的代码
/*------------------------------------------------------------------------------------  版权说明: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/
  --------------------------------------------------------
  实验功能:
          实现斜三角履带底盘大半径转向(原理为小车车轮同向不同速)
  --------------------------------------------------------
  实验接线:
          左侧车轮接9,D10
               |  |
          .-----------------------------------.
          |                                   |
          |                                   |-------.
          |                                   |【车头】|
          |                                   |-------*
          |                                   |
          *-----------------------------------*
               |  |
          右侧车轮接5,D6                     
------------------------------------------------------------------------------------*/

void big_Turn();// 大半径转向

//程序初始化部分:设置电机引脚为输出模式
void setup() {
  pinMode( 5 , OUTPUT); //将引脚5设置为输出模式
  pinMode( 6 , OUTPUT); //将引脚6设置为输出模式
  pinMode( 9 , OUTPUT); //将引脚9设置为输出模式
  pinMode( 10 , OUTPUT);//将引脚10设置为输出模式
}

//主程序部分:小车走弧形路径
void loop() {
  big_Turn();
}

//封装小车走大半径(弧线)动作子程序(同向不同速)
void big_Turn() {
  analogWrite( 5 , 0 );  //右轮以255速度前进
  analogWrite( 6 , 255);
  analogWrite( 9 , 0 );  //左轮以150速度前进
  analogWrite( 10 , 150 );
}



4.资料内容

样机3D文件
例程源代码





回复

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2024-4-16 23:18 , Processed in 0.064314 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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