Autoware_ROS2发展环境课程介绍01

有关Autoware的功能、实施和未来计划的讨论,请参见此视频。

我们为什么要开设这门课程

  1. 自动驾驶是一个大趋势。在过去的5年里,仅自动驾驶软件的平均投资就达到了23亿美元。
    Autoware_ROS2发展环境课程介绍01_第1张图片

  2. 开发自动驾驶应用程序的主要手段之一ROS已经成熟,ROS 2版本现在可以使用了。
    Autoware_ROS2发展环境课程介绍01_第2张图片

  3. 同样,Autoware也已经从研究和原型阶段毕业,下一个版本是Autoware。汽车正被开发得更加严格,并在商业应用中使用一个明确的目标。

  4. 开发一个自动驾驶系统是困难的,需要巨大的财政和开发者资源。利用本课程中介绍的技术(ROS 2和Autoware。自动),用户可以专注于他们的不同之处——一个真正的自动驾驶应用程序,如自动出租车、高速公路自动驾驶、自动代客泊车等。
    Autoware_ROS2发展环境课程介绍01_第3张图片

  5. ROS 2和Autoware。汽车是新技术。本课程提供了快速、高质量的掌握它们的捷径。

课程将如何运作

先决条件

  1. 熟悉ROS 1(或任何其他机器人框架)和中级C++
  2. 线性代数、微积分和统计学知识。一个理想的学生将熟悉感知、定位、规划、控制、状态估计和决策制定的理论方面,例如,由乌达城的纳米学位项目教授。
  3. 硬件:唯一的性能限制来自基于统一的模拟器。关于其要求,请参见模拟器的文档。
  4. 软件:Ubuntu 18.04

这门课程将提供什么

该课程是与Autoware基金会和ROS社区的成员合作组织的。他们是软件中间件、软件框架以及自动驾驶汽车的算法和工具领域的世界领先专家。在本课程中,您将学习如何实际构建一个工作的广告堆栈来执行自动代客泊车(AVP)。
摘要
这里有对课程大纲的简短回顾。

讲座结构
每个讲座都将有以下结构:

理论背景
编程示例
系统的例子

在每节课结束时,学生将能够运行预先准备好的例子,修改它们,并建立自己的自动驾驶系统。

快速入门——开发环境

安装ADE(超棒的开发环境)
在本课程中,我们将使用ADE。这将确保课程中的所有学生都有一个共同的、一致的发展环境。
Autoware_ROS2发展环境课程介绍01_第4张图片
Docker
The requirement for ADE is to install docker, please follow: https://ade-cli.readthedocs.io/en/latest/install.html#requirements.

要在您的Ubuntu 18.04计算机上安装ADE,请执行以下步骤或遵循ADE文档中的安装说明:

cd ${HOME}
mkdir adehome
cd adehome
wget https://gitlab.com/ApexAI/ade-cli/uploads/85a5af81339fe55555ee412f9a3a734b/ade+x86_64
mv ade+x86_64 ade
chmod +x ade
mv ade ~/.local/bin
which ade
# Update ade
ade update-cli
# Now setup ade
touch .adehome
git clone --recurse-submodules https://gitlab.com/autowarefoundation/autoware.auto/AutowareAuto.git
cd AutowareAuto/
ade start
# this will take awhile
ade enter
现在,您应该会在提示中看到以下内容:
< your_username>@ade:~$

注意:从现在开始,我们将在命令行指令前面加上 或 a d e 或ade ade来指示这些命令应该在普通终端还是在ade环境中运行。

安装ROS 2
Autoware。Auto用的是ROS 2 Dashing,已经装在ADE里面了。安装目录是/opt/ros/dashing/。有关从头开始安装ROS 2的说明,请参考ROS 2 Dashing的ROS文档。

您可以通过运行以下命令来确认安装:

ade$ ros2 -h

您也可以尝试使用两个独立的终端运行订阅者/发布者实例。

ade$ ros2 run demo_nodes_cpp talker
ade$ ros2 run demo_nodes_cpp listener

如果你想在ADE中安装额外的系统包,你可以使用apt包管理工具。

ade$ sudo apt update
ade$ sudo apt install ros-dashing-turtlesim
ade$ sudo apt install ros-dashing-rqt-*
ade$ sudo apt install byobu

注意:系统软件包的安装不会在停止和启动命令之间持续。任何需要保存的有价值的东西都应该放在adehome目录中,该目录存储在主机上,并安装在ADE环境中。

安装Autoware。汽车

二进制版本
Autoware。ADE内部已经安装了Auto。安装目录是/opt/AutowareAuto/,它是作为docker卷提供的。

来源版本
对于从源安装,您可以使用以前克隆的版本,并运行以下命令:

ade$ cd AutowareAuto
ade$ colcon build
ade$ colcon test
ade$ colcon test-result

运行对象检测演示
现在,您已经准备好运行Autoware的一个标准应用程序了。自动,一个基于激光雷达的物体探测管道。

先决条件

下载预先录制的pcap文件,并将其放入${HOME}/adehome/data中。
克隆特定于讲座的配置文件:

ade$ git clone https://gitlab.com/ApexAI/autowareclass2020.git ~/autowareclass2020

在新的ADE终端中执行以下每个命令。
注意:需要自动软件的源代码。在以下每个命令之前自动工作空间。您可以通过在ADE终端中执行source/opt/AutoWareAuto/setup . bash来实现这一点。

ade$ udpreplay ~/data/route_small_loop_rw-127.0.0.1.pcap
ade$ rviz2 -d /home/${USER}/autowareclass2020/code/src/01_DevelopmentEnvironment/aw_class2020.rviz
ade$ ros2 run velodyne_node velodyne_cloud_node_exe __ns:=/lidar_front __params:=/home/${USER}/autowareclass2020/code/src/01_DevelopmentEnvironment/velodyne_node.param.yaml
ade$ ros2 run robot_state_publisher robot_state_publisher /opt/AutowareAuto/share/lexus_rx_450h_description/urdf/lexus_rx_450h.urdf
ade$ ros2 run point_cloud_filter_transform_nodes  point_cloud_filter_transform_node_exe __ns:=/lidar_front __params:=/opt/AutowareAuto/share/point_cloud_filter_transform_nodes/param/vlp16_sim_lexus_filter_transform.param.yaml __node:=filter_transform_vlp16_front points_filtered:=/perception/points_in
ade$ ros2 run ray_ground_classifier_nodes ray_ground_classifier_cloud_node_exe __ns:=/perception __params:=/opt/AutowareAuto/share/autoware_auto_avp_demo/param/ray_ground_classifier.param.yaml
ade$ ros2 run  euclidean_cluster_nodes euclidean_cluster_exe __ns:=/perception __params:=/opt/AutowareAuto/share/autoware_auto_avp_demo/param/euclidean_cluster.param.yaml

Autoware_ROS2发展环境课程介绍01_第5张图片
编辑并编译您的代码
现在我们将看看如何创建一个新的 Autoware.Auto 包,对其进行编辑和编译。

创建新包

ade$ cd ~/AutowareAuto/src
ade$ autoware_auto_create_pkg --destination . --pkg-name autoware_my_first_pkg --maintainer "Dejan Pangercic" --email [email protected] --description "My first Autoware pkg."

编辑文件

ade$ emacs -nw autoware_my_first_pkg/src/autoware_my_first_pkg_node.cpp
# Edit one Line

重新编译并执行

ade$ cd ..
ade$ colcon build --packages-select autoware_auto_autoware_my_first_pkg
ade$ source install/setup.bash
ade$ ros2 run autoware_auto_autoware_my_first_pkg autoware_my_first_pkg_exe

恭喜!现在你在Autoware.Auto里有一条白带

下一讲
在下一讲中,您将了解汽车和机器人代码开发的理论以及用于开发 Autoware.Auto 的一些最佳实践。

你可能感兴趣的:(ros2,autoware,Linux,自动驾驶)