本发明涉及一种基于ros的agv及其使用方法,属于机器人设计技术领域。
背景技术:
agv是automatedguidedvehicle的缩写,意即“自动导引运输车”。
近年来,随着科学技术的不断发展,尤其是机器人技术迅速发展,移动机器人已经应用到越来越多的领域,极大的方便了人们的生活。在中国制造2025浪潮下,大部分传统的制造业仓储系统运输设备急需改良。根据目前市场数据显示,在众多agv大部分是系统封闭的,不易二次开发。针对这些不足之处,研发出一款具有开源的,开发周期短的avg成为智能工厂的需要,因此本发明正是基于ros得到agv可为工厂提高运输效率,进而提高生产力。
技术实现要素:
本发明的目的在于,克服现有技术存在的缺陷,解决上述技术问题,提出一种基于ros的agv及其使用方法,实现机器人自动导航运输,加强人机交互,应对突发事件等功能。
本发明采用如下技术方案:一种基于ros的agv,其特征在于,包括车身主体、雷达、上位机、电池组、控制电路、防碰撞传感器、伺服电机及驱动轮,所述雷达、所述控制电路分别与所述上位机通讯连接,所述电池组与所述上位机电联接,所述控制电路与所述伺服电机及驱动轮通讯连接,所述防碰撞传感器与所述控制电路通讯连接,所述防碰撞传感器安装设置于所述车身主体的周围,所述上位机、所述电池组、所述控制电路均设置于所述车身主体的中部。
作为一种较佳的实施例,雷达的型号为思岚rplidara3。
作为一种较佳的实施例,控制电路包括led显示屏、电机控制板、编码器、数据采集模块,数据采集模块的输入端分别与防碰撞传感器的输出端、雷达输出端、上位机的输出端通讯连接,数据采集模块的输出端与编码器的输入端通讯连接,编码器的输出端与电机控制板的输入端通讯连接,电机控制板的输出端分别与led显示屏的输入端、上位机的输入端、伺服电机及驱动轮的输入端通讯连接。
作为一种较佳的实施例,led显示屏的型号为微雪7inchcapacitivetouchlcd-d。
作为一种较佳的实施例,agv还包括远程终端,远程终端通过无线网卡与上位机通讯连接,上位机通过伺服驱动器与伺服电机及驱动轮通讯连接。
作为一种较佳的实施例,远程终端通过无线网卡与上位机通信,兵控制所有agv的路径;上位机通过伺服驱动器直接控制伺服电机及驱动轮,进而控制agv的行走导航,上位机通过雷达建立工厂地图,通过雷达和防碰撞传感器检测障碍物。
作为一种较佳的实施例,上位机采用微型pc并且装有ubuntu操作系统和ros操作系统。
作为一种较佳的实施例,雷达安装于车身主体的中部。
本发明还提出一种基于ros的agv的使用方法,其特征在于,包括如下步骤:
步骤ss1:初始化,启动上位机,打开雷达,设置自动加载初始化命令;
步骤ss2:上位机获取雷达以及防碰撞传感器的信息,通过控制电路控制伺服电机及驱动轮带动车身主体移动,雷达获取室内地图,保存该室内地图到上位机中;
步骤ss3:在上位机的3d可视化工具rviz中加载建立的二维地图,显示在led显示屏中,确定初始点后,在led显示屏中设置目的地;
步骤ss4:上位机运用ros操作系统的navigation功能包,完成在全局范围内的路径规划,规划出一条从初始点到目的地的无障碍路线;
步骤ss5:当车身主体没有遇到步骤ss3中地图上未显示的障碍物时,则按照步骤ss4规划出的路线行走,到达目的地位置,完成导航,任务结束,转入步骤ss7,若车身主体遇到步骤ss3中地图上未显示的障碍物时,则转入步骤ss6;
步骤ss6:上位机运用ros的base_local_planner包实现局部路径规划,实时规划出一条从初始点到目的地的无障碍轨迹,按新轨迹行走,到达目的地位置,完成导航,任务结束,转入步骤ss7;如果到达目的地之前再次遇到障碍物,重复步骤ss6;
步骤ss7:重复步骤ss5到步骤ss7进行下一次任务。
作为一种较佳的实施例,步骤ss6还包括:base_local_planner包使用trajectoryrollout和dynamicwindowapproaches算法计算车身主体每个周期内应该行驶的速度和角度;trajectoryrollout和dynamicwindowapproaches算法的设计方法如下:步骤ss61:采样车身主体当前的状态,即速度和角度;步骤ss62:针对每个采样的速度,计算车身主体以该速度行驶一段时间后的状态,得出一条行驶的路线;步骤ss63:利用是否会撞击障碍物以及所需要的时间作为评价标准为多条路线打分;步骤ss64:根据打分结果,选择最优路径;步骤ss65:重复步骤ss61至步骤ss64,直至到达目的地。
本发明所达到的有益效果:第一,本发明实现agv自动导航的功能,加强人机交互功能,提高应对突发事件的能力;第二,本发明采用目前流行的机器人操作系统ros,由于其本身的开源性,使得机器人软件系统对环境的适应性更强;使用思岚的雷达的检测环境中的障碍物信息,检测精度高,速度快,抗干扰能力强,得到深度图像;第三,本发明使用触摸屏显示器,使用者可以查看其它信息,加强了人机交互功能,并且还可以进行拓展开发;第四,本发明在导航过程中采用了全局路径规划与局部路径规划相结合的方式,能够有效的实现机器人在跟随过程中自主避障的功能。
附图说明
图1是本发明的优选实施例的俯视图的结构示意图。
图2是本发明的优选实施例的仰视图的结构示意图。
图3是本发明的一种基于ros的agv的使用方法的控制框图。
图中标记的含义:1-车身主体,2-雷达,3-上位机,4-电池组,5-控制电路,6-防碰撞传感器,7-伺服电机及驱动轮。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
如图1和图2所示,本发明提出一种基于ros的agv,其特征在于,包括车身主体1、雷达2、上位机3、电池组4、控制电路5、防碰撞传感器6、伺服电机及驱动轮7,雷达2、控制电路5分别与上位机3通讯连接,电池组4与上位机3电联接,控制电路5与伺服电机及驱动轮7通讯连接,防碰撞传感器6与控制电路5通讯连接,防碰撞传感器6安装设置于车身主体1的周围,上位机3、电池组4、控制电路5均设置于车身主体1的中部。
作为一种较佳的实施例,雷达2的型号为思岚rplidara3。
作为一种较佳的实施例,控制电路5包括led显示屏、电机控制板、编码器、数据采集模块,数据采集模块的输入端分别与防碰撞传感器6的输出端、雷达2输出端、上位机的输出端通讯连接,数据采集模块的输出端与编码器的输入端通讯连接,编码器的输出端与电机控制板的输入端通讯连接,电机控制板的输出端分别与led显示屏的输入端、上位机3的输入端、伺服电机及驱动轮7的输入端通讯连接。
作为一种较佳的实施例,led显示屏的型号为微雪7inchcapacitivetouchlcd-d。
图3是本发明的一种基于ros的agv的使用方法的控制框图。作为一种较佳的实施例,agv还包括远程终端,远程终端通过无线网卡与上位机3通讯连接,上位机3通过伺服驱动器与伺服电机及驱动轮7通讯连接。
作为一种较佳的实施例,远程终端通过无线网卡与上位机3通信,兵控制所有agv的路径;上位机3通过伺服驱动器直接控制伺服电机及驱动轮7,进而控制agv的行走导航,上位机3通过雷达2建立工厂地图,通过雷达2和防碰撞传感器6检测障碍物,伺服电机具有反馈调节的功能,确保系统整体的准确性。
作为一种较佳的实施例,上位机3采用微型pc并且装有ubuntu操作系统和ros操作系统。
作为一种较佳的实施例,雷达2安装于车身主体1的中部,成像视角好。
本发明还提出一种基于ros的agv的使用方法,其特征在于,包括如下步骤:
步骤ss1:初始化,启动上位机3,打开雷达2,设置自动加载初始化命令;
步骤ss2:上位机3获取雷达2以及防碰撞传感器6的信息,通过控制电路5控制伺服电机及驱动轮7带动车身主体1移动,雷达2获取室内地图,保存该室内地图到上位机3中;
步骤ss3:在上位机3的3d可视化工具rviz中加载建立的二维地图,显示在led显示屏中,确定初始点后,在led显示屏中设置目的地;
步骤ss4:上位机3运用ros操作系统的navigation功能包,完成在全局范围内的路径规划,规划出一条从初始点到目的地的无障碍路线;
步骤ss5:当车身主体1没有遇到步骤ss3中地图上未显示的障碍物时,则按照步骤ss4规划出的路线行走,到达目的地位置,完成导航,任务结束,转入步骤ss7,若车身主体1遇到步骤ss3中地图上未显示的障碍物时,则转入步骤ss6;
步骤ss6:上位机3运用ros的base_local_planner包实现局部路径规划,实时规划出一条从初始点到目的地的无障碍轨迹,按新轨迹行走,到达目的地位置,完成导航,任务结束,转入步骤ss7;如果到达目的地之前再次遇到障碍物,重复步骤ss6;
步骤ss7:重复步骤ss5到步骤ss7进行下一次任务。
作为一种较佳的实施例,步骤ss6还包括:base_local_planner包使用trajectoryrollout和dynamicwindowapproaches算法计算车身主体1每个周期内应该行驶的速度和角度(dx,dy,dthetavelocities);trajectoryrollout和dynamicwindowapproaches算法的设计方法如下:步骤ss61:采样车身主体1当前的状态,即速度和角度(dx,dy,dtheta);步骤ss62:针对每个采样的速度,计算车身主体1以该速度行驶一段时间后的状态,得出一条行驶的路线;步骤ss63:利用是否会撞击障碍物以及所需要的时间作为评价标准为多条路线打分;步骤ss64:根据打分结果,选择最优路径;步骤ss65:重复步骤ss61至步骤ss64,直至到达目的地。
作为一种较佳的实施例,上位机3的3d可视化工具rviz加载的室内地图显示在led触摸显示屏上,使用者在3d可视化工具rviz的工作界面上设定目标位置。
本申请中专业术语的含义如下:
ros操作系统:ros---(robotoperatingsystem)是一个机器人软件平台,它能为异质计算机集群提供类似操作系统的功能。ros的前身是斯坦福人工智能实验室为了支持斯坦福智能机器人stair而建立的交换庭(switchyard)项目。ros提供一些标准操作系统服务,例如硬件抽象,底层设备控制,常用功能实现,进程间消息以及数据包管理。ros是基于一种图状架构,从而不同节点的进程能接受,发布,聚合各种信息(例如传感,控制,状态,规划等等)。目前ros主要支持ubuntu。ros可以分成两层,低层是上面描述的操作系统层,高层则是广大用户群贡献的实现不同功能的各种软件包,例如定位绘图,行动规划,感知,模拟等等。ros(低层)使用bsd许可证,所有是开源软件,并能免费用于研究和商业用途。而高层的用户提供的包则可以使用很多种不同的许可证。
ubuntu操作系统:ubuntu操作系统基于debian发行版和gnome桌面环境。ubuntu的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统,它可免费使用,并带有社团及专业的支持。
3d可视化工具rviz:rviz是ros中的一个3d可视化工具,可以把用代码建的机器人模型转化为可视的3d模型。
ros的navigation功能包:导航功能包集使用来自传感器的信息实现避开物理环境中的障碍物,并且假定这些传感器在ros上不断发布sensor_msgs/laserscan消息或者sensor_msgs/pointcloud消息。
ros的baselocalplanner包:这个包使用trajectoryrolloutanddynamicwindowapproaches来做平面上运动的机器人局部导航。控制器使用规划和代价地图生成速度命令后发送给移动基座。该包适用于全向移动和非全向移动机器人,机器人轮廓可以表示为凸多边形或者圆,ros参数可以在启动文件指定。这个包进行了ros封装,继承了baselocalplanner接口。base_local_planner包提供了驱动底座在平面移动的控制器,控制器可以连接路径规划器和机器人底座。为了让机器人从起始位置到达目标位置,规划器使用地图创建运动轨迹。向目标移动的路上,规划器至少需要在机器人周围创建一个可以表示成珊格地图的本地评价函数。该评价函数输入珊格单元的cost。该控制器任务就是用这个评价函数确定发什么速度给机器人底座。
语音识别软件包,采用cmupocketsphinx,cmusphinx(简称sphinx)是美国卡内基梅隆大学开发的一系列语音识别系统的总称。
防碰撞传感器:碰撞传感器种类,按功能分:1)碰撞烈度传感器:用于检测汽车受碰撞程度。该传感器按安装位置分为:左前碰撞传感器、右前碰撞传感器和中央碰撞传感器。2)碰撞防护传感器:用于防止安全气囊产生误胀开。又称为安全碰撞传感器或侦测碰撞传感器。
按结构分:碰撞传感器有机电结合式、电子式和水银开关式。三种类型碰撞传感器的工作原理:1)机电结合式:利用机械运动使电气触点的通断开来控制安全气囊电路。其结构有滚球式、滚轴式和偏心锤式。2)电子式:利用碰撞时应变电阻的变形使其电阻值变化或压电晶体受力使输出电压变化来控制安全气囊电路。3)水银开关式:利用水银的导电特性控制安全气囊电路。;
trajectoryrollout算法和dynamicwindowapproaches算法:在机器人控制空间离散的采样(dx,dy,dtheta);拿采样的离散点做前向模拟,基于机器人当前状态,预测如果使用空间采样点的速度运动一段时间,会发生什么;评估前向模拟的每条轨迹,评估标准包括(接近障碍,接近目标,接近全局路径和速度)。丢弃不合法的轨迹(如可能碰到障碍物的轨迹);采用得分最高的轨迹,并将其对应速度发给底座;重复以上步骤。
dtheta:单位时间内变化的角度。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。