Ubuntu 20.04 安装 Autoware.universe自动驾驶仿真工具

(1)背景

        在入门自动驾驶领域的时候,笔者主要使用的工具是QT+ROS+Gazebo,在该行业工作一段时间之后,发现各家都有自己的仿真平台,只能在公司平台使用,但是如果个人要做城区的仿真,前面所说的工具链(QT+ROS+Gazebo)显然是不够便捷的。目前主要调研了两个开源的平台,第一个是 Autoware.universe,第二个就是国内Apollo平台,matlab适用于高校仿真环境,但不适用于量产(量产还是以c++为主),所以就不重点介绍matlab平台了,这次先说说Autoware平台。

        首先介绍Autoware的安装及使用,后面会大概说一下自己使用的感受。

(2)Autoware安装

        个人电脑系统是Ubunt20.04,安装目前主要的参考是官方文档(比较靠谱,很友好,还会列举可能会遇到的问题):https://autowarefoundation.github.io/autoware-documentation/main/installation/autoware/docker-installation-devel/。

       第一步: 克隆仓库

git clone https://github.com/autowarefoundation/autoware.git

        第二步:安装依赖项

  1. cuda稍微好一点的电脑会自带,但是此项不是必须项
  2. docker的安装参考官方文档即可
    https://docs.docker.com/engine/install/ubuntu/
    https://docs.docker.com/engine/install/linux-postinstall/
  3. 安装nvidia的 container
    https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#setting-up-nvidia-container-toolkit
  4. 安装rocker
    https://github.com/osrf/rocker#installation

         到此,所有依赖安装完毕。

(3)Autoware仿真

         3.1 下载官方的image:

docker pull ghcr.io/autowarefoundation/autoware-universe:latest-cuda

       3.2 创建autoware_map文件目录,用于存储地图demo文件:

mkdir autoware_map

        3.3 以gpu加速的形式启动docker:(注意:如果没有成功安装nvidia cuda,无法使用)

rocker --nvidia --x11 --user --volume $HOME/autoware --volume $HOME/autoware_map -- ghcr.io/autowarefoundation/autoware-universe:latest-cuda

        3.4 如果没有安装nvidia cuda,可以使用下面的命令进入docker:

rocker -e LIBGL_ALWAYS_SOFTWARE=1 --x11 --user --volume $HOME/autoware --volume $HOME/autoware_map -- ghcr.io/autowarefoundation/autoware-universe:latest-cuda

        3.5 进入autoware空间,导入源码:

cd autoware
mkdir src
vcs import src < autoware.repos

        3.6 在docker中,安装ros依赖(需要多次尝试,由于网络不好,所以经常会更新失败):

sudo apt update
rosdep update
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO

        3.7 源码编译:(如果需要加速编译,使用第二行命令即可;此处时间也比较长,大概半小时左右)

colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
MAKEFLAGS="-j4" colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release

        因为后期使用,不需要重新编译所有模块,只需要编译自己所在业务的package,使用如下这行命令即可:

colcon build --packages-select autoware_launch

        3.8 测试使用

        下载官方的地图,之后解压即可

gdown -O ~/autoware_map/ 'https://docs.google.com/uc?export=download&id=1499_nsbUbIeturZaDj7jhUownh5fvXHd'

         运行测试case

source ~/autoware/install/setup.bash
ros2 launch autoware_launch planning_simulator.launch.xml map_path:=$HOME/autoware_map/sample-map-planning vehicle_model:=sample_vehicle sensor_model:=sample_sensor_kit

        此时,我的电脑提示下面的错误,后来仔细检查是因为autoware_launch模块并没有被编译,所以重新对该模块进行了编译,后续能在autoware/install文件夹中找到“autoware_launch”文件:

Package 'autoware_launch' not found: "package 'autoware_launch' not found, searching:

        再次运行上面的两条命令,出现了期待的画面。

        在顶栏中选择合适的起点和终点即可规划出路径,点击“OperationMode”下的“Auto”按钮,车辆即可按照规划出来的路径行驶。(如果起点或终点在车道中逆行是无法规划出轨迹的)    

(4)使用感受

        因为笔者主要从事的是planning模块的工作,所以主要看了相关的架构,整个autoware的框架图如下所示(图片来自官网):

        看下来整体架构是和市场上的自驾公司差不多的,但是内部所使用的算法和目前国内主流的方案差别较大,主要体现在决策和优化部分,在绕行避障的case中,autoware使用的是模型预测方法来规避障碍物,而不是QP方法,包括变道也是。作为额外的研究工作,大家可以去看看官方文档和源码,也许能给自己带来一些启发。

评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智能汽车人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值