小车自动避障及路径规划

第3章 系统总体结构及工作原理

该系统主要以超声波测距为基本测距原理,并在相应的硬件和软件的支持下,达到机器人避障的效果。

3.1机器人总体硬件设计

3.1.1传感器的分布要求

为了全方位检测障物的分布状况,并及时为机器人系统提供全面的数据,可将所需的八个传感器均匀排列在机器人周围,相邻每对传感器互成45度角。为了避免相互干扰,八个传感器以程序运行周期为周期,进行循环测距。传感器排列示意图如下:

图3.1.1 传感器分布图

3.1.2避障系统总体电路框架图设计

图3.1.2 硬件设计总体框架图

上图为支持机器人运行实用程序的硬件部分的总体设计框架图,由负责相关任务的同学提供。在超声波信号输入单片机以后,由存储在单片机中的主程序调用避障子程序,根据输入信号执行避障指令,并使相关数据返回主程序,转而提供给电机和LED显示器的驱动程序使用,最后,由电机执行转向指令,结果则显示在LED显示器上。

3.1.3避障系统总体软件框架图设计

图3.1.3 软件总体框架图

由上图可知,本文作者负责的超声波避障程序为软件总体设计中的子程序部分。在主程序运行过程中,若调用超声波避障程序,机器人在自行轨迹规划后,将程序处理所得数据送给电机处理成立程序,控制电机动作。具体的避障程序设计将在第4章进行。

3.2超声波测距原理

测距原理:超声波是指频率高于20KHz的机械波为了以超声波作为检测手段,必须产生超生波和接收超声波。完成这种功能的装置就是超声波传感器,习惯上称为超声波换能器或超声波探头。超声波传感器有发送器和接收器,但一个超声波传感器也可具有发送和接收声波的双重作用。超声波传感器是利用压电效应的原理将电能和超声波相互即在发射超声波的时候,将电能转换,发射超声波;而在收到回波的时候,则将超声振动转换成电信号。[]

超声波测距的原理一般采用渡越时间法TOF(time of flight)。首先测出超声波从发射到遇到障碍物返回所经历的时间,再乘以超声波的速度就得到二倍的声源与障碍物之间的距离,即[8]

D=ct/2

其中D为传感器与障碍物之间的距离,以m计,c为超声波速度,这里以340m/s计,t为超声波从发送到接收的总时间,以s计。据此原理可以用超声波传感器测得的距离为避障程序提供所需的数据。[8]

第4章 轨迹规划算法的实现方案

4.1轨迹规划算法的层次化设计

根据上述材料分析,可以将机器人轨迹规划算法设计分为基础控制层、行为控制层和坐标计算层,三个层次进行。

4.1.1基础控制层设计

基础控制层可定义为基本行为层,这层算法的任务是寻找目标点,并确保机器人可以顺利到达指定目标位。在确定目的地位置的情况下,为了达到上述目的,计算机必须对机器人的方位进行时实计算。应用人工势场法原理,可以将目标点设为引力极,牵引机器人运动。对此动作建立相应的模型,可以使用建立平面坐标作为虚拟势场的方法来给机器人定义方位,将机器人关于目标点的时实偏角作为虚拟引力方向,以确定机器人下一步所需转过的角度,并时实检测,是否已到达目的地,若已到达,则可认为虚拟引力此刻为0,并发出信号控制程序终止运行总体程序。

由此,可确定基础控制层所需的各参数:

机器人的时实坐标x, y值,由专门的坐标计算层提供,为了提高精确度,可以采用厘米为单位制。

机器人的速度v,测量后设为定值使用。

周期T,直接设置为定值使用。

偏转角de,可通过机器人与横坐标之间的夹角pe,减去机器人到目标点连线与横坐标的夹角E得到。

终止信号last值先置为0,当到达目的地时,将其置为1。

基础控制层程序流程图如下:

图4.1.1 基本控制层程序流程图

4.1.2行为控制层

行为控制层是比基本控制层更复杂,更具有决定权的层次。它的存在决定了机器人智能避障行为的可行性,是相当重要的算法层。其主要任务是让机器人根据超声波传感器采集的距离信息判断是否该进行避障行为,且给出避障的转角值,及转向。这些都以左右综合距离的大小决定,当左边综合距离大于友边综合距离时,可认为左边的斥力值大与右边斥力值,机器人左转,反之,右转。当前方综合距离小于设定的最小允许接近距离,而左右综合距离又相等时,则需要设置专门的转角,对机器人施行强制性转角动作。

据此,可将各控制变量之间的关系以数学公式的形式列出,并做为“人工势场法”的基本数学模型被运用于程序流程图设计。

设声纳Si的输出为di,转角de和速度v表示控制层行为的输出,其中de表示机器人下一步的运动方向,v表示机器人下一步运动的速度。那么,基于势场的控制行为可以表示如下 。

????de = me L

de = de0 R>=L

de = -de0 L>R

上式中的L表示机器人左边障碍物的迫近程度,

c语言小车路径规划算法,小车自动避障及路径规划.doc相关推荐

  1. 【MVO三维路径规划】基于matlab多元宇宙算法多无人机避障三维航迹规划【含Matlab源码 2579期】

    ⛄一.无人机简介 0 引言 随着现代技术的发展,飞行器种类不断变多,应用也日趋专一化.完善化,如专门用作植保的大疆PS-X625无人机,用作街景拍摄与监控巡察的宝鸡行翼航空科技的X8无人机,以及用作水 ...

  2. 路径规划算法_自动驾驶汽车路径规划算法浅析

    自动驾驶汽车的路径规划算法最早源于机器人的路径规划研究,但是就工况而言却比机器人的路径规划复杂得多,自动驾驶车辆需要考虑车速.道路的附着情况.车辆最小转弯半径.外界天气环境等因素. 本文将为大家介绍四 ...

  3. 自动避障小车可视化界面使用说明

    自动避障小车可视化界面使用说明 使用说明 使用说明 1.在桌面打开终端,输入指令 ./car 2.点击粉色按钮"训练模型",模型开始训练. 按Ctrl+c,模型训练强制停止. 3. ...

  4. 树莓派小车(远程控制、PWM变速、超声波自动避障)

    代码地址:github.com/Sanzo00/pi-car 功能展示 远程控制小车 PWM变速 小车在低电压情况下跑的比较慢,因此增加变速的功能. 超声波自动避障 这里使用超声波测距模块(HC-SR ...

  5. 光电自动避障小车_智能化搬运的实现 AGV小车无人搬运车

    AGV小车是实现人工智能.智能搬运的开端.AGV上装有自动导航系统,自动避障传感器,可以保障系统在不需要人工引航的情况下就能够沿预定的路线自动行驶,将货物或者物料自动从起始点运送到目的地.实现无人搬运 ...

  6. 【arduino】KitteBlock自动避障小车

    原文链接:http://www.arduino.cn/thread-45399-1-1.html [KitteBlock]自动避障小车 (超级简单, 推荐新手) avirufus  注册会员  201 ...

  7. 将循迹小车改为蓝牙控制自动避障小车#arduino

    演示视频:https://www.bilibili.com/video/BV1CM41187oh/?share_source=copy_web&vd_source=d43eaf7cae2ed3 ...

  8. 基于51单片机的红外自动避障小车(lunwen+任务书+开题+文献综述+翻译及原文+避障程序)

    目 录 1 绪论 1 1.1 课题研究背景及意义 1 1.2 国内外研究现状 1 1.2.1国外智能车辆研究现状 2 1.2.2发展前景 3 1.3 课题主要研究内容 4 2 工作原理及总体设计 5 ...

  9. arduino麦轮转弯程序_Arduino 自动避障智能小车制作教程

    Arduino 自动避障智能小车制作教程 材料: Arduino UNO r3 L298N电机驱动模块 小车底盘一个,万向轮一个 2个电机及匹配的车轮 9V电池盒及6个1.5V电池 超声波测距模块及其 ...

  10. arduino超声波自动避障小车制作过程

    超声波自动避障小车 #include <Servo.h> #define Trig 2 //引脚控制超声波发出声波 #define Echo 3 //引脚反应接收到返回声波 #define ...

最新文章

  1. 跟踪workflow instance 状态
  2. POSIX 线程编程(二)线程建立与终止
  3. 机房内综合布线电缆的紧密捆绑有哪些问题?
  4. 图论 —— 图的遍历 —— 欧拉通路与欧拉回路问题
  5. 使用pickle模块打包停用词表,加快处理文本数据的速度
  6. 多语言调用之 Java调用C/C++
  7. poj Shortest Prefixes ——trie树、字典树,基础!!
  8. 古体字与简体字对照表_简体字繁体字对照表?
  9. php中notice怎么去掉,怎么关闭php的notice
  10. Vins-Mono 论文 Coding 一 7(3). pose_graph: 4DOF pose_graph
  11. 腾讯云公网IP网络带宽收费价格表2023更新
  12. Sonarqube 扫描maven项目
  13. 溶剂可及性(一):基本概念
  14. Spark连接MySQL数据库并读取数据
  15. 「docker实战篇」python的docker爬虫技术-安卓模拟器(二)
  16. 04-安全攻防之bl和ret指令
  17. Python 中 Logging 模块使用详情
  18. DW 简单效果代码整理
  19. 网络角斗士棋竞技对战平台
  20. 球半足球比分,韩K联:江原FC - 金泉尚武 07月08日

热门文章

  1. 高级API 快速入门之第八章 多线程02
  2. 【网络原理】数据链路层
  3. DSP28335 CAN模块详解
  4. 如何解决飞秋FeiQ绑定端口错误
  5. 如何利用快解析搭建汽车经销商管理系统
  6. vasp软件全名是什么_VaspCZ软件详细介绍
  7. iOS开发中使用宏定义提高开发效率
  8. tableau的下载安装及简单使用
  9. 毕业论文免费查重软件测评及降重心得
  10. 数据库:SQL数据查询(详细、全面)