ubuntu20.04 carla仿真环境及ros-bridge搭建

ubuntu20.04 carla仿真环境及ros-bridge搭建

一、CARLA的安装

1. 三种CARLA的安装部署方式

1. 编译方式安装CARLA:

  • 使用自定义地图

  • 使用自定义车辆

  • 使用自定义的传感器模型

  • 使用除python 2.7或python 3.7以外的特别版本

2. 以安装包方式部署CARLA(本文使用此方式):release

  • 您是初学者,首次接触CARLA

  • 您使用非NVIDIA显卡

访问CARAL的Github Repositories中的Release页面,点击您所需要的版本下载并保存到本地。 请同时下载CARLR{version).tar.gz主程序文件与AdditionalMaps{version}.tar.gz地图扩展包。

步骤:

  1. 下载

  2. 解压carla,将安装程序压缩包CARLA_{version}.tar.gz解压缩至刚刚创建的文件夹内

    $ tar -zxvf ~/Downloads/CARLA_0.9.11.tar.gz -C ~/CARLA/
  1. 解压地图,将安装CARLA的附加资产包AdditionalMaps_{version}.tar.gz,将其直接解压缩至目标CARLA版本的文件夹Import下, carla中导入AdditionalMaps

    $ tar -zxvf ~/Downloads/AdditionalMaps_0.9.11.tar.gz -C ~/CARLA/Import
  1. 导入地图

    $ cd ~/CARLA/0_9_11
    $ ./ImportAssets.sh
​
  1. 运行验证

    cd ~/CARLA/
    ./CarlaUE4.sh

3. Docker方式部署CARLA

  • 了解且熟悉Docker的操作

  • 如果您不确定您的需求,我们强烈推荐以包方式部署CARLA

二、 carla-ros-bridge环境搭建

1. carla-ros-bridge的环境搭建

环境搭建参考链接如下:ROS bridge installation for ROS 1

2. carla-ros-bridge环境搭建的注意事项

  1. ROS Noetic — For Ubuntu 20.04 (Focal) 无法进行使用apt-get install

    melodic版本ros(ubuntu18.04)可以直接安装,参考:【仿真】Carla安装与ROS的简单连接 [0]_Kin_Zhang天天向上-CSDN博客_carla ros

  2. 需要拉取submodule

    git submodule update --init
  1. catkin build会编译出错,可以手动安装如下包:

    sudo dpkg -i ros-noetic-derived-object-msgs_3.3.0-1buster.20210619.002808_amd64.deb
  1. 手动下载ackermann_msgs并解压到src文件夹 ~/carla-ros-bridge/catkin_ws/src/ros-bridge/ackermann_msgs

  2. 如果使用ubuntu20.04的默认python3.8版本,可以如下hack 将carla-0.9.12-py3.7-linux-x86_64.egg改为carla-0.9.12-py3.8-linux-x86_64.egg

    export CARLA_ROOT=
    export PYTHONPATH=$PYTHONPATH:$CARLA_ROOT/PythonAPI/carla/dist/carla-.egg:$CARLA_ROOT/PythonAPI/carla

3. 运行

运行carla-simulator b. 运行carla-ros-bridge

source ~/carla-ros-bridge/catkin_ws/devel/setup.bash    
roslaunch carla_ros_bridge carla_ros_bridge_with_example_ego_vehicle.launch

4. 注意事项:carla烦人的python版本问题

  1. ubuntu20.04系统默认python版本的python为3.8

  2. carla默认的python版本为3.7

  3. 默认的pip安装,会安装到3.8

    pip show networkx
    Location: /home/dino/.local/lib/python3.8/site-packages
  4. 对于PythonAPI的example,可以指定运行特定的python版本 python3.8 automatic_control.py

你可能感兴趣的:(自动驾驶,人工智能,机器学习)