ROS机器人开发项目实战 课件 第7、8章 智能机器人系统设计、智能机器人SLAM与自主导航_第1页
ROS机器人开发项目实战 课件 第7、8章 智能机器人系统设计、智能机器人SLAM与自主导航_第2页
ROS机器人开发项目实战 课件 第7、8章 智能机器人系统设计、智能机器人SLAM与自主导航_第3页
ROS机器人开发项目实战 课件 第7、8章 智能机器人系统设计、智能机器人SLAM与自主导航_第4页
ROS机器人开发项目实战 课件 第7、8章 智能机器人系统设计、智能机器人SLAM与自主导航_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第7章智能机器人系统设计目录contents智能机器人系统组成智能机器人系统搭建智能机器人传感器智能机器人系统组成01CATALOGUE系统组成按照智能机器人组成部分的功能划分,智能机器人可分为机械、传感、控制三大部分,这三大部分可进一步细分为驱动系统、机械结构系统、感知系统、机器人-环境交互系统、人机交互系统、控制系统六个子系统系统组成底盘机械结构:主体使用亚克力板拼装,由两个直流电机带动主动轮以及保持平衡的一个万向轮实现机器人行走。驱动系统:电池、Arduinomega2560以及电机驱动模块;控制系统:树莓派4B;传感系统:编码器、单线激光雷达、相机;其中,执行机构与驱动系统构成了智能机器人底盘,激光雷达和相机用于实现机器人—环境交互功能。硬件清单智能机器人系统搭建02CATALOGUE环境感知、动态决策与规划、行为控制与执行等多功能于一体的综合系统。树莓派4B上位机机器人运动控制、底层传感器输入。ArduinoMega2560/Nano下位机智能机器人硬件架构安装Ubuntu系统和ROS系统上位机串口通信下位机上位机-下位机通讯方案ros_arduino_bridge下面不属于Arduino控制器的是()NanoUnoStm32Mega2560ABCD提交单选题1分霍尔直流减速电机执行机构方案电机支撑架两轮差速方式进行驱动编码器计数原理执行机构方案霍尔编码器光电编码器编码器计数原理执行机构方案智能机器人轮胎(直径65mm)执行机构方案智能机器人设计过程中,如果要求小车的位置控制较高,一般选用()霍尔编码器光电编码器不采用编码器ABC提交单选题1分Mega2560驱动系统方案2560扩展板电源子系统电源供电系统方案智能机器人的动力来源于电力,一般使用电池作为动力,为机器人的执行机构、传感器系统、控制系统提供电能。但是机器人搭载的这些系统的电源电压要求不同,有些需要12V电源、有些需要5V电源,为保证机器人系统的稳定性,还要针对电源做保护、滤波等处理。电源子系统就是为整个机器人提供稳定的电源需求,常用的电源管理芯片主要为LM2596系列。电池:4节2600Mah18650锂电池(左);电池盒:4节18650电池盒(左);树莓派电源:12V-5V降压模块(右);驱动系统方案驱动芯片直流电机旋转方式IN1IN2IN3IN4调速PWM信号ENAENBM1正转高低//高/反转低高//高/停止低低//高/M2正转//高低/高反转//低高/高停止//低低/高直流电机的控制可以分为两个部分,第一部分是与电机直接相连的电机驱动模块,可以将上层下达的控制信号转换成电机需要的电源信号;第二部分是电机控制模块,接收控制系统的运动指令,实现对电机的闭环驱动控制。对于机器人常采用的直流电机驱动模块主要有L298N、TB6612、A4950T等上位机控制系统方案智能机器人选择树莓派4B作为上位机平台,在树莓派中搭载Ubuntu系统和运行ROS。树莓派主要实现与智能机器人底控板Arduino的相互通信、外部传感器(摄像头、激光雷达等)的数据采集、其它外设连接等控制系统的基础功能,PC端运行需要图形化显示及高性能处理的上层ROS功能包(图像处理、SLAM、导航等)。远程通讯及控制方案为方便后续开发,需要使用远程连接方式访问树莓派,树莓派可以使用的远程连接方式有很多,如SSH,VNC,Nomachine等。Nomachine下载地址为/Windows端界面无线手柄无线手柄可以连接NVIDIAJetson、树莓派、PC等设备,相比键盘操作更加灵活,方便机器人控制、建图、采集数据等操作,本节介绍亚博智能公司的一款ROS无线手柄的使用方法常用的直流电机驱动芯片有()TB6612A4950TL298NNSD8389ABCD提交多选题2分智能机器人传感器03CATALOGUE传感系统—激光雷达激光雷达是现今机器人尤其是无人车领域最重要、最关键也是最常见的传感器之一,是机器人感知外界的一种重要手段。思岚A1激光雷达传感系统—相机相机是机器人系统中另一个比较重要的传感器,与雷达类似,相机也是机器人感知外界环境的重要手段之一,并且随着机器视觉、无人驾驶等技术的兴起,相机在物体识别、行为识别、SLAM中等都有着广泛的应用。根据工作原理的差异可以将相机大致划分成三类:单目相机、双目相机与深度相机。传感系统—IMU(陀螺仪模块)

IMU全称为惯性测量单元,可以通过测量物体在三维空间内的加速度和角速度,来获取物体的运动姿态和位置信息。IMU模块通常由三个部分组成:加速度计、陀螺仪和磁力计。这些传感器可以通过处理器进行数据处理和滤波,从而获得更加准确的数据。传感系统—超声波传感器超声波传感器是一种利用超声波来检测物体位置、距离或速度的传感设备。其工作原理是发射高频声波(通常超过20kHz),然后接收反射回来的声波。根据声波传播的时间差或频率变化,可以计算出目标物体的距离、位置或移动速度。常用激光雷达一般不使用的线束为()121632ABCD提交单选题1分智能机器人开发过程中,一般不需要的硬件为()单片机驱动芯片逆变器马达ABCD提交单选题1分THANKS感谢观看第8章智能机器人SLAM与自主导航目录contentsSLAM原理简介常用二维SLAM功能包的使用方法Navigation导航框架自主导航案例SLAM原理简介01CATALOGUESLAM原理简介SLAM,全称simultaneouslocalizationandmapping,即时定位与地图构建。即机器人自身位置不确定的情况下,在完全未知的环境中创建地图,同时利用地图进行自主定位和导航。定位,在地图上估测机器人的位置坐标,或者用一个问题来表示:我在哪?地图构建,这一过程是根据传感器的结果来构建一张地图或者是修正当前地图,同时将结果提供给定位算法作为先验地图。SLAM原理简介SLAM原理简介机器人必须安装激光雷达等测距设备,可以获取环境深度信息SLAM原理简介angle_min:

可检测范围的起始角度;angle_max:可检测范围的终止角度,与angle_min组成激光雷达的可检测范围;angle_increment:相邻数据帧之间的角度步长;time_increment:采集到相邻数据帧之间的时间步长,当传感器处于相对运动状态时进行补偿使用;scan_time:采集一帧数据所需要的时间;range_min:

最近可检测深度的阈值;range_max:

最远可检测深度的阈值;ranges:一帧深度数据的存储数组。SLAM原理简介pose:机器人当前位置坐标,包括机器人的XYZ三轴位置与方向参数,以及用于校正误差的协方差矩阵。twist:机器人当前的运动状态,包括XYZ三轴的线速度与角速度,以及用于校正误差的协方差矩阵。常用二维SLAM功能包的使用方法02CATALOGUE常用二维SLAM功能包及使用方法gmapping功能包的总体框架gmapping功能包基于激光雷达Rao-Blackwellized粒子滤波算法二维栅格地图需要机器人提供里程计信息OpenSlam开源算法输出地图话题:nav_msgs/OccupancyGrid。常用二维SLAM功能包及使用方法gmapping功能包中的TF变换安装gmappingsudoapt-getinstallros-noetic-gmapping常用二维SLAM功能包及使用方法常用二维SLAM功能包及使用方法启动gmapping演示roslaunchmybot_gazeboview_mybot_with_laser_gazebo.launchroslaunchmybot_navigationgmapping_demo.launchroslaunchmybot_teleopmybot_teleop.launch常用二维SLAM功能包及使用方法hector_slam功能包的总体框架hector_slam功能包基于激光雷达高斯牛顿方法二维栅格地图不需要里程计数据输出地图话题:nav_msgs/OccupancyGrid常用二维SLAM功能包及使用方法hector功能包中的TF变换安装hector_slamgitclone/tu-darmstadt-ros-pkg/hector_slam.git下面不属于二维SLAM的是()gmappinghectorrtabmapcartographerABCD提交单选题1分Navigation导航框架03CATALOGUENavigation导航框架

Navigation是机器人最基本的功能之一,ROS为机器人提供了一整套导航的解决方案,包括全局与局部路径规划、代价地图、异常行为恢复和地图服务器等。Navigation导航框架

Navigation的输入是开发者设置的导航目标点坐标,输出是机器人的运动控制指令。ROS中的导航功能框架导航框架中的关键功能包

Navigation的输入是开发者设置的导航目标点坐标,输出是机器人的运动控制指令。全局路径规划(globalplanner)1)全局最优路径规划2)Dijkstra或A*算法本地实时规划(localplanner)1)规划机器人每个周期内的线速度、角速度,使之尽量符合全局最优路径。2)实时避障3)TrajectoryRollout和DynamicWindowApproaches算法4)搜索躲避和行进的多条路经,综合各评价标准选取最优路径导航框架中的关键功能包什么是动作(action)

一种问答通信机制;

带有连续反馈;

可以在任务过程中止运行;

基于ROS的消息机制实现。Action的接口goal:发布任务目标;cancel:请求取消任务;status:通知客户端当前的状态;feedback:周期反馈任务运行的监控数据;result:向客户端发送任务的执行结果,只发布一次。导航框架中的关键功能包move_base功能包中的话题和服务导航框架中的关键功能包配置move_base节点mbot_navigation/launch/move_base.launch导航框架中的关键功能包1)蒙特卡罗定位方法2)二维环境定位3)针对已有地图使用粒子滤波器跟踪一个机器人的姿态AMCL功能包中的话题和服务名称类型描述订阅的话题/scansensor_msgs/LaserScan激光雷达数据/tftf/tfMessage坐标变换/initialposegeometry_msgs/PoseWithCovarianceStamped初始化粒子滤波器的均值和协方差/mapnav_msgs/OccupancyGrid地图信息发布的话题/amcl_posegeometry_msgs/PoseWithCovarianceStamped机器人再地图中的位姿估计/particlecloudpointgeometry_msgs/PoseArray滤波器估计的位置/tftf/tfMessage发布从odom到map的转换关系服务global_localizationstd_srvs/Empty初始化全局定位,所有粒子完全随机发布在地图上的空闲区域request_nomotion_updatestd_srvs/Empty手动更新粒子并发布更新后的粒子服务调用static_mapnav_msgs/GetMapamcl调用此服务接收地图,用以基于激光扫描的定位导航框架中的关键功能包1)里程计定位:只通过里程计的数据来处理/base和/odom之间的TF转换;2)amcl定位:可以估算机器人在地图坐标系/map下的位姿信息,提供/base、/odom、/map之间的TF变换。AMCL修正误差流程导航框架中的关键功能包配置

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论