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

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

审核编辑黄宇

  • 传感器
    +关注

    关注

    2439

    文章

    39696

    浏览量

    711770
  • 机器人
    +关注

    关注

    201

    文章

    23964

    浏览量

    197372
  • 编程
    +关注

    关注

    86

    文章

    3001

    浏览量

    91414
收藏 人收藏

    评论

    相关推荐

    如何利用STM32实现红外遥控双轮平衡小车的设计?

    实现红外遥控双轮平衡小车的设计?
    发表于 11-19 06:35

    如何搭建实体机器人ros底盘

    底盘主控板二、嵌入式开发板1. 与上位机pc的关系2. 与STM32主控板的关系介绍自下而上的分析实体机器人(分轮机器人)搭建中的关键过程。一、底盘主控板本部分搭建实体机器人ros
    发表于 01-20 07:36

    底盘的设计资料分享

    底盘设计——1.stm32主控硬件设计摘要 运动底盘是移动机器人的重要组成部分,不像激光雷达、IMU、麦克风、音响、摄像头这些通用部件可以直接买到,很难
    发表于 02-14 06:29

    DGT-01M四轮移动机器人底盘

    底盘是一款多功能行业应用的实用新型产品,是一种四轮运载平台,采用四轮结构,原地转向,体型小,灵活性强,并且采用模块化设计,具有相对独立性、互换性、通用性,模块接口部位的结构
    发表于 12-23 09:37 0次下载

    四轮移动机器人线控底盘平台

    底盘是一款多功能行业应用的实用新型产品,是一种四轮运载平台,采用四轮结构,原地转向,体型小,灵活性强,并且采用模块化设计,具有相对独立性、互换性、通用性,模块接口部位的结构
    发表于 12-23 14:46 1次下载

    全方面解读斯柯达新底盘

    派带来了斯柯达最新的设计理念,外观设计相比老款更时尚张扬,而且几乎配备了该级别车型具备的所有高科技配置,再有加长轴距之后更优异的空间表现,都将是直接的竞争力体现。那么究竟新派靓丽外观的底下,它的底盘如何?今天,我们就一起来看看全新派的底盘
    的头像 发表于 07-25 10:49 1.7w次阅读

    深度解析一汽-大众腾GLI底盘

    腾GLI底盘是否如同普通版腾一样呢?还是更多偏向GTI的设定,下面掀开底盘看看。
    的头像 发表于 07-24 14:49 7440次阅读
    深度解析一汽-大众<b>速</b>腾GLI<b>底盘</b>

    小型平行履带底盘的制作分享

    底盘可以通过两侧履带的 运动 来实现前进、后退、原地转向、大半径转向等基本行驶功能
    的头像 发表于 01-12 14:50 2070次阅读
    小型平行履带<b>底盘</b>的制作分享

    小型双轮底盘的制作

    双轮底盘可以通过两个驱动轮的 运动 来实现前进、后退、原地转向、大半径转向等基本行驶功能
    的头像 发表于 01-13 15:17 1868次阅读
    小型<b>双轮</b><b>差</b><b>速</b><b>底盘</b>的制作

    小型三节履带底盘的制作

    运动来实现前进、后退、原地转向、大半径转向等基本行驶功能,并可通过舵机关节模块进行小臂的抬起和落下。通过底盘运动与小臂运行的结合,实现上台阶、通过坑洼地面等功能
    的头像 发表于 01-29 09:15 308次阅读
    小型三节履带<b>底盘</b>的制作

    小型双轮底盘视觉循迹功能实现

    的头像 发表于 03-03 17:05 87次阅读
    小型<b>双轮</b><b>差</b><b>速</b><b>底盘</b>视觉循迹<b>功能</b>的<b>实现</b>

    如何让小型双轮底盘实现双灰度循迹功能?

    功能说明    在机器人车体上安装2个 灰度传感器 ,实现机器人按照下图所指定的路线进行导航运动,来模拟仓库物流机器人按指定路线行进的工作过程。   2. 使用样机     本实验使用的样机为
    的头像 发表于 03-03 17:14 132次阅读
    如何让小型<b>双轮</b><b>差</b><b>速</b><b>底盘</b><b>实现</b>双灰度循迹<b>功能</b>?

    双轮底盘三灰度循迹功能实现

    功能说明     在小型双轮底盘样机前方安装3个 灰度传感器 ,实现机器人沿下图所指定的跑道路线进行运动的效果。 2. 使用样机     本实验使用的样机为R023样机。 3.
    的头像 发表于 03-03 17:29 106次阅读
    <b>双轮</b><b>差</b><b>速</b><b>底盘</b>三灰度循迹<b>功能</b>的<b>实现</b>

    电机什么意思 电机什么意思

    电机是一种能够产生差动速度或差动转矩的电动机。电机,它是由一个普通电机和一个滑离合器组成,离合器这边是由一个定子绕组产生磁场,然后由转子线圈加0-90V可调电压产生的转子磁场相互作用调速
    发表于 03-27 15:00 550次阅读

    电机与无刷电机的区别是什么 电机和无刷电机哪个好

    电机与无刷电机的区别是什么?结构上,无刷电机和电机有相似之处,也有转子和定子,只不过和电机的结构相反;电机的转子是线圈绕组,和动力输出轴相连,定子是永磁磁钢;无刷电机的转子是永磁磁钢
    发表于 03-27 15:07 1197次阅读

    下载硬声App