0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何实现双轮差速底盘躲避悬崖的功能?

jf_72402704 来源:jf_72402704 作者:jf_72402704 2023-03-03 17:08 次阅读

1. 功能说明

本实验使用的样机为R023样机小型双轮差速底盘。在样机前方安装3个近红外传感器 ,实现机器人躲避悬崖、在某平台上移动时不会掉下去的效果。

pYYBAGQButSAKfL2AAA0QBmrLBY395.jpg

2. 电子硬件

在这个示例中,我们采用了以下硬件,请大家参考:

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

左轮直流电机连在D9,D10接口上;右轮直流电机连在D5,D6接口上;3个近红外传感器从左到右分别连在A0、A4、A3接口上。

poYBAGQButWAUYTlAABE0Jwvffs238.jpg

3. 示例程序

编程环境:Arduino 1.8.19

编写并烧录以下程序(nine.ino),该程序将实现演示视频中的动作【完整资料请参考https://www.robotway.com/h-col-113.html】

/*------------------------------------------------------------------------------------

  版权说明:Copyright 2023 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 机器谱 2023-02-10 https://www.robotway.com/                               

------------------------------------------------------------------------------------*/

void Right();

void Left();

void Stop();

void Forward();

void Back();



void setup()

{

  pinMode( 17, INPUT);

  pinMode( 18, INPUT);

  pinMode( 14, INPUT);

  pinMode( 10, OUTPUT);

  pinMode( 6, OUTPUT);

  pinMode( 5, OUTPUT);

  pinMode( 9, OUTPUT);

}



void loop()

{

  if (((!( digitalRead(14)) && ! (digitalRead(17)) ) ))

  {

    Forward();

  }

  if (( digitalRead(14) ))

  {

    Left();

    delay( 300 );

  }

  if (( digitalRead(17) ))

  {

    Right();

    delay( 300 );

  }

  if (( digitalRead(18) ))

  {

    Back();

    delay( 1000 );

    analogWrite(5 , 100);

    analogWrite(6 , 0);

    analogWrite(9 , 0);

    analogWrite(10 , 100);

    delay( 1500 );

  }

}



void Right()

{

  analogWrite(5 , 0);

  analogWrite(6 , 0);

  analogWrite(9 , 100);

  analogWrite(10 , 0);

}



void Forward()

{

  analogWrite(5 , 100);

  analogWrite(6 , 0);

  analogWrite(9 , 100);

  analogWrite(10 , 0);

}



void Back()

{

  analogWrite(5 , 0);

  analogWrite(6 , 100);

  analogWrite(9 , 0);

  analogWrite(10 , 100);

}



void Left()

{

  analogWrite(5 , 100);

  analogWrite(6 , 0);

  analogWrite(9 , 0);

  analogWrite(10 , 0);

}



void Stop()

{

  analogWrite(5 , 0);

  analogWrite(6 , 0);

  analogWrite(9 , 0);

  analogWrite(10 , 0);

}

4. 扩展

本实验采用3个近红外传感器,利用的是近红外传感器能够识别到距离较近的桌面,无法识别到距离较远的地面,因此桌面要距离地面远一些。

本实验还可以使用灰度传感器或者白标传感器。利用的是灰度和白标在悬崖处极难收到反射回来的红外线的原理,因此相应的桌面必须是浅色,如果桌面也是深色,灰度和白标传感器就无法区分桌面和悬崖了。

审核编辑黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2550

    文章

    51046

    浏览量

    753140
  • 机器人
    +关注

    关注

    211

    文章

    28390

    浏览量

    206957
  • 编程
    +关注

    关注

    88

    文章

    3614

    浏览量

    93698
收藏 人收藏

    评论

    相关推荐

    底盘电控系统HIL仿真测试解决方案

    底盘电控系统作为整车电子电气系统中的重要一部分,不仅可以改善驾乘的舒适性,同时也保证了驾乘的安全性,是汽车主动安全功能实现的重要一环。经纬恒润推出的底盘电控HIL仿真测试设备可以满足乘
    的头像 发表于 12-23 18:30 110次阅读
    <b class='flag-5'>底盘</b>电控系统HIL仿真测试解决方案

    一文了解底盘域控之制动功能

    )Twobox-iBooster+ESP2)Onebox-IPB3驻车制动系统3.1驻车制动系统基础3.2EPB的功能3.3EPB的实现方案1底盘域控基础1.1底盘
    的头像 发表于 12-13 16:46 752次阅读
    一文了解<b class='flag-5'>底盘</b>域控之制动<b class='flag-5'>功能</b>

    请问ADS8684+INA816实现模拟分输入功能是否可行?

    我需要下图表格参数模拟信号的检测。打算使用TI ADS8684来实现模拟信号采集,但是ADS8684不支持分信号输入,计划用INA816把分转成单端信号送到ADS8684芯片,来实现
    发表于 12-13 14:05

    线控底盘如何让自动驾驶加速奔跑?

    线控底盘技术是智能驾驶系统的核心技术之一,通过电子信号取代传统的机械传动,实现车辆动力、转向、制动、悬架及换挡等功能的精准控制。它不仅是实现L3及以上自动驾驶的关键,也是推动智能化汽车
    的头像 发表于 12-13 09:41 108次阅读
    线控<b class='flag-5'>底盘</b>如何让自动驾驶加速奔跑?

    智能底盘持续发展,底盘域MCU的国产机会

    电子发烧友网报道(文/梁浩斌)智能汽车时代,自动驾驶、智能座舱是感知最强的体验升级。但对于汽车来说,底盘决定了乘坐舒适度和车辆动态,甚至关系到行驶安全,底盘永远是汽车不可忽视的部分。而伴随整车电子
    的头像 发表于 11-29 00:08 2776次阅读
    智能<b class='flag-5'>底盘</b>持续发展,<b class='flag-5'>底盘</b>域MCU的国产机会

    线控底盘,自动驾驶时代的基石?

    结合市场发展趋势和政策支持,展望了未来技术的应用前景。   线控底盘的定义与重要性 1.1 线控底盘的概念与发展背景 线控底盘(X-by-wire)技术通过电子信号取代传统的机械连接和液压系统,
    的头像 发表于 10-31 13:06 321次阅读
    线控<b class='flag-5'>底盘</b>,自动驾驶时代的基石?

    自动真空机器人的超声波地面和悬崖探测

    电子发烧友网站提供《自动真空机器人的超声波地面和悬崖探测.pdf》资料免费下载
    发表于 10-08 11:38 5次下载
    自动真空机器人的超声波地面和<b class='flag-5'>悬崖</b>探测

    请问如何实现电流的分放大?

    如何实现电流的分放大
    发表于 08-23 07:49

    凤凰动力-AGV驱动轮的工作原理

    凤凰动力致力于提供多元化的AGV核心零部件产品。包括卧式/立式驱动轮、卧式/立式舵轮、电转向轮、舵轮组、AGV专用高精密脚轮、低压伺服电机、伺服减速电机、伺服驱动器、专用连接器和高精密行星减速机
    的头像 发表于 08-05 09:40 446次阅读
    凤凰动力-AGV<b class='flag-5'>差</b><b class='flag-5'>速</b>驱动轮的工作原理

    电机与单电机的区别

    在电机技术领域,双电机和单电机是两种常见的电机类型。它们在结构、工作原理、性能特点以及应用领域等方面都存在显著的差异。本文将对双电机和单电机的区别进行详细的阐述,以便读者能够更
    的头像 发表于 06-11 14:41 2505次阅读

    智己L6纯电轿车搭载数字底盘,具备预判救车功能

    其中值得注意的是,新车搭载了名为“灵蜥数字底盘”的技术设备,据说能够实现在85公里以上的高速公路上进行“麋鹿测试”,这是一种模拟前方突发障碍物的紧急避障性能测试。
    的头像 发表于 05-11 10:26 330次阅读

    探讨底盘的发展历程及趋势

    自汽车诞生一百余年以来,底盘发展就和汽车发展深度绑定。底盘系统决定了汽车纵向、横向和垂向六个自由度的动态行为,是汽车能够跑运行的必要条件。
    发表于 04-11 10:13 644次阅读
    探讨<b class='flag-5'>底盘</b>的发展历程及趋势

    差速器工作原理 差速器的传动特点是不差力对吗

    差速器是一种广泛应用于汽车的机械装置,其主要作用是在车辆行驶时发挥作用,从而使车辆在转弯、过坎等情况下能够保持稳定。差速器的工作原理十分复杂,涉及到许多力学和工程原理,下面我们将详细介绍差速器
    的头像 发表于 02-04 09:55 1320次阅读

    压变送器功能及特点概述

    压变送器功能及特点概述  压变送器是一种常用于工业过程控制和测量领域的仪表设备,主要用于测量两个压力源之间的压力,并将其转换为一个标准化的电信号输出。它的
    的头像 发表于 01-30 18:15 5797次阅读

    汽车底盘构造名称图解

    底盘作用是支承、安装汽车发动机及其各部件、总成,形成汽车的整体造型,并接受发动机的动力,使汽车产生运动,保证正常行驶。底盘由传动系、行驶系、转向系和制动系四部分组成。
    发表于 01-17 11:28 1081次阅读
    汽车<b class='flag-5'>底盘</b>构造名称图解