概要
Autoware を動かすにはCUDAが必要なため、基本的にはNVIDIAのGPUを搭載したPCが必要になるが、
GPUがないPCで動かせるようにCUDAを使用せずに環境構築してチュートリアルを実行するメモ
環境
OS : ubuntu22.04LTS
CPU : 12th Gen Intel(R) Core(TM) i7-12700H
インストール
依存関係のインストール
git clone https://github.com/autowarefoundation/autoware.git
cd autoware
# CUDA, Nvidia driver, TensorRTをインストールしない
./setup-dev-env.sh --no-nvidia --no-cuda-drivers
ROS2パッケージのインストール
mkdir src
vcs import src < autoware.repos
source /opt/ros/humble/setup.bash
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
メモリ不足の問題でcolcon buildが失敗する場合は以下のトラブルシューティングを参照
チュートリアルの実行
Planning simulation
Tutorialsページ通りに実行
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
Rosbag replay simulation
perceptionにCUDAを使用しないノードを起動するようにlaunchファイルを変更する
autoware/src/universe/autoware.universe/launch/tier4_perception_launch/launch/perception.launch.xmlを以下のように変更
物体検出をlidar_centerpointの代わりにeuclidean_clusterを使用する
- <arg name="lidar_detection_model" default="centerpoint" description="options: `centerpoint`, `apollo`, `pointpainting`, `clustering`"/>
+ <arg name="lidar_detection_model" default="clustering" description="options: `centerpoint`, `apollo`, `pointpainting`, `clustering`"/>
信号機検出をtraffic_light_ssd_fine_detectorの代わりにmap_based_traffic_light_detectorを使用する
- <arg name="traffic_light_recognition/enable_fine_detection" default="true"/>
+ <arg name="traffic_light_recognition/enable_fine_detection" default="false"/>
Tutorials通りに実行
source ~/autoware/install/setup.bash
ros2 launch autoware_launch logging_simulator.launch.xml map_path:=$HOME/autoware_map/sample-map-rosbag vehicle_model:=sample_vehicle sensor_model:=sample_sensor_kit
source ~/autoware/install/setup.bash
ros2 bag play ~/autoware_map/sample-rosbag/sample.db3 -r 0.2 -s sqlite3
参考