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

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动

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

3天内不再提示

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

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

1. 功能说明

机器人车体上安装2个 灰度传感器 ,实现机器人按照下图所指定的路线进行导航运动,来模拟仓库物流机器人按指定路线行进的工作过程。

poYBAGQBunOASTMhAAAKFq8KLBY492.jpg

2. 使用样机

本实验使用的样机为R023e样机。

pYYBAGQBunOAXdKYAAAzQLttQpU100.png

3. 功能实现

3.1 电子硬件

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

主控板 Basra(兼容Arduino Uno)
扩展板 SH-01外围电路扩展板(与Bigfish扩展板相似)‍
传感器 灰度传感器
电池 7.4V锂电池

电路连接说明:

电机连在D6,D10及D5,D9接口上;

② 2个灰度传感器分别接在扩展板的传感器接口A0、A4上。

poYBAGQBunSAM95xAABJ5nC9_hg047.jpgpYYBAGQBunSAaYDPAABMPEqvuIw607.jpg

3.2 编写程序

传感器触发情况、小车行驶状态、对应行为策略表:

传感器1 传感器2 小车状态 动作
0 1 小车左偏 向右调整
1 0 小车右偏 向左调整
1 1 到达终点 停止
0 0 正常 前进

① 根据实验内容,利用多分支结构设计出程序流程图。

pYYBAGQBunWAaEB9AABITBJQRrM211.png机器人轨迹导航任务流程图

② 根据设计好的程序流程图进行编程,编写并烧录以下程序(blackline_4if.ino),该程序将实现演示视频中的动作【完整例程源代码下载详见https://www.robotway.com/h-col-113.html】

编程环境:Arduino 1.8.19

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

  版权说明: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-09 https://www.robotway.com/                                   

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

void turnleft_slow();

void forward();

void carstop();

void turnright_slow();



void setup()

{

  pinMode( 18, INPUT);

  pinMode( 14, INPUT);

  pinMode( 10, OUTPUT);

  pinMode( 6, OUTPUT);

  pinMode( 5, OUTPUT);

  pinMode( 9, OUTPUT);

}



void loop()

{

  if (( digitalRead(14) && digitalRead(18) ))

  {

    forward();

  }

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

  {

    turnleft_slow();

  }

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

  {

    turnright_slow();

  }

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

  {

    carstop();

    delay( 5000 );

  }

}



void turnright_slow()

{

  analogWrite(6 , 80);

  analogWrite(10 , 0);

  analogWrite(5 , 0);

  analogWrite(9 , 0);

}



void carstop()

{

  analogWrite(6 , 0);

  analogWrite(10 , 0);

  analogWrite(5 , 0);

  analogWrite(9 , 0);

}



void turnleft_slow()

{

  analogWrite(6 , 0);

  analogWrite(10 , 0);

  analogWrite(5 , 80);

  analogWrite(9 , 0);

}



void forward()

{

  analogWrite(6 , 80);

  analogWrite(10 , 0);

  analogWrite(5 , 80);

  analogWrite(9 , 0);

}

也可以使用if…else嵌套写法(blackline_ifelse.ino)。

void stop();

void left();

void right();

void forwards();



void setup()

{

  pinMode( 18, INPUT);

  pinMode( 14, INPUT);

  pinMode( 10, OUTPUT);

  pinMode( 6, OUTPUT);

  pinMode( 5, OUTPUT);

  pinMode( 9, OUTPUT);

}



void loop()

{

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

  {

    right();

  }

  else

  {

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

    {

      left();

    }

    else

    {

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

      {

        stop();

      }

      else

      {

        forwards();

      }

    }

  }

}



void stop()

{

  analogWrite(5 , 0);

  analogWrite(9 , 0);

  analogWrite(6 , 0);

  analogWrite(10 , 0);

}



void right()

{

  analogWrite(5 , 150);

  analogWrite(9 , 0);

  analogWrite(6 , 0);

  analogWrite(10 , 150);

}



void forwards()

{

  analogWrite(5 , 150);

  analogWrite(9 , 0);

  analogWrite(6 , 150);

  analogWrite(10 , 0);

}



void left()

{

  analogWrite(5 , 0);

  analogWrite(9 , 150);

  analogWrite(6 , 150);

  analogWrite(10 , 0);

}


审核编辑黄宇

  • 传感器
    +关注

    关注

    2439

    文章

    39696

    浏览量

    711763
  • 机器人
    +关注

    关注

    201

    文章

    23964

    浏览量

    197372
收藏 人收藏

    评论

    相关推荐

    怎样用Labview的vision相关模块实现图像的灰度扫描以及灰度

    实现图像的灰度扫描以及灰度分,可以详细点:具体用到哪些模块,求赐教。
    发表于 06-26 20:08

    循迹智能小车是由哪些部分组成的

    循迹智能小车 循黑线文章目录循迹智能小车 循黑线硬件菜单硬件使用硬件组装程序设计前的理解程序代码硬件菜单单片机型号:STC16F40K1284路红外循迹模块小车底盘套件(一个底盘、两个TT马达、两个
    发表于 07-14 06:56

    基于51单片机的循迹小车的设计资料分享

    循迹小车(详细讲解+源码)作为一名大学生,这里我就简单谈谈我们小组做这个循迹小车的一个过程。主要是实现小车寻黑线行驶的这样一个功能,速度可以调节(定时器中断模拟PWM波实现)一丶
    发表于 11-18 07:55

    底盘的设计资料分享

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

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

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

    使用以灰度传感器实现的曲线循迹以及矩形循迹的资料说明

    循迹小车,在长达数周的辛苦付出中,我组小车已能实现功能有1.红遥控小车2.以灰度传感器实现矩形循迹3.以灰度传感器实现曲线循迹。虽然功能比较少但其中涉及到的知识
    发表于 12-23 08:00 11次下载
    使用以<b>双</b><b>灰度</b>传感器<b>实现</b>的曲线<b>循迹</b>以及矩形<b>循迹</b>的资料说明

    小型节履带底盘的制作

    功能说明 节履带车可以通过两个驱动轮的运动来实现前进、后退、原地转向、大半径转向等基本行驶功能,并可通过舵机关节模块进行小臂的抬起和落下。通过底盘运动与小臂运行的结合,实现上台阶、通过
    的头像 发表于 01-07 10:56 285次阅读
    <b>小型</b><b>双</b>节履带<b>底盘</b>的制作

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

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

    小型双轮底盘的制作

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

    小型三节履带底盘的制作

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

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

    灰度化、高斯滤波、腐蚀、膨胀等处理,使图像
    的头像 发表于 03-03 17:05 87次阅读
    <b>小型</b><b>双轮</b><b>差</b><b>速</b><b>底盘</b>视觉<b>循迹</b><b>功能</b>的<b>实现</b>

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

    功能说明        本实验使用的样机为R023样机小型双轮底盘。在样机前方安装3个近红外传感器 ,实现机器人躲避悬崖、在某平台上移动时不会掉下去的效果。   2. 电子硬件 在这个示例
    的头像 发表于 03-03 17:08 78次阅读
    如何<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><b>功能</b>的<b>实现</b>

    小型平行履带底盘实现灰度循迹功能

    功能说明    在小型平行履带底盘样机上安装2个 灰度传感器 ,实现机器人沿指定路线进行运动的效果。 2. 使用样机    本实验使用的样机为R026a样机。 3. 功能实现 3.1 电子硬件
    的头像 发表于 03-09 08:52 77次阅读
    <b>小型</b>平行履带<b>底盘</b><b>实现</b><b>双</b><b>灰度</b><b>循迹</b><b>功能</b>

    下载硬声App