Annuaire d'articles
- introduction
- 1. Dépendances d'installation
-
- 1.1 installer git
- 1.2 Cloner Autoware en local
- 1.3 Installer automatiquement les dépendances associées
- 1.4 Installer le pilote graphique
- 1.5 Installer ROS2 Galactic
- 1.6 Installer ros2_dev_tools
- 1.7 Installer rmw_implementation
- 1.8 installer pacmod
- 1.9 Installer autoware_core
- 1.10 Installer les dépendances de l'univers autoware
- 1.11 installer pre_commit
- 1.12 Installer CUDA
- 1.13 Installer cuDNN et TensorRT
- 2. Compilez le code source
- 3. Installez Awsim
- 4. Débogage conjoint d'Autoware et d'Awsim
introduction
Cet article présente les étapes d'installation détaillées d'Autoware.universe dans Ubuntu20.04, basé sur ROS2 Galactic, son site officiel : Autoware Documentation
注意
: Sélectionnez Galactic
la version dans le coin supérieur gauche
Effet de course final :
1. Dépendances d'installation
Lors de l'installation automatique des dépendances à l'étape 3, vous pouvez installer ROS2 Galactic ensemble, ou vous pouvez l'installer manuellement à l'avance.
1.1 installer git
sudo apt-get -y update
sudo apt-get -y install git
1.2 Cloner Autoware en local
mkdir autoware_universe
cd autoware_universe/
git clone https://github.com/autowarefoundation/autoware.git -b galactic
1.3 Installer automatiquement les dépendances associées
cd autoware
./setup-dev-env.sh
Après avoir essayé cela, cela ne fonctionne pas, puis je vais tout installer manuellement, et suivre le lien officiel pour entrer chaque étape pour obtenir la commande d'installation (: Après avoir 注意
entré, il est nécessaire 选择Galactic版本
, comme indiqué dans le coin supérieur gauche de l'image ci-dessous, mais l'officiel a en fait un petit problème, vous pouvez vous référer à mes étapes ci-dessous):
1.4 Installer le pilote graphique
Afficher les cartes graphiques recommandées
ubuntu-drivers devices
Installez la version de carte graphique recommandée, voici la version 535
sudo apt-get install nvidia-driver-535
Pour sélectionner la version, sinon le noyau sera automatiquement mis à jour. Mais quand j'installerai le 535, l'écran sera noir, et je ne pourrai installer que le 510. Comme c'est un système nouvellement installé, la mise à jour du noyau n'aura pas beaucoup d'impact. De plus, si la version d'installation est trop basse, elle n'aura pas fonctionner, car la version minimale est requise pour installer CUDA ci-dessous.
1.5 Installer ROS2 Galactic
Installation en un clic de Yuxiang ros :
wget http://fishros.com/install -O fishros && . fishros
- Sélectionnez [1] : Installation en un clic : ROS (prend en charge ROS et ROS2, Raspberry Pi Jetson)
- Sélectionnez [1] : Modifier la source du système et poursuivre l'installation. Si vous avez déjà modifié la source, vous pouvez choisir [2] pour ne pas modifier la source
- Sélectionnez [2] : remplacer les sources système et nettoyer les sources tierces
- Sélectionnez [3] : galactique (ROS2)
- Sélectionnez [1] : version de bureau galactique (ROS2)
1.6 Installer ros2_dev_tools
sudo apt update && sudo apt install -y \
build-essential \
cmake \
git \
python3-colcon-common-extensions \
python3-flake8 \
python3-pip \
python3-pytest-cov \
python3-rosdep \
python3-setuptools \
python3-vcstool \
wget
python3 -m pip install -U \
flake8-blind-except \
flake8-builtins \
flake8-class-newline \
flake8-comprehensions \
flake8-deprecated \
flake8-docstrings \
flake8-import-order \
flake8-quotes \
pytest-repeat \
pytest-rerunfailures \
pytest \
setuptools
Si l'erreur ci-dessus est signalée, installez les dépendances :
sudo apt install python3-testresources
Si vous rencontrez des problèmes avec les commandes suivantes, vous pouvez vous référer à l'article : Installer la coexistence de ROS1 et ROS2 sur Ubuntu 20.04 en même temps , ou utiliser Yuxiang ROS rosdepc
sudo rosdep init
rosdep update
1.7 Installer rmw_implementation
# wget -O /tmp/amd64.env https://raw.githubusercontent.com/autowarefoundation/autoware/main/amd64.env && source /tmp/amd64.env
# 注意官网给的是mian,humble的,需要改成galactic
wget -O /tmp/amd64.env https://raw.githubusercontent.com/autowarefoundation/autoware/galactic/amd64.env && source /tmp/amd64.env
Si la première phrase signale le problème suivant : Connexion refusée, il y a deux solutions ( 推荐第二种
)
(1) Internet scientifique
(2) amd64.env est la variable d'environnement de certaines versions logicielles correspondantes, nous l'avons d'ailleurs téléchargée dans la section 1.2, il suffit de cliquer la source ok
cd autoware_universe/
source amd64.env
# For details: https://docs.ros.org/en/galactic/How-To-Guides/Working-with-multiple-RMW-implementations.html
sudo apt update
rmw_implementation_dashed=$(eval sed -e "s/_/-/g" <<< "${rmw_implementation}")
sudo apt install ros-${rosdistro}-${rmw_implementation_dashed}
# (Optional) You set the default RMW implementation in the ~/.bashrc file.
echo '' >> ~/.bashrc && echo "export RMW_IMPLEMENTATION=${rmw_implementation}" >> ~/.bashrc
La phrase suivante signale l'erreur suivante et modifie la variable de version ROS en galactic (cette erreur est signalée car le fichier amd.
1.8 installer pacmod
# wget -O /tmp/amd64.env https://raw.githubusercontent.com/autowarefoundation/autoware/galactic/amd64.env && source /tmp/amd64.env
cd autoware_universe/
source amd64.env
# Taken from https://github.com/astuff/pacmod3#installation
sudo apt install apt-transport-https
sudo sh -c 'echo "deb [trusted=yes] https://s3.amazonaws.com/autonomoustuff-repo/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/autonomoustuff-public.list'
sudo apt update
sudo apt install ros-${rosdistro}-pacmod3
Wget a déjà été traité une fois, ici vous ne pouvez que sourcer (copiez-le à nouveau si vous ne le trouvez pas)
1.9 Installer autoware_core
pip3 install gdown
1.10 Installer les dépendances de l'univers autoware
sudo apt install geographiclib-tools
# Add EGM2008 geoid grid to geographiclib
# 下面过程很慢,耐心等待
sudo geographiclib-get-geoids egm2008-1
1.11 installer pre_commit
clang_format_version=14.0.6
pip3 install pre-commit clang-format==${clang_format_version}
# Install Golang (Add Go PPA for shfmt)
sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt install golang
1.12 Installer CUDA
# wget -O /tmp/amd64.env https://raw.githubusercontent.com/autowarefoundation/autoware/galactic/amd64.env && source /tmp/amd64.env
cd autoware_universe/
source amd64.env
# Modified from:
# https://developer.nvidia.com/cuda-11-4-4-download-archive?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=20.04&target_type=deb_network
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/3bf863cc.pub
sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /"
sudo apt-get update
cuda_version_dashed=$(eval sed -e "s/[.]/-/g" <<< "${cuda_version}")
sudo apt install cuda-${cuda_version_dashed} --no-install-recommends
En règle générale, le processus ci-dessus sera installé avec succès, mais l'erreur suivante peut être signalée lors de la dernière étape de l'installation. Il existe deux solutions (la seconde est recommandée) :
(1) Utilisez aptitude pour ajuster la version de la dépendance (à utiliser avec prudence, 建议
utilisez la deuxième méthode)
sudo apt-get install aptitude
sudo aptitude install cuda-${cuda_version_dashed}
--no-install-recommends
Le paramètre est utilisé pour interdire l'installation de packages logiciels supplémentaires recommandés lors de l'installation de packages logiciels. Seuls les composants principaux de CUDA 11.6 sont installés, ce qui peut aider à réduire le nombre de packages logiciels installés, à économiser de l'espace disque et à réduire la redondance dans le système, et peut être annulé s'il n'est pas nécessaire.
Sélectionner Y réinstallera le pilote de la carte graphique (le mien réinstallera le 535, mais l'écran sera noir, donc cette méthode n'est pas utilisée)
(2) Utilisez la méthode d'installation manuelle :
nvidia-smi
Vérifiez que la version la plus élevée de CUDA prise en charge par le pilote de la carte graphique est 12.1, accédez à cuda-toolkit-archive , sélectionnez la version CUDA requise (de préférence 11.6.2 écrite en env) à télécharger, comme indiqué dans la figure ci-dessous, sélectionnez runfile( local), et utilisez la commande générée pour télécharger et installer
Appuyez sur Entrée pour annuler l'installation du pilote de la carte graphique, puis sélectionnez l'installation finale :
Une fois l'installation réussie, l'environnement est configuré et la variable d'environnement est ajoutée à la fin du fichier .bashrc :
sudo gedit ~/.bashrc
# 添加以下内容:
export PATH=/usr/local/cuda-11.6/bin${
PATH:+:${
PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.6/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
Ou entrez la commande suivante dans le terminal pour ajouter :
# Taken from: https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#post-installation-actions
echo 'export PATH=/usr/local/cuda-11.6/bin${PATH:+:${PATH}}' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-11.6/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}' >> ~/.bashrc
Vérifier que l'installation a réussi
nvcc -V
1.13 Installer cuDNN et TensorRT
# wget -O /tmp/amd64.env https://raw.githubusercontent.com/autowarefoundation/autoware/galactic/amd64.env && source /tmp/amd64.env
cd autoware_universe/
source amd64.env
# Taken from: https://docs.nvidia.com/deeplearning/tensorrt/install-guide/index.html#installing
sudo apt-get install libcudnn8=${cudnn_version} libcudnn8-dev=${cudnn_version}
sudo apt-mark hold libcudnn8 libcudnn8-dev
sudo apt-get install libnvinfer8=${tensorrt_version} libnvonnxparsers8=${tensorrt_version} libnvparsers8=${tensorrt_version} libnvinfer-plugin8=${tensorrt_version} libnvinfer-dev=${tensorrt_version} libnvonnxparsers-dev=${tensorrt_version} libnvparsers-dev=${tensorrt_version} libnvinfer-plugin-dev=${tensorrt_version}
sudo apt-mark hold libnvinfer8 libnvonnxparsers8 libnvparsers8 libnvinfer-plugin8 libnvinfer-dev libnvonnxparsers-dev libnvparsers-dev libnvinfer-plugin-dev
2. Compilez le code source
2.1 Télécharger la base de code de l'univers
(1) Créez le dossier src
cd autoware_universe/
mkdir src
(2) Modifier le fichier autoware.repos
sudo gedit autoware.repos
Dans le fichier autoware.repos, ajoutez le contenu suivant à la ligne 28
universe/external/open_planner:
type: git
url: https://github.com/ZATiTech/open_planner.git
version: main
(3) Téléchargez la bibliothèque de codes sur le local
vcs import src < autoware.repos
2.2 Installer le package de dépendance Autoware ROS
(1) Installer rosdep
wget http://fishros.com/install -O fishros && . fishros
# 选择[3]:一键配置:rosdep(小鱼的rosdepc,又快又好用)
rosdep update --include-eol-distros # 科学上网或者多试几次
(2) Installer les dépendances ROS
source /opt/ros/galactic/setup.bash
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
Une erreur est signalée lors de l'installation des dépendances ROS :
/usr/bin/pip3:6: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
from pkg_resources import load_entry_point
Référence https://blog.csdn.net/yuteng12138/article/details/130123995 :
pip install --upgrade --user setuptools==58.3.0
La version de dépendance est trop élevée lors de l'installation :
ros-galactic-tvm-vendor : Depends: ocl-icd-opencl-dev but it is not going to be installed
Utilisez aptitude pour rétrograder les dépendances : conservez N tel quel, puis entrez y all
sudo aptitude install ros-galactic-tvm-vendor
Lors de l'installation des dépendances ROS, l'installation d'open3d est lente et le problème d'erreur peut être renvoyé à : https://blog.csdn.net/yuteng12138/article/details/130123620
pip install open3d
2.3 Compiler l'espace de travail
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
S'il se fige ou se bloque pendant le processus de compilation, ou d'autres problèmes, vous pouvez essayer plusieurs fois ou vous référer à l'officiel : build-issues
lance simplement Universe, $HOME/autoware_map/sample-map-planning est la carte téléchargée depuis le officiel :
source 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_kitre_launch/launch/autoware.launch.xml map_path:=/home/universe/autoware_universe/op_carla/Town01 vehicle_model:=sample_vehicle sensor_model:=sample_sensor_kit
3. Installez Awsim
Reportez-vous au tutoriel officiel AWSIM v1.0.1 , dépendances d'installation :
sudo apt update
sudo apt install libvulkan1
Téléchargez le fichier binaire Awsim : AWSIM_v1.0.1.zip , après l'exécution de la décompression :
./<path to AWSIM folder>/AWSIM.x86_64
Actuellement, le simulateur officiel a relativement peu de fonctions. Seule la barre de progression ci-dessous permet d'ajuster la fréquence de rendu.
Après ouverture, vous pouvez voir les messages de capteur émis par le simulateur et les messages de contrôle du châssis reçus :
ros2 topic list
4. Débogage conjoint d'Autoware et d'Awsim
Téléchargez d'abord la carte du simulateur : nishishinjuku_autoware_map.zip , y compris les cartes de haute précision et les cartes de nuages de points.
Démarrez Awsim et Autoware en même temps, faites attention à remplacer l'adresse de la carte que vous avez téléchargée
./<path to AWSIM folder>/AWSIM.x86_64
# 新开一个终端
cd autoware_universe
source install/setup.bash
ros2 launch autoware_launch e2e_simulator.launch.xml vehicle_model:=sample_vehicle sensor_model:=awsim_sensor_kit map_path:=<your mapfile location>
Utilisez RViz pour définir manuellement 2D Pose Estimate
, utilisez RViz pour définir manuellement la pose d'objectif 2D, définissez 2d Checkpoint Pose
(facultatif), la génération de chemin.
Démarrez un nouveau terminal, publiez le message suivant (ou cliquez sur Engage in RVIZ) et démarrez le pilote automatique :
ros2 topic pub /autoware/engage autoware_auto_vehicle_msgs/msg/Engage '{engage: True}' -1