智能寻迹避障清障机器人设计(第五章)

这篇具有很好参考价值的文章主要介绍了智能寻迹避障清障机器人设计(第五章)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

5  软件设计

软件设计需要把程序流程确定好,要明确先运行哪一步再到哪一步,然后根据相关流程把程序敲写出来。由于本课题对红外遥控器与蓝牙遥控器都使用了,并且二者的使用思想和代码编程大同小异,但值得注意的是:使用红外遥控器不能通过PWM调节电机速度,因为调节PWM值会影响红外的信号接收,至此本设计主要以蓝牙遥控器为主。红外遥控器以及蓝牙遥控器如图(a)和图(b)。

智能寻迹避障清障机器人设计(第五章),机器人,信息与通信,单片机,嵌入式硬件,c#

图5(a)红外遥控器编码        

 

           

 图5(b)蓝牙遥控器按键编码

5.1自由运动模式设计

该模式下可通过遥控器控制小车各项运动,通过控制小车左右二个进步电机的正转和反转来控制小车的前后左右运动。对此,先要确定电机驱动的真值表才能对小车的运动精准控制,小车电机驱动真值表如图5.1.1所示,(1)根据其真值表,可以对小车的运动进行编写代码,当引脚9和10为高电平,引脚8和9为低电平时,小车进行前进,其他运动方式设定雷同。(2)把这些运动方式封装和并进行蓝牙遥控实验,当按下字符’108’调用前进模式,其他运动雷同。

5.1.1电机驱动真值表

Left_go = 8

Left_back = 9

Right_go=10

Right_back=11

前进

0

1

1

0

后退

1

0

0

1

停车

0

0

0

0

左转

0

0

1

0

左旋转

1

0

1

0

右转

0

1

0

0

右旋转

0

1

0

1

在该模式中,还有个难点在于对机械臂的控制,机械臂的控制主要难度有二点,一是该机械臂构架材料用的时亚克力板,该板干脆易断,使用螺丝扭进机械臂里,螺丝扭太紧往往会让机械臂转动困难,螺丝扭太松又会时机械臂容易滑动,夹物体用不上力;二是对舵机的控制,控制舵机首先要明白舵机的PWM控制范围。根据舵机的250份划分原理可知道舵机的转动可分为250份,并得到控制舵机转动的PWM响应范围0.5MS---2.5Ms,则可得出舵机PWM的宽度为2MS = 2000uS;

因此,可通过舵机转动的PWM响应频宽和转动的划分计算出控制转动一份舵机最少需要频宽为:                   2000uS÷250=8uS;

所以,舵机的PWM的控制精度为8us;

所以,可以以8uS的递增控制舵机转动与定位;

又因为,舵机可转动角度为185度,那么可算出舵机转动一份所占用的角度:

185度÷250=0.74度;

所以,舵机角度的控制精度为0.74度;

综上所述,可得:时基寄存器内的数值为250,舵机转动角度共185度,分为250份,把每份记作1DIV,得到1 DIV = 8uS , 250DIV=2mS;

则:185÷250 = 0.74度 / DIV;

至此,可初步得到可通过PWM控制舵机函数: 0.5MS + N×DIV;

0.5MS ≤ 0.5Ms+N×DIV ≤ 2.5MS。

据上可得,舵机转动角度为0度到180度对应的PWM为0.5MS到2.5MS,因而可以自行设计一个方波。

先设一个常量为X,先可以通过舵机转动0度到180度的总脉宽2MS、总角度180度以及初始脉宽5MS算出常量X:2000uS=(180*X)+500uS;

得到X=11uS。

再根据常量算出对应的角度所对应的脉宽,设脉冲宽度函数为A,舵机角度函数为B,可得到计算脉冲宽度的公式A=(B*11uS)+500uS。

当舵机转动到90度时对应的PWM宽度为1490uS,也就是1.5MS,至此可以设计软件复位。当值得注意的是由于调节了小车驱动的PWM以及多个负载以及考虑到信号串扰问题存在,使得本课题所设计的PWM脉冲宽度与实际使用的PWM发生一些偏差。不过,经过多次测试,舵机运行正常。除此之外,也可以使用Servo函数库直接控制,此方法比较简单,做一下简单描述。首先使用Servo函数库时,舵机处于连续转动,机械臂卡板时,舵机一定会抖动,因而容易损坏舵机。因为串口通信和servo函数库都使用了定时器的原因,毕竟,库函数时别人写的,核心内容并不容易弄懂,往往会出现一些莫名的问题。但使用自行设计PWM时,舵机连续转动抖动时,可以使用舵机非连续转动的方法,本课题便使用了连续转动加非连续转动的方法。自由运动模式程序流程图如5.1.2所示。

智能寻迹避障清障机器人设计(第五章),机器人,信息与通信,单片机,嵌入式硬件,c#

图5.1.2 自由运动模式程序流程图

5.2 寻迹模式设计

寻迹模式主要时通过车底的两路寻迹传感器完成,当两路红外光线经白色路面反射回来时,两路红外传感器输出高电平,小车调用停止模式;当两路红外光线经黑色路面吸收后,无反射的红外光线,两路红外传感器输出高电平,小车调用停止模式;当左边的红外光线经白色路面反射回来红外光线,右边经黑色路面,无反射红外光线,则左边寻迹传感器输出低电平,右边寻迹传感器输出高电平,小车左转;反之,小车右转。寻迹程序流程图如图5.2.1 所示、小车智能寻迹实物如图5.2.2所示。

智能寻迹避障清障机器人设计(第五章),机器人,信息与通信,单片机,嵌入式硬件,c#

图5.2.1 寻迹程序流程图

智能寻迹避障清障机器人设计(第五章),机器人,信息与通信,单片机,嵌入式硬件,c#

图5.2.2 小车智能寻迹实物图

5.3 避障模式设计

小车常遇到的障碍物类型如图5.3.1所示,(a)整个环境中均没有障碍物;(b)小车只有前方才有障碍物;(c1)小车的左边和前方有障碍物;(c2)小车前方和右方有障碍物;(d)小车处在U型通道里。

智能寻迹避障清障机器人设计(第五章),机器人,信息与通信,单片机,嵌入式硬件,c#

图5.3.1 障碍物4种避障类型

针对以上五种常见模式做出了如图5.3.2避障程序流程图,当输入寻迹模式时,开始测量前方距离,如果前方距离小于15cm,刹车,后退减速,左右测距,如果左边距离小于15cm并且右边距离也小于15cm,旋转调头,否则判断左边是否比右边大,如果是左转,刹车稳定方向,否则右转,刹车稳定方向,而其他条件下一直直行。

智能寻迹避障清障机器人设计(第五章),机器人,信息与通信,单片机,嵌入式硬件,c#

如图5.3.2 避障程序流程图

5.4 跟随模式设计

跟随常见的方法有:(1)使用左右二边各一个红外传感器,中间一个红外测距传感器组合的方法实现;(2)使用二个红外传感器装在小车头左右二边,在其传感器中间加上一个超声波测距传感器便可完成;(3)三个超声波传感器成排装在小车头部部分。第(1)种红外测距传感器成本较高,而且容易受光线影响大。经过对比第(2)种整体性能适中,性价比高;第(3)种虽然精准度高,但成本高,占用小车面积多,且笨重。本课题采用了第(2)种方法,当左右传感器输出低电平时,小车超声波传感器测量前方距离大于9cm并且小于等于30cm,小车直行;当左边红外传感器输出高电平时,左边的红外传感器输出低电平,小车左转,反之,当右边红外传感器输出高电平时,左边红外传感器输出低电平,小车右转,其他情况小车直行;当小车测量前方距离大于4cm并且小于等于9cm并且左右传感器输出低电平时,小车停车;当小车测量前方距离大于0cm并且小于等于4cm并且左右传感器输出低电平时,小车后退,其他情况下,小车停车。跟随程序流程图如5.4.1所示。

智能寻迹避障清障机器人设计(第五章),机器人,信息与通信,单片机,嵌入式硬件,c#

5.4.1 跟随程序流程图

5.5测距显示模式设计

本课题避障以及跟随都使用了测量距量,而测量距量主要是根据声波在空气中的传播速度为340m/s,以及测量时间得到的。下面来分析一下测距距离如何计算。

首先,设测量时间为X秒,测量距离为Y米。

因为,测量时间为超声波反射进障碍物反射回来接收到的时间,测量距离为超声波传感器到障碍物的距离;

所以,测量距离=(测量时间×声波速度)/2;

所以,Y米=(X秒×340)/2;

所以,X秒=(2Y米)/(340);

得到, X秒=0.0058*Y米;

整理得到,厘米=微秒/58;

由此,测量距离(厘米)=测量时间(微秒)/58。

测量时间可以先给超声波反射端2μs低电平,再给10μs高电平,然后持续给低电平,最后接收端所读取高电平时间便是测量时间。编程好了测量距离便可以直接通过串口发送到蓝牙遥控器。测距程序显示流程图如图5.5.1所示。

智能寻迹避障清障机器人设计(第五章),机器人,信息与通信,单片机,嵌入式硬件,c#

5.5.1测距程序显示流程图

5.6软件总流程设计

经过测试,本课题可以在同一波特率下使用红外遥控与蓝牙遥控,在使用红外遥控器中发现红外遥控的误码率明显比蓝牙的高,查从多资料发现有可能是使用PWM调速时影响到红外遥控的接收了,也有可能是本身的抗干扰能力比较弱的问题,但其传输速度快,价格便宜;蓝牙遥控传输则会有一点点延迟,不过相对稳定而360度传输,传播距离更长,所以本课题以蓝牙遥控为主。关于蓝牙遥控的总流程如图5.6.1所示。

智能寻迹避障清障机器人设计(第五章),机器人,信息与通信,单片机,嵌入式硬件,c#

5.6.1智能小车总流程图

5.7本章小结

本章主要讲述软件设计,通过一个个模式的程序设计思想深层解析;分析舵机控制角度的计算以及超声波传感器测量距离的计算;最终根据一个个模式设计了智能小车软件总流程,还通过实验对比说明了红外遥控器与蓝牙遥控器的优缺点。文章来源地址https://www.toymoban.com/news/detail-784679.html

到了这里,关于智能寻迹避障清障机器人设计(第五章)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 机器人制作开源方案 | 智能循迹避障小车

    作者: 刘元青、邹海峰、付志伟、秦怀远、牛文进 单位: 哈尔滨信息工程学院 指导老师: 姚清元       智能小车是移动式机器人的重要组成部分,而移动机器人不仅能够在经济、国防、教育、文化和生活中起到越来越大的作用,也是研究复杂智能行为的产生、探索人类思

    2024年01月16日
    浏览(60)
  • 无人驾驶动态避障策略调研 | 机器人动态避障策略 | 行人轨迹预测 | 机器人导航

    最近在研究机器人协同路径规划策略,发现现有paper中的obstacle都是静态的,但是在实际场景中,常有动态障碍的情形,如走动的行人等等。 为了更好的了解相关技术,我开始调研无人驾驶领域中的动态避障策略: 无人驾驶技术是多个技术的集成,包括了传感器、定位与深度

    2023年04月08日
    浏览(37)
  • 机器人的避障常用方案

    提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长! 本

    2024年02月12日
    浏览(41)
  • 【数学建模】机器人避障问题

    已知: 正方形5的左下顶点坐标 ( 80 , 60 ) (80,60) ( 80 , 60 ) ,边长 150 150 150 机器人与障碍物的距离至少超过 10 10 10 个单位 规定机器人的行走路径由直线段和圆弧组成,其中圆弧是机器人转弯路径。 机器人不能折线转弯,转弯路径由与直线路径相切的一段圆弧组成,也可以由两

    2024年04月17日
    浏览(52)
  • 绳牵引并联机器人动态避障方法

    绳牵引并联机器人在受限空间中如何躲避动态障碍物,是个有挑战的课题。 来自哈尔滨工业大学(深圳)的熊昊老师团队,开展了一项有趣的研究,论文《Dynamic Obstacle Avoidance for Cable-Driven Parallel Robots With Mobile Bases via Sim-to-Real Reinforcement Learning》发表在SCIEI收录期刊IEEE Robot

    2024年03月24日
    浏览(47)
  • 遨博协作机器人ROS开发 - 机械臂自主避障

    目录 一、简介 二、环境版本 三、学习目标  五、任务实施 六、任务拓展 七、课堂小结 八、课后练习 大家好,欢迎关注遨博学院带来的系列技术分享文章(协作机器人ROS开发),今天我们来学习一下“机械臂自主避障”。 主机系统版本:Windwos10 64位 处理器型号:Intel-i7 虚

    2023年04月10日
    浏览(41)
  • 机器人避障路径规划的MATLAB模拟退火算法

    机器人避障路径规划的MATLAB模拟退火算法 在机器人路径规划中,避免障碍物是一个重要的问题。模拟退火算法是一种启发式优化算法,可以用于解决路径规划问题。在本文中,我们将使用MATLAB实现一个基于模拟退火算法的机器人避障路径规划程序。 首先,我们需要定义问题

    2024年02月06日
    浏览(44)
  • 机器人动态避障的DWA算法及Matlab实现

    机器人动态避障的DWA算法及Matlab实现 机器人的动态避障是实现智能导航和避免碰撞的关键任务之一。其中,动态窗口方法(Dynamic Window Approach,DWA)是一种常用的算法,能够在实时环境中进行局部路径规划和动态避障。本文将详细介绍DWA算法的原理,并提供Matlab代码来实现机

    2024年02月06日
    浏览(47)
  • 基于蚁群优化的机器人避障算法仿真

    基于蚁群优化的机器人避障算法仿真 随着机器人技术的发展,机器人的避障能力也变得越来越重要。蚁群优化算法是一种智能优化算法,具有全局搜索能力和强鲁棒性。本文将介绍如何使用ACO蚁群优化算法实现机器人的避障功能,并用Matlab进行仿真。 算法原理 蚁群优化算法

    2024年02月12日
    浏览(41)
  • 冰达ROS机器人使用-实现slam建模、自主导航、避障

    1.在windows中下载好远程连接工具: xshell 、 puty 1 2.机器人有两种模式: 模式 说明 AP模式 机器人自己创建一个热点,电脑端连接该热点,实现局域网互通 WiFi模式 机器人和电脑同时连接一个路由器,实现局域网通信 ps:本文使用AP模式,因为用起来比较方便 3.在机器人AP模式下

    2023年04月08日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包