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);

}


审核编辑黄宇

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

    关注

    2548

    文章

    50698

    浏览量

    752064
  • 机器人
    +关注

    关注

    210

    文章

    28212

    浏览量

    206566
收藏 人收藏

    评论

    相关推荐

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

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

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

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

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

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

    底盘的设计资料分享

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

    智能车模电机控制的可行性研究

    智能车模电机控制的可行性研究
    发表于 12-11 16:21 4次下载

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

    大众对中国市场有着特殊的情怀,从一开始的捷达,再到现阶段的腾,曾一度国人疯狂恋上。这一点至今并没有多少个品牌做得到。现在购车人群逐步年轻化,年轻的小伙子在购车考虑舒适性的同时也注重了驾驶乐趣。
    的头像 发表于 07-24 14:49 8589次阅读
    深度解析一汽-大众<b class='flag-5'>速</b>腾GLI<b class='flag-5'>底盘</b>

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

    在这次课程中,我们小组选定的课题是循迹小车,在长达数周的辛苦付出中,我组小车已能实现功能有1.红遥控小车2.以灰度传感器实现矩形
    发表于 12-23 08:00 12次下载
    使用以<b class='flag-5'>双</b><b class='flag-5'>灰度</b>传感器<b class='flag-5'>实现</b>的曲线<b class='flag-5'>循迹</b>以及矩形<b class='flag-5'>循迹</b>的资料说明

    小型节履带底盘的制作

    1.运动功能说明 节履带车可以通过两个驱动轮的运动来实现前进、后退、原地转向、大半径转向等基本行驶
    的头像 发表于 01-07 10:56 814次阅读
    <b class='flag-5'>小型</b><b class='flag-5'>双</b>节履带<b class='flag-5'>底盘</b>的制作

    小型双轮底盘的制作

    小型双轮底盘可以通过两个驱动轮的 运动 来
    的头像 发表于 01-13 15:17 2815次阅读
    <b class='flag-5'>小型</b><b class='flag-5'>双轮</b><b class='flag-5'>差</b><b class='flag-5'>速</b><b class='flag-5'>底盘</b>的制作

    小型三节履带底盘的制作

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

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

    1. 任务描述       在机器人小车上搭载摄像头,摄像头采集图像信息并通过WiFi将信息传递给PC端,然后PC端使用OpenCV对摄像头读取到的视频进行灰度化、高斯滤波、腐蚀、膨胀等处理,使图像
    的头像 发表于 03-03 17:05 459次阅读
    <b class='flag-5'>小型</b><b class='flag-5'>双轮</b><b class='flag-5'>差</b><b class='flag-5'>速</b><b class='flag-5'>底盘</b>视觉<b class='flag-5'>循迹</b><b class='flag-5'>功能</b>的<b class='flag-5'>实现</b>

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

    1. 功能说明        本实验使用的样机为R023样机小型双轮底盘。在样机前方安装3个
    的头像 发表于 03-03 17:08 366次阅读
    如何<b class='flag-5'>实现</b><b class='flag-5'>双轮</b><b class='flag-5'>差</b><b class='flag-5'>速</b><b class='flag-5'>底盘</b>躲避悬崖的<b class='flag-5'>功能</b>?

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

    1. 功能说明     在小型双轮底盘样机前方安装3个
    的头像 发表于 03-03 17:29 714次阅读
    <b class='flag-5'>双轮</b><b class='flag-5'>差</b><b class='flag-5'>速</b><b class='flag-5'>底盘</b>三<b class='flag-5'>灰度</b><b class='flag-5'>循迹</b><b class='flag-5'>功能</b>的<b class='flag-5'>实现</b>

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

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

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

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