极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1883|回复: 0

小型双轮差速底盘实现触须避障功能

[复制链接]
发表于 2023-5-17 09:51:56 | 显示全部楼层 |阅读模式
本帖最后由 机器谱 于 2023-5-17 09:51 编辑

1. 功能说明
      在R023d机器人车体上安装2个
触须传感器【https://www.robotway.com/h-col-137.html】 ,实现机器人小车避障功能。
2. 电子硬件
      在这个示例中,我们采用了以下硬件,请大家参考:

主控板
Basra主控板(兼容Arduino Uno)
扩展板
Bigfish2.1扩展板
传感器
触须传感器
电池
7.4V锂电池

电路连接:小车左轮电机连到Bigfish扩展板的D9,D10接口,小车右轮电机连到Bigfish扩展板的D5,D6;左侧触须传感器连接在Bigfish扩展板A4端口,右侧触须传感器连接在Bigfish扩展板A0端口(如下图所示)


3. 功能实现

编程环境:Arduino 1.8.19
实现思路:机器人小车前进过程中,左边触须传感器触发后,小车右转;右边触须传感器触发后,小车左转;两个传感器同时触发后,小车后退、转弯并前进。
将参考例程(sketch_apr23a.ino)下载到主控板,小车将实现避障功能,实验效果可参考官网演示视频。
  1. /*------------------------------------------------------------------------------------

  2.   版权说明:Copyright 2023 Robottime(Beijing) Technology Co., Ltd. All Rights Reserved.

  3.            Distributed under MIT license.See file LICENSE for detail or copy at

  4.            https://opensource.org/licenses/MIT

  5.            by 机器谱 2023-04-23 https://www.robotway.com/

  6.   ------------------------------*/

  7. void tui();

  8. void youzhuan();

  9. void zuozhuan();

  10. void go();


  11. void setup()

  12. {

  13.   pinMode( 18, INPUT);

  14.   pinMode( 14, INPUT);

  15.   pinMode( 10, OUTPUT);

  16.   pinMode( 6, OUTPUT);

  17.   pinMode( 5, OUTPUT);

  18.   pinMode( 9, OUTPUT);

  19. }


  20. void loop()

  21. {

  22.   if (( !( digitalRead(14) ) && digitalRead(18) ))

  23.   {

  24.     tui();

  25.     delay( 1000 );

  26.     zuozhuan();

  27.     delay( 1000 );

  28.   }

  29.   else

  30.   {

  31.     if (( digitalRead(14) && !( digitalRead(18) ) ))

  32.     {

  33.       tui();

  34.       delay( 1000 );

  35.       youzhuan();

  36.       delay( 1000 );

  37.     }

  38.     else

  39.     {

  40.       if (( !( digitalRead(14) ) && !( digitalRead(18) ) ))

  41.       {

  42.         tui();

  43.         delay( 1000 );

  44.         youzhuan();

  45.         delay( 1000 );

  46.       }

  47.       else

  48.       {

  49.         go();

  50.       }

  51.     }

  52.   }

  53. }


  54. void zuozhuan()

  55. {

  56.   analogWrite(6 , 0);

  57.   analogWrite(10 , 0);

  58.   analogWrite(5 , 80);

  59.   analogWrite(9 , 0);

  60. }


  61. void youzhuan()

  62. {

  63.   analogWrite(6 , 80);

  64.   analogWrite(10 , 0);

  65.   analogWrite(5 , 0);

  66.   analogWrite(9 , 0);

  67. }


  68. void go()

  69. {

  70.   analogWrite(6 , 80);

  71.   analogWrite(10 , 0);

  72.   analogWrite(5 , 80);

  73.   analogWrite(9 , 0);

  74. }


  75. void tui()

  76. {

  77.   analogWrite(6 , 0);

  78.   analogWrite(10 , 80);

  79.   analogWrite(5 , 0);

  80.   analogWrite(9 , 80);

  81. }
复制代码

4. 资料下载
资料内容:

​①触须避障-例程源代码
​②触须避障-样机3D文件
​资料下载地址:https://www.robotway.com/h-col-113.html

想了解更多机器人开源项目资料请关注 机器谱网站 https://www.robotway.com

回复

使用道具 举报

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

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-20 02:25 , Processed in 0.040212 second(s), 17 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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