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个近红外传感器,利用的是近红外传感器能够识别到距离较近的桌面,无法识别到距离较远的地面,因此桌面要距离地面远一些。

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

审核编辑黄宇

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

    关注

    2548

    文章

    50647

    浏览量

    751784
  • 机器人
    +关注

    关注

    210

    文章

    28187

    浏览量

    206424
  • 编程
    +关注

    关注

    88

    文章

    3587

    浏览量

    93582
收藏 人收藏

    评论

    相关推荐

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

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

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

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

    基于MATLAB平台的智能底盘的虚拟化开发

    智能底盘是汽车电动化和智能化趋势下的关键创新点,它涉及到三电系统的集成、机械部件的精简以及电控能力的增强。随着辅助驾驶系统(如 ACC、AEB)的普及和自动驾驶技术的发展,智能底盘需要适应越来越多的使用场景,同时提供更高水平的安全性和舒适性。
    的头像 发表于 09-05 09:42 346次阅读
    基于MATLAB平台的智能<b class='flag-5'>底盘</b>的虚拟化开发

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

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

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

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

    电机与单电机的区别

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

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

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

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

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

    汽车底盘控制技术研究

    汽车底盘控制技术是指对汽车底盘系统进行控制和管理的一种技术,其主要目的是提高汽车的性能、安全性和舒适性[2]。
    发表于 02-19 16:39 534次阅读

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

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

    自己设计开发的一些无刷电机控制器,希望坛友多多交流

    遥控:支持HotRC SBUS接收机遥控 功能双轮速度同步闭环,角速度闭环,支持坡道驻车,比较好的走直线功能! 双轮FOC控制器(小功率) 电压:DC18-32V 电流:15A*2
    发表于 01-30 18:15

    压变送器功能及特点概述

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

    汽车底盘构造名称图解

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

    使用AD8138实现单端转功能的疑问

    您好,附件是AD8138的外围电路,是参考芯片手册的电路设计的。主要是为了实现单端转分的功能。现在出现几个问题: 1. 对于Vocm引脚,我从0V变化到750mV的过程中,输出的共模电压并不是
    发表于 11-27 08:24

    经纬恒润全新一代锁控制器,为自由驰骋的你保驾护航

    汽车锁是一种用于锁住汽车差速器的电子机械装置,旨在提高汽车越野行驶的稳定性和安全性。随着全球汽车市场的快速发展,消费者对高效、环保的汽车产品需求增长,汽车锁行业具有良好的应用前
    的头像 发表于 11-24 08:00 1090次阅读
    经纬恒润全新一代<b class='flag-5'>差</b><b class='flag-5'>速</b>锁控制器,为自由驰骋的你保驾护航