有关Autoware的功能、实施和未来计划的讨论,请参见此视频。
同样,Autoware也已经从研究和原型阶段毕业,下一个版本是Autoware。汽车正被开发得更加严格,并在商业应用中使用一个明确的目标。
开发一个自动驾驶系统是困难的,需要巨大的财政和开发者资源。利用本课程中介绍的技术(ROS 2和Autoware。自动),用户可以专注于他们的不同之处——一个真正的自动驾驶应用程序,如自动出租车、高速公路自动驾驶、自动代客泊车等。
ROS 2和Autoware。汽车是新技术。本课程提供了快速、高质量的掌握它们的捷径。
该课程是与Autoware基金会和ROS社区的成员合作组织的。他们是软件中间件、软件框架以及自动驾驶汽车的算法和工具领域的世界领先专家。在本课程中,您将学习如何实际构建一个工作的广告堆栈来执行自动代客泊车(AVP)。
摘要
这里有对课程大纲的简短回顾。
讲座结构
每个讲座都将有以下结构:
理论背景
编程示例
系统的例子
在每节课结束时,学生将能够运行预先准备好的例子,修改它们,并建立自己的自动驾驶系统。
快速入门——开发环境
安装ADE(超棒的开发环境)
在本课程中,我们将使用ADE。这将确保课程中的所有学生都有一个共同的、一致的发展环境。
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.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 的一些最佳实践。