一、安裝Carla0.9.13
1、安裝 Carla 0.9.13
pip install --user pygame numpy
pip3 install --user pygame numpy
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1AF1527DE64CB8D9
sudo add-apt-repository "deb [arch=amd64] http://dist.carla.org/carla $(lsb_release -sc) main"
sudo apt-get update
sudo apt-get install carla-simulator=0.9.13
二、安裝 UnrealEngine 4.26
1、進入UE網(wǎng)頁,按照順序完成以下6步。
https://www.unrealengine.com/en-US/ue-on-github
2、進入EpicGame的Github
https://github.com/EpicGames
點擊UnrealEngine
2、直接clone出來是最新版,需要設(shè)置classic token,可以參考:
https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token
3、復制密鑰后,下載UnrealEngine
git clone --depth 1 -b carla https://github.com/CarlaUnreal/UnrealEngine.git ~/UnrealEngine_4.26
輸入用戶名和剛才的密鑰
4、編譯
cd UnrealEngine_4.26/
./Setup.sh
./GenerateProjectFiles.sh
make
在make時報以下錯:
ERROR: Platform Linux is not a valid platform to build. Check that the SDK is installed properly.
可以參考:
在編譯UnrealEngine4.26時報錯:ERROR: Platform Linux is not a valid platform to build. Check that the SDK is
5、檢查是否安裝成功
cd UnrealEngine_4.26/Engine/Binaries/Linux
./UE4Editor
6、添加環(huán)境變量
echo "export UE4_ROOT=~/UnrealEngine_4.26" >> ~/.bashrc
三、安裝Autoware.universe
在第3步自動安裝依賴時,可以將ROS2 Galactic一并安裝,也可以提前自己手動安裝,參考如下:
在Ubuntu20.04下安裝ROS2 Galactic
1、安裝git
sudo apt-get -y update
sudo apt-get -y install git
2、克隆Autoware到本地
mkdir autoware_universe
cd autoware_universe/
git clone https://github.com/autowarefoundation/autoware.git -b galactic
3、自動安裝相關(guān)依賴
cd autoware
./setup-dev-env.sh
如果有以下報錯:
The following packages have unmet dependencies:“, " cuda-drivers : Depends: cuda-drivers-530 (= 530.30.02-1) but it is not going to be installed”]}
解決辦法:
在Ubuntu20.04下安裝Autoware.universe使用命令安裝依賴時報錯
4、創(chuàng)建 src 文件夾
mkdir src
5、修改 autoware.repos 文件
sudo gedit autoware.repos
在autoware.repos 文件中,28行位置加入以下內(nèi)容
universe/external/open_planner:
type: git
url: https://github.com/ZATiTech/open_planner.git
version: main
6、下載代碼庫到本地
vcs import src < autoware.repos
7、安裝 Autoware 依賴包
rosdep update --include-eol-distros
source /opt/ros/galactic/setup.bash
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
在安裝open3d時速度慢,報錯,可以參考:
安裝ROS依賴時,安裝open3d速度慢,報錯問題
遇到 Invalid version: ‘0.23ubuntu1’ (package: distro-info) 報錯問題,可以參考:
安裝ROS依賴時,Invalid version: ‘0.23ubuntu1報錯
8、編譯工作空間
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
在編譯過程中卡死或者崩潰,或者其他問題,可以參考:
https://autowarefoundation.github.io/autoware-documentation/galactic/support/troubleshooting/#build-issues
四、設(shè)置 OpenPlanner
1、下載代碼
cd ~/autoware_universe
mkdir op_carla
cd op_carla/
git clone https://github.com/hatem-darweesh/op_bridge.git -b ros2
git clone https://github.com/hatem-darweesh/op_agent.git -b ros2
git clone https://github.com/hatem-darweesh/scenario_runner.git
2、從google drive上下載Town01.pcd 和 Town01.osm地圖。
https://drive.google.com/drive/folders/1Or0CMS08AW8XvJtzzR8TfhqdY9MMUBpS
以下網(wǎng)盤鏈接中只有Town01.pcd 和 Town01.osm地圖,可供下載。
鏈接:https://pan.baidu.com/s/1xhUj71nMniECfQrM2MniPw
提取碼:i4ll
創(chuàng)建 Town01 文件夾,將 Town01.pcd 和 Town01.osm 復制到Town01_map 文件夾中。
Town01.pcd重命名為pointcloud_map.pcd
Town01.osm重命名為lanelet2_map.osm
3、修改 run_exploration_mode_ros2.sh 文件
sudo gedit ~/autoware_universe/op_carla/op_bridge/op_scripts/run_exploration_mode_ros2.sh
在第8行
如果不在同一臺電腦上運行仿真,需要設(shè)置運行仿真的電腦的 IP 地址。如下:
export SIMULATOR_LOCAL_HOST=“192.168.11.5”
如果在本機上運行仿真需要修改為:
export SIMULATOR_LOCAL_HOST=“l(fā)ocalhost”
3、修改 start_ros2.sh 文件
sudo gedit ~/autoware_universe/op_carla/op_agent/start_ros2.sh
在第15行
按照實際的安裝路徑修改。
source /home/username/autoware_universe/autoware/install/setup.bash
在第18行
按照實際的安裝路徑修改launch文件路徑,按照Town01的路徑修改map_path。
ros2 launch /home/username/autoware_universe/autoware/src/launcher/autoware_launch/autoware_launch/launch/autoware.launch.xml map_path:=/home/username/autoware_universe/autoware/src/${map_name} vehicle_model:=sample_vehicle sensor_model:=sample_sensor_kit
4、修改 autoware.launch.xml 文件
sudo gedit ~/autoware_universe/autoware/src/launcher/autoware_launch/autoware_launch/launch/autoware.launch.xml
在第11行
添加如下:
<arg name="launch_carla_interface" default="true" description="convert carla sensor data to autoware suitable format"/>
在第17行
將launch_sensing_driver中的true改成false,可以直接復制以下替換第17行。
<arg name="launch_sensing_driver" default="false" description="launch sensing driver"/>
在第23行
將use_sim_time中的false改成true,可以直接復制以下替換第23行。
<arg name="use_sim_time" default="true" description="use_sim_time"/>
在第52行
添加如下:
<!-- CARLA -->
<group if="$(var launch_carla_interface)">
<node pkg="carla_pointcloud" exec="carla_pointcloud_node" name="carla_pointcloud_interface" output="screen"/>
</group>
5、修改 gnss.launch.xml 文件
sudo gedit ~/autoware_universe/autoware/src/sensor_kit/sample_sensor_kit_launch/sample_sensor_kit_launch/launch/gnss.launch.xml
在第4行
將coordinate_system中的1改成2,可以直接復制以下替換第4行。
<arg name="coordinate_system" default="2" description="0:UTM, 1:MGRS, 2:PLANE"/>
在第5行
添加如下:
<arg name="plane_zone" default="0"/>
5、修改 sensor_kit_calibration.yaml 文件
sudo gedit ~/autoware_universe/autoware/src/sensor_kit/sample_sensor_kit_launch/sample_sensor_kit_description/config/sensor_kit_calibration.yaml
由于修改較多,可以直接全部替換:
sensor_kit_base_link:
camera0/camera_link:
x: 0.7
y: 0.0
z: 0.0
roll: 0.0
pitch: 0.0
yaw: 0.0
camera1/camera_link:
x: 0.0
y: 0.0
z: 0.0
roll: 0.0
pitch: 0.0
yaw: 0.0
camera2/camera_link:
x: 0.0
y: 0.0
z: 0.0
roll: 0.0
pitch: 0.0
yaw: 0.0
camera3/camera_link:
x: 0.0
y: 0.0
z: 0.0
roll: 0.0
pitch: 0.0
yaw: 0.0
camera4/camera_link:
x: 0.0
y: 0.0
z: 0.0
roll: 0.0
pitch: 0.0
yaw: 0.0
camera5/camera_link:
x: 0.0
y: 0.0
z: 0.0
roll: 0.0
pitch: 0.0
yaw: 0.0
traffic_light_right_camera/camera_link:
x: 0.0
y: 0.0
z: 0.0
roll: 0.0
pitch: 0.0
yaw: 0.0
traffic_light_left_camera/camera_link:
x: 0.0
y: 0.0
z: 0.0
roll: 0.0
pitch: 0.0
yaw: 0.0
velodyne_top_base_link:
x: 0.0
y: 0.0
z: 0.8
roll: 0.0
pitch: 0.0
yaw: 0.0
velodyne_left_base_link:
x: -0.5
y: 0.0
z: 0.8
roll: 0.0
pitch: 0.0
yaw: 0.0
velodyne_right_base_link:
x: 0.5
y: 0.0
z: 0.8
roll: 0.0
pitch: 0.0
yaw: 0.0
gnss_link:
x: 0.0
y: 0.0
z: 0.8
roll: 0.0
pitch: 0.0
yaw: 0.0
tamagawa/imu_link:
x: 0.0
y: 0.0
z: 0.8
roll: 0.0
pitch: 0.0
yaw: 0.0
6、修改 sensors_calibration.yaml 文件
sudo gedit ~/autoware_universe/autoware/src/sensor_kit/sample_sensor_kit_launch/sample_sensor_kit_description/config/sensors_calibration.yaml
由于修改較多,可以直接全部替換:
base_link:
sensor_kit_base_link:
x: 0.0
y: 0.0
z: 1.6
roll: 0.0
pitch: 0.0
yaw: 0.0
velodyne_rear_base_link:
x: 0.0
y: 0.0
z: 0.0
roll: 0.0
pitch: 0.0
yaw: 0.0
7、修改環(huán)境變量
sudo gedit ~/.bashrc
根據(jù)安裝位置修改路徑后,再添加到環(huán)境變量中。
export CARLA_ROOT=/opt/carla-simulator
export SCENARIO_RUNNER_ROOT=/home/username/autoware_universe/op_carla/scenario_runner
export LEADERBOARD_ROOT=/home/username/autoware_universe/op_carla/op_bridge
export TEAM_CODE_ROOT=/home/username/autoware_universe/op_carla/op_agent
export PYTHONPATH=$PYTHONPATH:${CARLA_ROOT}/PythonAPI
export PYTHONPATH=$PYTHONPATH:${CARLA_ROOT}/PythonAPI/util
export PYTHONPATH=$PYTHONPATH:${CARLA_ROOT}/PythonAPI/carla
export PYTHONPATH=$PYTHONPATH:${CARLA_ROOT}/PythonAPI/carla/agents
export PYTHONPATH=$PYTHONPATH:$CARLA_ROOT/PythonAPI/carla/dist/carla-0.9.13-py3.8-linux-x86_64.egg
五、運行Carla和Autoware
cd $CARLA_ROOT
./CarlaUE4.sh -quality-level=Epic -world-port=2000 -resx=800 -resy=600
再打開一個終端:
cd ~/autoware_universe/op_carla/op_bridge/op_scripts
source ~/autoware_universe/autoware/install/setup.bash
./run_exploration_mode_ros2.sh
如果報錯,需要什么依賴,安裝什么依賴:
pip install py-trees
pip install networkx
pip install tabulate
sudo apt-get install ros-galactic-sensor-msgs-py
完成以上,可以實現(xiàn)選擇終點,自動路徑規(guī)劃,自動尋跡,如果想加入NPC車輛測試感知,可以查看下面的博客。文章來源:http://www.zghlxwxcb.cn/news/detail-413805.html
在Carla+Autoware.universe仿真中加入NPC車輛文章來源地址http://www.zghlxwxcb.cn/news/detail-413805.html
到了這里,關(guān)于在Ubuntu20.04下安裝Autoware.universe和Carla并進行聯(lián)合仿真的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!