机器谱 发表于 2022-12-5 08:56:15

全地形比赛小车的制作

1. 比赛场地       场地中设定四种五个不同特点、不同难度的障碍物,每种障碍物均有一定的分值,参赛队根据比赛规则自主设计制作机器人,完成穿越各个障碍物的比赛。       障碍物分别为模拟工业用栅格地毯、楼梯、管道、独木桥,各障碍物由黑色引导线连接,形成完整的比赛赛道,并设置比赛起点和终点,比赛场地由组委会统一布置。       比赛场地及四种障碍物(栅格地面,管道,窄桥,楼梯)尺寸标记(含引导黑线、比赛起点和终点)。
场地整体图:



全地形赛场地尺寸图详见 https://www.robotway.com/h-col-120.html
2. 示例样机       本文采用的示例样机是由月球车样机改造而来的。在四个前后轮上缠绕了履带片以增大轮径,提高越障的性能。两侧摇臂用零件固定在了一起,单侧摇臂不能单独摆动,只能同时摆动,损失了一些灵活性,但是增加了行驶中的稳定性,尤其是增加了攀爬越障时的稳定性,车身不容易跑偏。车头位置并排安装3个灰度传感器。



3. 示例程序电子模块:Arduino UNO(Basra控制板)×1,Bigfish扩展板×1,灰度传感器×3。编程环境:Arduino1.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/--------------------------------实验功能:          实现小车沿黑线行驶,遇到黑线构成的路口能够按既定策略执行.          假想循迹场地,有直线、左转弯、右转弯、十字路口;--------------------------------实验接线:      小车车头并排安装三个灰度传感器                车头             .------------.             |      |             |      |   左侧轮   |      |   右侧轮      D5, D6 *------------* D9, D10
----------------------------------------------------------------------------------*/
////;
int pin = {A4, A3, A0};         //按车头前进方向,从右至左定义,后面经过公式计算,会转化为从左至右的顺序int s;void setup(){pinMode( 5 , OUTPUT);pinMode( 6 , OUTPUT);pinMode( 9 , OUTPUT);pinMode( 10 , OUTPUT);}
void loop(){   s = 0;      for(int i=0; i<3; i++)               //循环获取三个传感器的值      {            s|= (!digitalRead(pin) << i);   //经过左移运算和或运算后,按照A0、A3、A4的顺序产生一个三位2进制数值,表示3个传感器的组合触发状态      }      switch (s)      {          case 0x00: //三个均未触发          Forwards();          break;          case 0x01: //右侧传感器触发,直线上摆动或遇到右转弯          Right();          break;          case 0x02: //中间传感器触发,直线上直行          Forwards();          break;          case 0x03: //右侧两个触发,遇到右转弯          Right();          break;          case 0x04: //左侧传感器触发,直线上摆动或遇到左转弯          Left();          break;          case 0x06: //左侧两个触发,遇到左转弯          Left();          break;          case 0x07: //三个同时触发,遇到十字路口          Forwards();          break;          default:;break;      }}
void Left(){digitalWrite( 5 , HIGH );digitalWrite( 6 , LOW );digitalWrite( 9 , LOW );digitalWrite( 10 , LOW );}
void Right(){digitalWrite( 5 , LOW );digitalWrite( 6 , LOW );digitalWrite( 9 , HIGH );digitalWrite( 10 , LOW );}
void Forwards(){digitalWrite( 5 , HIGH );digitalWrite( 6 , LOW );digitalWrite( 9 , HIGH );digitalWrite( 10 , LOW );}

4. 样机扩展也可以使用探索者的各类兼容零件制作样机。



5. 资料内容① 月球车底盘-全地形比赛-样机3D文件② 月球车底盘-全地形比赛-例程文件③ 全地形赛-场地制作文件
资料下载链接 https://www.robotway.com/h-col-120.html

页: [1]
查看完整版本: 全地形比赛小车的制作