1.运动功能说明
履带底盘可以通过两侧履带的差速运动来实现前进、后退、原地转向、大半径转向等基本行驶功能。同时,由于车身的正三角特性,它不惧怕前后方向上的翻车。
前进与后退
原地转向
大半径转向
翻滚
2.结构说明
该样机由两个正三角形状的小型带传动模组构成,模组呈轴对称分布在车架上。
3.运动功能实现
3.1 电子硬件
本实验中采用如下硬件:
Basra主控板(基于Arduino开源方案设计的一款开发板)、Bigfish扩展板、7.4V锂电池
【Basra主控板的相关介绍可点击查看https://www.robotway.com/h-col-135.html;Bigfish扩展板的相关介绍可点击查看https://www.robotway.com/h-col-136.html】
将直流电机接在两个直流电机接口上,两个直流电机接口的针脚号分别为(D5,D6)以及(D9,D10),并将主控板和电池在车身固定好。
3.2 编写程序
编程环境:Arduino 1.8.19
前进功能的代码(点击查看:Forward.ino)
/*------------------------------------------------------------------------------------ 版权说明: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/ ------------------------------ 实验功能: 实现正三角履带底盘前进. ----------------------------------------------------- 实验接线: 左侧车轮接:D9,D10 | | .-----------------------------------. | | | |-------. | |【车头】| | |-------* | | *-----------------------------------* | | 右侧车轮接:D5,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 ); } |
后退功能的代码(点击查看:Backward.ino)
/*------------------------------------------------------------------------------------ 版权说明: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/ -------------------------- 实验功能: 实现正三角履带底盘后退. ---------------------------------------------------- 实验接线: 左侧车轮接:D9,D10 | | .-----------------------------------. | | | |-------. | |【车头】| | |-------* | | *-----------------------------------* | | 右侧车轮接:D5,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); } |
原地转向功能的代码(点击查看:TurnInPlace.ino)
/*------------------------------------------------------------------------------------ 版权说明: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/ ------------------------------------ 实验功能: 实现正三角履带底盘原地旋转(差速方式). 本实验现象为四轮四驱底盘原地左转. ---------------------------------------------------- 实验接线: 左侧车轮接:D9,D10 | | .-----------------------------------. | | | |-------. | |【车头】| | |-------* | | *-----------------------------------* | | 右侧车轮接:D5,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); } |
大半径转向功能的代码(点击查看:BigTurn.ino)
/*------------------------------------------------------------------------------------ 版权说明: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/ -------------------------------------------------------- 实验功能: 实现正三角履带底盘大半径转向(原理为小车车轮同向不同速) -------------------------------------------------------- 实验接线: 左侧车轮接:D9,D10 | | .-----------------------------------. | | | |-------. | |【车头】| | |-------* | | *-----------------------------------* | | 右侧车轮接:D5,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.扩展样机
我们可以通过放大或缩小正三角履带模组的尺寸,来构造出更多的同类机构。
5.资料下载
资料内容 | 样机3D文件、例程源代码 |
下载链接 | https://www.robotway.com/h-col-128.html |