小型双轮差速底盘实现触须避障

news2024/12/26 15:40:15

1. 功能说明

     在R023d机器人车体上安装2个 触须传感器 ,实现机器人小车避障功能。

 2. 电子硬件

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

主控板

Basra主控板(兼容Arduino Uno)‍

扩展板

Bigfish2.1扩展板‍

传感器触须传感器
电池7.4V锂电池

电路连接:小车左轮电机连到Bigfish扩展板的D9,D10接口,小车右轮电机连到Bigfish扩展板的D5,D6;左侧触须传感器连接在Bigfish扩展板A4端口,右侧触须传感器连接在Bigfish扩展板A0端口(如下图所示)

 3. 功能实现

      编程环境:Arduino 1.8.19

      实现思路:机器人小车前进过程中,左边触须传感器触发后,小车右转;右边触须传感器触发后,小车左转;两个传感器同时触发后,小车后退、转弯并前进。

      将参考例程(sketch_apr23a.ino)下载到主控板,小车将实现避障功能,实验效果可参考演示视频。

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

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

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

void tui();

void youzhuan();

void zuozhuan();

void go();


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

  {

    tui();

    delay( 1000 );

    zuozhuan();

    delay( 1000 );

  }

  else

  {

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

    {

      tui();

      delay( 1000 );

      youzhuan();

      delay( 1000 );

    }

    else

    {

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

      {

        tui();

        delay( 1000 );

        youzhuan();

        delay( 1000 );

      }

      else

      {

        go();

      }

    }

  }

}


void zuozhuan()

{

  analogWrite(6 , 0);

  analogWrite(10 , 0);

  analogWrite(5 , 80);

  analogWrite(9 , 0);

}


void youzhuan()

{

  analogWrite(6 , 80);

  analogWrite(10 , 0);

  analogWrite(5 , 0);

  analogWrite(9 , 0);

}


void go()

{

  analogWrite(6 , 80);

  analogWrite(10 , 0);

  analogWrite(5 , 80);

  analogWrite(9 , 0);

}


void tui()

{

  analogWrite(6 , 0);

  analogWrite(10 , 80);

  analogWrite(5 , 0);

  analogWrite(9 , 80);

}

4. 资料内容

①触须避障-例程源代码

②触须避障-样机3D文件

资料内容详见:小型双轮差速底盘-触须避障

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/539327.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

netstat 连接通信的信息和状态

netstat t 只显示tcpu只显示udpnnum 数字形式显示地址和端口号l listen 显示监听端口 pprogram 显示进程aall 所有连接和监听r显示路由表 netstat -lnp 显示服务监听端口tcpudpsocket ,socket 文件也用来同一台服务器的进程之间通信的。 netsta…

12.2RAC 实例State 为 UNKNOWN

去年10月份接手一个12.2 RAC环境,使用crsctl status res -t查看,发现有个实例状态是UNKNOWN。一直都没有停机维护时间,在测试环境中也没有模拟不出来,原以为删除实例再添加可以解决了。就一直等待维护机会来处理, ASM…

114个ChatGPT全网最热话题

前言 当你使用ChatGPT时,你可能有很多问题需要回答。ChatGPT是一个非常强大的自然语言处理工具,可以用于许多不同的任务,包括聊天机器人、智能客服、文本生成和语言翻译等。 在这篇博客中,我将介绍一些关于如何问ChatGPT的技巧和…

RS-485收发器MS2552可pin对pin兼容THVD1552

THVD15xx 是一系列抗噪 RS-485/RS-422 收发器,专用于在恶劣的工业环境中运行。这些器件的总线引脚可耐受高级别的 IEC 电气快速瞬变 (EFT) 和 IEC 静电放 电 (ESD) 事件,从而无需使用其他系统级保护组件。每个器件由 5V 单电源供电。该系列中的器件具有扩…

【手机建站】安卓Termux+cpolar内网穿透,搭建外网可以访问的网站 - 无公网IP

文章目录 概述1.搭建apache2.安装cpolar内网穿透3.公网访问配置4.固定公网地址5.添加站点 概述 Termux是一个Android终端仿真应用程序,用于在 Android 手机上搭建一个完整的Linux 环境,能够实现Linux下的许多基本操作,不需要root权限Termux就…

常见的dos操作命令

创建abc目录文件(md abc),进入abc文件(cd abc),删除abc文件(rd abc) dir c:\测试 显示指定路径下所有文件和目录的信息 copy c:\测试.txt c:\测试 复制文件命令 ren c:\…

彻底弄懂Java中的toString方法

在Java中,所有的类都默认显式或者隐式继承自Object类,包括你定义的类。而Object类本身有一个toString()方法,用于返回一个表示该对象的字符串,该方法返回的是一个字符串类型的值。 如果你的类没有重写该方法,那么它就会…

【C++】21.智能指针

1.为什么需要智能指针 C无gc new/malloc出来的资源 是需要我们去手动释放 1.忘记释放 2.发生异常安全问题 new/malloc fun()://throw 异常 delete/free 最终都导致资源的泄漏 利用智能指针更好的去解决此类问题 2.智能指针 1RAII RAII(Resource Acquisit…

javaIO之各种流的分类与实际应用

目录 1、初识 Java IO2、传输方式划分3、操作对象划分3.1文件3.2数组(内存)3.3管道3.4基本数据类型3.5缓冲3.6打印3.7对象序列化/反序列化3.8转换 1、初识 Java IO IO,即in和out,也就是输入和输出,指应用程序和外部设备…

Java BIO 和 NIO 使用,有什么区别

Java 中的 I/O 操作主要有两种方式:BIO 和 NIO。BIO(Blocking I/O)是同步阻塞 I/O 模型,而 NIO(Non-Blocking I/O)是异步非阻塞 I/O 模型。这两种 I/O 模型在编写网络应用程序时有着不同的优缺点&#xff0…

Intel® ZTNA RA 23.03 release

摘要 传统的防火墙、入侵检测系统都是基于物理边界的,默认墙内安全,墙外不安全。随着应用程序和用户现在更可能在外围而不是内部,这种安全模型已经不再适用于当今复杂的网络场景。而“零信任”脱离了这种传统的安全模型,不再区别对…

论文浅尝 | 常识问答中的忠诚知识图解释

笔记整理:邹铭辉,天津大学硕士,研究方向为知识图谱 链接:https://aclanthology.org/2022.emnlp-main.743 动机 知识图谱通常被用作常识问答的信息来源,同时也可以用来解释模型对答案的选择。纳入图谱中事实信息的一个常…

诺贝尔奖得主Warshel:用计算化学揭开生命底层分子运行机制|智源大会嘉宾风采...

导读 复杂化学系统的多尺度建模可以用于计算机辅助药物设计、疾病致病机制、早期诊断生物标记、创新药物开发,这些具有划时代意义的研究成果,都凝结着计算化学研究先驱Arieh Warshel夜以继日的努力。 Warshel的传奇人生始于以色列一家公社的鱼塘&#xf…

【强烈推荐】3dMax自动展UV神器UV-Packer插件

UV-Packer是一款快速、精确的UV自动展开工具。这是一个一键式的解决方安,可以解决将展开的多边形排序和压缩成UV片的艰巨工作。 【适用版本】 3dMax2015-2024 【主要特性】 最小的UV区域浪费 确定良好 UV 包装的第一条规则是未覆盖的 UV 区域有多少。 浪费的空间…

操作系统的发展史(DOS/Windows篇)

操作系统的最强入门科普(Unix/Linux篇) 上一篇文章,小枣君介绍了Unix和Linux操作系统的诞生和发展。今天这篇,我再来说说微软的DOS和Windows系列。 █ DOS操作系统 上期提到,20世纪70年代,伴随着计算机技术…

360QPaaS参编信通院《组装式应用开发平台研究报告》| 应用前沿

在数字化转型的大背景下,“组装式应用” 成为行业重要战略趋势之一。数字化相较于信息化,强调基于信息数据反哺业务,业务进一步促进系统的迭代优化。组装式应用平台就是一种以业务为中心的模块化组件构成。组装式应用协力提供更灵活的组装式部…

Apache Iceberg 中引入索引提升查询性能

动手点关注 干货不迷路 ‍ ‍Apache Iceberg 是一种开源数据 Lakehouse 表格式,提供强大的功能和开放的生态系统,如:Time travel,ACID 事务,partition evolution,schema evolution 等功能。 本文将讨论火山…

治病如救火,怎样让新药研发更快、更省、更准?

说起医疗与生命科学行业,许多人可能都会想到一句俗语——“治病如救火”,可见其分秒必争的时效性。 然而,如果与日新月异的科技行业相比,医疗与生命科学行业在研发上的速度则慢得惊人。来自《自然》杂志的数据显示,一款…

搭建企业级ESB:让接口管理高效

目 录 01 接口管理现状分析‍‍‍‍‍ 02 ESB对接口的管理‍‍‍‍‍‍ 03 ESB接口管理的发展‍‍‍‍ 04 总结 01 接口管理现状分析‍ 随着社会的发展企业中建立了许多系统,系统中提供了许多接口作为业务解耦的重要手段。随着业务关系越来越复杂、依赖越来越多&…

Krpano之一全景图中嵌入可闪烁的热点图片

效果 步骤 1、打开ptgui软件加载全景图 2、镜头参数设置 3、编辑全景图 4、设置编辑模式 5、拖动鼠标和划动两个方向来调整全景图范围 调整后大概是这样的,我只要在这个区域画一个面即可,尽量让调整后是俯视图,这样在这基础上画的面会比较正一些