《自动驾驶编程原理与应用》课件 第2章开源自动驾驶框架Autoware_第1页
《自动驾驶编程原理与应用》课件 第2章开源自动驾驶框架Autoware_第2页
《自动驾驶编程原理与应用》课件 第2章开源自动驾驶框架Autoware_第3页
《自动驾驶编程原理与应用》课件 第2章开源自动驾驶框架Autoware_第4页
《自动驾驶编程原理与应用》课件 第2章开源自动驾驶框架Autoware_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1主讲:黄炜自动驾驶编程原理与应用2第二章开源自动驾驶框架Autoware知识点:了解Autoware开源自动驾驶框架基本概况,以及Autoware基于源码安装方式;掌握常用功能组件的功能和使用方法。重点:重点掌握启动文件、坐标变换库、数据可视化工具、数据记录与回放工具等常用组件的相关命令。难点:ROS安装与环境配置。自动驾驶编程原理与应用3本章节目录2.1基本介绍Autoware开源自动驾驶框架2.2源码安装终端常用命令ROS安装系统依赖Autoware安装Autoware运行2.3常用功能组件说明启动文件坐标变换库数据可视化工具数据记录与回放工具42.1基本介绍52.1基本介绍Autoware是名古屋大学ShinpeiKato教授团队于2015年推出的开源自动驾驶软件框架,作为全球首个基于ROS(RobotOperatingSystem)的全栈自动驾驶解决方案,它开创了开源自动驾驶软件的先河。62.1基本介绍该框架深度整合了ROS的模块化架构和丰富工具链,构建了完整的自动驾驶开发生态系统。72.1基本介绍ROS作为Autoware的中间件,运行于Linux(Ubuntu)操作系统之上,不仅提供基于TCP/UDP网络封装的发布/订阅、客户端/服务端等实现数据传输的通信机制,而且还集成功能强大的库和工具:Catkin-原始构建系统;OpenCV-图像处理库;rosbag-数据记录与回放工具;RViz-数据可视化工具;tf-坐标变换库;RQT-基于Qt的GUI开发工具。这些工具和库共同构成了Autoware的底层支撑,使其能够高效实现车辆定位、环境感知、决策规划、运动控制等自动驾驶核心功能,同时保持高度的灵活性和可扩展性。82.2源码安装92.2源码安装本课程基于Ubuntu18.04系统/ROSMelodic以及Autoware1.12.0版本指导安装运行代码所需环境。102.2源码安装终端常用命令使用快捷键Ctrl+Alt+T打开终端。112.2源码安装终端常用命令终端操作常用命令及其相应功能介绍:a)cd<目录路径>功能:切换工作目录。b)pwd功能:显示出当前工作目录的绝对路径。c)mkdir[选项]<目录名称>功能:创建目录。选项:-p(递归创建父目录)。122.2源码安装终端常用命令终端操作常用命令及其相应功能介绍:d)ls[选项]<目录名称>功能:列出目录的内容。选项:-l(详细列表)、-a(显示隐藏文件)。e)touch[选项]文件名称功能:创建空文件;若文件已存在,则更新其访问和修改时间戳。f)mv[选项]<源文件或目录><目地文件或目录>功能:为文件/目录改名,或将文件由一个目录移入另一个目录中。132.2源码安装终端常用命令终端操作常用命令及其相应功能介绍:g)cp[选项]<源文件名称或目录名称><目的文件名称或目录名称>功能:把给出的一个文件或目录拷贝到另一文件或目录中,或者把多个源文件复制到目标目录中。选项:-r(递归复制目录)、-i(覆盖前提示)。h)sudo[选项][指令]功能:以超级用户(root)权限执行命令。默认需输入当前用户密码。142.2源码安装ROS安装以Melodic版本为例介绍ROS的安装方法。(1)添加ROS软件源,在终端输入以下命令:(2)添加密钥,在终端输入以下命令:$sudoshc'echo"deb/ros/ubuntu$(lsb_release-sc)main">/etc/apt/sources.list.d/ros-latest.list'

$sudoapt-keyadv--keyserver'hkp://:80'--recv-keyC1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

152.2源码安装ROS安装以Melodic版本为例介绍ROS的安装方法。(3)安装ROS,在终端输入以下命令:(4)初始化rosdep,在终端输入以下命令:$sudoaptupdate$sudoaptinstallros-melodic-desktop-full$sudorosdepinit$rosdepupdate162.2源码安装ROS安装以Melodic版本为例介绍ROS的安装方法。(5)设置环境变量,在终端输入以下命令:(6)安装rosinstall,在终端输入以下命令:$echo"source/opt/ros/melodic/setup.bash">>~/.bashrc$source~/.bashrc$sudoaptinstallpython-rosinstallpython-rosinstall-generatorpython-wstoolbuild-essential172.2源码安装系统依赖在终端输入以下命令:$sudoaptupdate$sudoaptinstall–ypython–catkin–pkgpython–rosdepros–$ROS_DISTRO–catkin$sudoaptinstall–ypython3–pippython3–colcon–common–extensionspython3–setuptoolspython3–vcstool$pip3install–Usetuptools182.2源码安装Autoware安装(1)创建工作空间,在终端输入以下命令:(2)以1.12.0版本Autoware.AI为例,下载Autoware.AI工作区配置,在终端输入以下命令:$mkdir–pautoware.ai/src$cdautoware.ai

$wget-Oautoware.ai.repos"/autowarefoundation/autoware.ai/autoware/raw/1.12.0/autoware.ai.repos?inline=false"192.2源码安装Autoware安装(3)将Autoware.AI下载到工作区,在终端输入以下命令:(4)使用rosdep安装依赖项,在终端输入以下命令:$vcsimportsrc<autoware.ai.repos$rosdepupdate$rosdepinstall–y––from-pathssrc–ignore–src–rosdistro$ROS_DISTRO202.2源码安装Autoware安装5)编译工作区情况1未安装CUDA,在终端输入以下命令:情况2已安装CUDA,在终端输入以下命令:$colconbuild––cmake–args-DCMAKE_BUILD_TYPE=Release$AUTOWARE_COMPILE_WITH_CUDA=1colconbuild‐cmake‐args‐DCMAKE_BUILD_TYPE=Release212.2源码安装Autoware运行以运行官方示例数据为例,在终端多标签中分别输入以下命令运行Autoware:(1)示例数据a)下载示例点云/矢量地图数据:b)下载rosbag格式示例数据(LiDAR:VELODYNEHDL-32E;GNSS:JAVADGPSRTKDelta3):$wget/sample_moriyama_data.tar.gz$wget/sample_moriyama_150324.tar.gz222.2源码安装Autoware运行(2)运行示例a)假设示例数据下载至~/Downloads文件夹。在Home目录下创建.autoware文件夹并拷贝“~/Downloads”文件夹中的示例数据到“~/.autoware”文件夹内(需要查看文件夹时直接使用快捷键Ctrl+H显示隐藏文件夹.autoware),然后解压:$cd~$mkdir.autoware$cd.autoware$cp~/Downloads/sample_moriyama_*.$tarzxfvsample_moriyama_150324.tar.gz232.2源码安装Autoware运行(2)运行示例输入以下命令启动地图(启动地图后如需终止进程,可在终端界面使用快捷键Ctrl+C强制中断程序):c)使用快捷键Shift+Ctrl+T在终端新建标签,在新标签中输入以下命令启动定位:$cdautoware.ai$sourceinstall/setup.bash$roslaunchautoware_quickstart_examplesmy_map.launch$sourceinstall/setup.bash$roslaunchautoware_quickstart_examplesmy_localization.launch242.2源码安装Autoware运行(2)运行示例使用快捷键Shift+Ctrl+T在终端新建标签,在新标签中输入以下命令打开可视化工具RViz:打开RViz后显示的是默认初始界面,为了配合示例,需要加载官方的配置文件。在RViz可视化工具界面中依次选择File→OpenConfig或是直接使用快捷键Ctrl+O打开对话框加载文件“~/autoware.ai/src/autoware/documentation/autoware_quickstart_examples/launch/rosbag_demo/default.rviz”,然后点击Open进行配置。$sourceinstall/setup.bash$rviz252.2源码安装Autoware运行(2)运行示例e)使用快捷键Shift+Ctrl+T在终端新建标签,在新标签中输入以下命令回放解压后示例文件sample_moriyama_150324.bag中的数据(回放过程中可在终端界面点击空格键Space暂停或继续):$cd~/.autoware$rosbagplaysample_moriyama_150324.bag262.3常用功能组件说明272.3常用功能组件说明启动文件启动文件(.launch)是一种通过XML文件实现多节点配置和启动的途径,其不仅可以同时启动一组节点,还可以自动启动节点管理器,而且可以实现每个节点的各种配置(相关节点和节点管理器的内容会在下一章系统介绍)。在上一节运行示例启动地图时,用到了启动文件“~/autoware.ai/src/autoware/documentation/autoware_quickstart_examples/launch/rosbag_demo/my_map.launch”。$cdautoware.ai$sourceinstall/setup.bash$roslaunchautoware_quickstart_examplesmy_map.launch282.3常用功能组件说明启动文件以“my_map.launch”为例。<launch><!--loadparametersforndt_matching--><rosparamcommand="load"file="$(findautoware_quickstart_examples)/config/headless_setup.yaml"/><!--TF--><includefile="$(envHOME)/.autoware/data/tf/tf.launch"/>

<!--PointCloud--><nodepkg="map_file"type="points_map_loader"name="points_map_loader"args="noupdate$(envHOME)/.autoware/data/map/pointcloud_map/bin_Laser-00167_-00864.pcd$(envHOME)/.autoware/data/map/pointcloud_map/bin_Laser-00153_-00852.pcd$(envHOME)/.autoware/data/map/pointcloud_map/bin_Laser-00159_-00859.pcd$(envHOME)/.autoware/data/map/pointcloud_map/bin_Laser-00160_-00861.pcd$(envHOME)/.autoware/data/map/pointcloud_map/bin_Laser-00148_-00849.pcd$(envHOME)/.autoware/data/map/pointcloud_map/bin_Laser-00168_-00866.pcd…"/>

<!--VectorMap--><nodepkg="map_file"type="vector_map_loader"name="vector_map_loader"args="$(envHOME)/.autoware/data/map/vector_map/lane.csv$(envHOME)/.autoware/data/map/vector_map/line.csv$(envHOME)/.autoware/data/map/vector_map/utilitypole.csv$(envHOME)/.autoware/data/map/vector_map/curb.csv$(envHOME)/.autoware/data/map/vector_map/node.csv$(envHOME)/.autoware/data/map/vector_map/gutter.csv$(envHOME)/.autoware/data/map/vector_map/point.csv…"/>

</launch>292.3常用功能组件说明启动文件启动文件my_map.launch中包含一个根元素<launch>和两个节点元素<node>。XML文件中必须包含一个根元素,其用<launch>标签定义,而启动节点则是用<node>标签定义。启动文件“my_map.launch”中用到了pkg、type、name和args四个属性。其中,pkg定义节点所在的功能包名称,type定义节点的可执行文件名称,name定义节点运行的名称,args定义节点需要的输入参数。此外,启动文件“my_map.launch”中的<rosparam>用于实现参数设置,可以通过设置command属性为“load”将YAML格式文件中的参数加载到参数服务器。302.3常用功能组件说明坐标变换库车辆在道路环境下实现自动驾驶往往涉及大量组件元素,不同组件元素有各自对应的坐标系(如世界坐标系、车辆坐标系、传感器坐标系与地图坐标系等),坐标系之间存在一定的变换关系。以“~/.autoware/data/tf”为例,tf是一个允许用户随时跟踪多个坐标系的功能包(相关功能包的内容会在下一章系统介绍),其使用树形数据结构让用户可以完成任意坐标系上点、向量等在两个坐标系间的变换。建立好世界坐标系、车辆坐标系与地图坐标系三者之间的关系后,车辆在世界坐标系中的位置就可以用一个向量来表示。312.3常用功能组件说明坐标变换库一般车辆坐标系的坐标原点O位于车辆后轴中心,xOz平面处于车辆左右对称的平面内,其中x轴正方向平行于车辆底盘平面指向车辆的前方,z轴正方向指向正上方,y轴正方向指向车辆左侧。322.3常用功能组件说明坐标变换库使用view_frames工具生成tf树的信息,在终端输入以下命令:$cd~/.autoware/data/tf$rosruntfview_frames$evinceframes.pdf332.3常用功能组件说明坐标变换库使用上述命令会生成.pdf文件并通过打开文件显示整棵tf树的信息。342.3常用功能组件说明坐标变换库如tf树的信息所示,在当前系统存在世界坐标系(worldframe)、地图坐标系(mapframe)、车辆坐标系(base_linkframe)、激光雷达坐标系(velodyneframe)、GPS坐标系(gpsframe)以及移动坐标系(mobilityframe)。可以使用tf_echo工具查看指定两坐标系之间的变换关系。以“查看‘<source_frame>/世界坐标系’与‘<target_frame>/地图坐标系’之间的变换关系”为例,在终端新建标签,在新标签中输入以下命令:$rosruntftf_echo/world/map352.3常用功能组件说明数据可视化工具三维可视化工具RViz的操作主界面主要由以下五部分组成:(1)工具栏区域:有视角控制、目标设置、地点发布等工具,还可以添加自定义的一些插件。

(2)3D视图显示区域:用于图形化显示外部信息可监测数据。(3)显示项目区域:显示当前选择的插件,并且能够对插件的属性进行设置。(4)观测视角设置区域:设置不同的观测视角。(5)时间显示区域:显示包括系统时间和ROS时间等。362.3常用功能组件说明数据可视化工具3D视图显示区域工具栏区域显示项目区域观测视角设置区域时间显示区域372.3

温馨提示

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

评论

0/150

提交评论