Installation PC ROS2 ROS est un Middleware Open Source pour développer des applications robotiques. Originellement développé sous Linux (Ubuntu), il est maintenant disponible sur plusieurs systèmes d'exploitation dont Debian et Windows. Installation des prérequis et liens importants Pour des raisons de stabilité et légèreté du système, il y a tout à penser que les déploiements de ROS dans des milieux industriels se font (robotique autonome et mobile) et se feront à l'avenir sur Ubuntu et de plus en plus Debian. L'industrie des serveurs a déjà largement adopté Debian pour sa stabilité et sa modularité. C'est pourquoi plutôt que d'apprendre la ligne de commande Windows, nous recommandons d'apprendre la ligne de commande Bash, utilisée dans Ubuntu/Debian. Pour cela, il faut installer un système (noyau) Linux, plusieurs options s'offrent à nous: Machine virtuelle Windows subsystem for Linux (WSL2) Machine virtuelle Linux, par exemple via VirtualBox Machine physique dual-boot Windows-Ubuntu -> Installation en quelques clics via une clé USB Live PC sous Ubuntu 22.04 Pour une tour : Branchement d'un SSD SATA dédié au lieu du SSD Windows Branchement d'un SSD USB3 type Transcend ESD310C Notes importantes pour les installations virtuelles (deux premières options d'installation) : Ces installations sont suffisantes pour effectuer des simulations et du développement tant qu'il n'y a pas de Hardware à tester. VirtualBox fonctionne à peu près pour des TPs avec une VM URSim mais c'est loin d'être optimal (plantages,...) L'accélération graphique n'est pas supportée par la carte graphique (GPU) mais par le processeur (CPU) (voir ce bug) un PC avec 32Go de RAM est recommandé si des composants imposants de ROS doivent être compilés, par exemple pour utiliser la version de développement MoveIt 2 Rolling. En effet Windows consomme à lui seul près de 4-8Go, Ubuntu >2Go et la compilation >4Go, on peut vite atteindre la saturation. 16Go peuvent suffire mais il faudra compiler sans parallélisation, et fermer des applications lourdes dans Windows comme Firefox. Ubuntu via Windows SubSystem for Linux (WSL2) WSL2 installe une machine virtuelle avec le noyau Linux complet, supporté et managé par Microsoft Windows. Il n'y a pas besoin de droits administrateur car le logiciel est disponible dans le store Windows. Prérequis : Depuis le menu démarrer Windows, rechercher "A propos de", "Spécifications de Windows" Version >22H2 Build >19041 (testé avec 19045.2486) Si votre version est inférieure, demandez à votre administrateur de màj vers 22H2 et Build 19045.2486 Si vous ne pouvez màj, optez pour l'option d'installation d'Ubuntu via VirtualBox Exécuter Windows PowerShell en mode administrateur (connectez-vous avec un compte administrateur si vous n'avez pas les droits) Lancer wsl --install (si ça ne fonctionne pas, votre Windows n'est probablement pas à la bonne version) wsl --update Redémarrer l'ordinateur Installation de Ubuntu 22 : Ouvrir Windows Store Rechercher et installer Ubuntu (c'est la version LTS actuelle qui sera installée, en ce moment 22.04.X) Depuis le menu démarrer Windows, Lancer l'application Ubuntu. Un Terminal s'ouvre (ligne de commande Linux Bash) Définir l'utilisateur principal, par exemple ros2 et un mot de passe (8 caractères mini, majuscule, minuscule, chiffre, caractère spécial). Mettre à jour Ubuntu sudo apt update sudo apt upgrade Depuis Windows, pour éteindre les Machines Virtuelles Ubuntu et ainsi libérer la mémoire RAM affectée : Lancer l'application Windows PowerShell wsl --shutdown Autres commandes WSL depuis Windows PowerShell : wsl --status : devrait retourner Distribution par défaut : Ubuntu, Version par défaut : 2 (WSL2) wsl --list (ou wsl -l -v) : liste les Machines Virtuelles Linux installées via WSL (et la version WSL utilisée) Docker dans une VM WSL2 Pour utiliser docker dans une VM WSL2, par exemple Ubuntu : Désinstaller toute version précédente de docker installée sur votre VM Ubuntu. Dans Terminal(Ubuntu) : sudo apt remove docker* Ajouter votre utilisateur au groupe docker sudo groupadd docker sudo usermod -aG docker $USER Passer sur une session administrateur_windows Installer Docker Desktop for Windows https://docs.docker.com/desktop/windows/wsl/#turn-on-docker-desktop-wsl-2c Cocher WSL2 (devrait être coché par défaut si votre config WSL2 est OK) Ajouter votre utilisateur_windows au groupe docker Dans CMD/Powershell : net localgroup docker-users "utilisateur_windows" /ADD Repasser sur votre session utilisateur_windows L'intégration Docker-WSL est activée sur la distribution WSL par défaut, normalement Ubuntu (22) pour s'en assurer, wsl --set-default ubuntu Au besoin il est possible de l'activer sur une distro spécifique dans Settings > Resources > WSL Integration Démarrer Terminal(Ubuntu) Accélération GPU pour applications graphiques et machine learning https://docs.docker.com/desktop/features/gpu/ Pour tester si le GPU est bien disponible, lancer la commande suivante dans le Terminal(Ubuntu) : docker run --rm -it --gpus=all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark Le résultat suivant indique que la carte graphique dédiée Nvidia Quadro P620 est bien exploitée pour les calculs : > Windowed mode > Simulation data stored in video memory > Single precision floating point simulation > 1 Devices used for simulation GPU Device 0: "Pascal" with compute capability 6.1 > Compute 6.1 CUDA device: [Quadro P620] 4096 bodies, total time for 10 iterations: 4.417 ms = 37.987 billion interactions per second = 759.750 single-precision GFLOP/s at 20 flops per interaction Sinon, regarder https://innovation.iha.unistra.fr/books/robotique-open-source/page/installation-de-machine-avec-rt-kernel-et-acceleration-graphique#bkmrk-gpu Ubuntu via VirtualBox Télécharger et installer VirtualBox pour Windows et l'Extension Pack : https://www.oracle.com/virtualization/technologies/vm/downloads/virtualbox-downloads.html Ubuntu 24 requiert une version de VirtualBox >7.1 https://www.virtualbox.org/ticket/21955 La version 7.1.8 règle des soucis de la version 7.1.6 avec l'USB https://forums.virtualbox.org/viewtopic.php?t=113298  Déployer la VM avec ROS2 préinstallé (grâce aux instructions suivantes dans cette page) Télécharger la VM depuis seafile Ubuntu 22 ROS Humble Lien public de téléchargement (\Seafile\IHA-IDF\Smart_Prod\Formation_ROS2\UbuntuROS.ova) Ubuntu 24 ROS Jazzy : https://seafile.unistra.fr/f/4892e35890b941e388ef/?dl=1 Lancer VirtualBox Importer la VM : Outils -> Importer -> Rechercher le fichier UbuntuROS.ova Vérifier et adapter la configuration de la VM en ressources RAM, CPU, GPU et Réseau selon la configuration de votre PCcf. https://innovation.iha.unistra.fr/books/robotique-open-source/page/installation-pc-ros2#bkmrk-configuration-virtua Démarrer la VM Ignorer l'erreur sur le dossier partagé Linux-Windows Exportation de VM au format OVF Le système du TP est maintenu à jour et testé sur un PC Windows. Pour l'exporter sur les PC de salle TP, on veut avoir une image la plus petite possible. On commence par nettoyer Ubuntu puis on exporte un fichier .ova Sélectionner le format OVF 2.0 pour une meilleure compressions Setup pour TP MoveIt2+URSim à l'IUT de Haguenau La première année j'ai expérimenté avec des PC Windows et VirtualBox : Une VM contient Ubuntu 22, ROS et MoveIt Une seconde contient Xubuntu 14/16 avec URSim Les deux VMs en Réseau NAT Voir : https://innovation.iha.unistra.fr/books/robotique-open-source/page/programmer-un-robot-avec-moveit2-jumeau-numerique#bkmrk-sous-windows---virtu Il faut des machines de guerre, régler finement la quantité de RAM et de coeurs alloués aux VM et à Windows, et malgré cela les VM plantent. En 2025 je change donc de fusil d'épaule et utilise la salle réseau de l'IUT Avec des vieilles tours de 2013 : i5, 8G de RAM, petite carte graphique, double écran, 60G de SSD Réseau isolé donc possibilité de mettre OS au choix sur les PC, d'isoler ou non les PC et d'éventuels robots à piloter Migration VM vers disque physique Entre 2024 et 2025 je suis passé de TPs en VM VirtualBox vers des PC physiques. Dans les deux cas, je maintiens l'environnement de TP sur VirtualBox de mon PC Windows. Ceci présente l'avantage de pouvoir maintenir des états de machines en fonction du type de TP. On peut déployer un disque virtuel de VM vers un disque physique : Nettoyer l'OS et éventuellement désactiver le SWAP pour encore gagner de l'espace cf. https://innovation.iha.unistra.fr/books/robotique-open-source/page/installation-pc-ros2#bkmrk-all%C3%A9ger-ubuntu-%28pour Réduire la taille de la partition via l'application Disks. Celle-ci pourra être agrandie après copie de la VM. Garder quelques Go de marge. Démarrer la VM sur une .iso Live Ubuntu Brancher un SSD en USB3 au PC (utiliser un adaptateur SATA-USB3 si nécessaire) Passer le périphérique USB à la VM Avant le démarrage Pendant que la VM tourne Ouvrir l'application Disks pour identifier les disques, en général : disque virtuel de la VM : /dev/sda SSD branché en USB : /dev/sdb Ouvrir un Terminal et lancer la commande de copie du disque virtuel vers le SSD physique : sudo dd if=/dev/sda of=/dev/sdb bs=4096 status=progress && sync Ouvrir Gparted (depuis une Live USB avec le SSD branché) pour vérifier que la partition principale, généralement sdb3 est bien identifiée comme formatée en ext4. Agrandir la partition à la taille désirée. Si le SSD ne boot pas sur un PC, essayer de réparer le grub avec boot-repair depuis une Live USB Windows 10/11 Une installation native sous Windows 10 avec Visual Studio 2019 (Version Community gratuite) est possible : ROS 1 ROS 2 Installation de ROS2 Humble Les distributions stables publiées (pré-compilées) de ROS2 sont nommées par ordre alphabétique. Début 2023, on va installer ROS 2 Humble : sudo apt update && sudo apt install locales sudo locale-gen en_US en_US.UTF-8 sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 export LANG=en_US.UTF-8 sudo apt install software-properties-common sudo add-apt-repository universe sudo apt update && sudo apt install curl sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null sudo apt update && sudo apt upgrade sudo apt install ros-humble-desktop-full source /opt/ros/humble/setup.bash echo 'source /opt/ros/humble/setup.bash' >> ~/.bashrc Tester l'installation https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html#try-some-examples Ouvrir un premier Terminal : ros2 run demo_nodes_cpp talker Ouvrir un second Terminal : ros2 run demo_nodes_cpp listener Installation de Jazzy pour la Navigation et Manipulation Jazzy est la LTS 2024-2029. Avec UR, Turtlebot3, Nav2, MoveIt2, etc. ## Install ROS sudo apt update && sudo apt install locales # Test locale #locale sudo locale-gen en_US en_US.UTF-8 sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 export LANG=en_US.UTF-8 sudo apt install software-properties-common sudo add-apt-repository universe sudo apt update && sudo apt install curl sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null sudo apt update && sudo apt upgrade sudo apt install ros-dev-tools sudo apt install ros-jazzy-desktop-full echo 'source /opt/ros/jazzy/setup.bash' >> ~/.bashrc source ~/.bashrc # Test installation (first Terminal) #ros2 run demo_nodes_cpp talker # Test installation (second Terminal) #ros2 run demo_nodes_cpp listener ## Install Nav2 (465Mo) sudo apt install ros-jazzy-nav2-bringup # depends on ros-jazzy-navigation2 source ~/.bashrc # Test installation #ros2 launch nav2_bringup tb3_simulation_launch.py headless:=False ## Install TurtleBot3 Simulation sudo apt install ros-jazzy-turtlebot3-simulations echo 'export ROS_DOMAIN_ID=30 #TURTLEBOT3' >> ~/.bashrc echo 'export TURTLEBOT3_MODEL=burger' >> ~/.bashrc source ~/.bashrc # Test installation #ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py ## Install dependencies to build ROS packages from source sudo apt install python3-argcomplete python3-colcon-common-extensions python3-colcon-mixin libboost-system-dev build-essential colcon mixin add default https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml colcon mixin update default ## Install TurtleBot3 from source sudo apt install ros-jazzy-hls-lfcd-lds-driver ros-jazzy-turtlebot3-msgs ros-jazzy-dynamixel-sdk libudev-dev mkdir -p ~/turtlebot3_ws/src && cd ~/turtlebot3_ws/src #git clone -b humble-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b jazzy https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b ros2-devel https://github.com/ROBOTIS-GIT/ld08_driver.git cd ~/turtlebot3_ws/src/turtlebot3 rm -rf turtlebot3_cartographer turtlebot3_navigation2 cd ~/turtlebot3_ws/ colcon build --symlink-install rosdep update && rosdep install --ignore-src --from-paths src -y vcs --help vcs status sudo apt list ros-jazzy-gazebo-ros-pkgs sudo apt list ros-jazzy-ros-gz sudo apt install ros-jazzy-ros-gz colcon build --symlink-install ros2 launch nav2_bringup tb3_simulation_launch.py slam:=True nav:=True headless:=False use_sim_time:=True exit cd .. cd turtlebot3_ws/ colcon build --symlink-install --parallel-workers 1 cd src/ git clone -b jazzy https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git #git clone -b humble https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git cd .. colcon build --symlink-install --parallel-workers 1 sudo nano .bashrc sudo nano ~/.bashrc ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py sudo apt list ros-jazzy-turtlebot3-* sudo apt install ros-jazzy-turtlebot3-fake-node sudo apt install ros-jazzy-gazebo-msgs cd src/ sudo apt update && rosdep install -r --from-paths . --ignore-src --rosdistro $ROS_DISTRO -y rosdep update sudo apt update && rosdep install -r --from-paths . --ignore-src --rosdistro $ROS_DISTRO -y sudo curl https://packages.osrfoundation.org/gazebo.gpg --output /usr/share/keyrings/pkgs-osrf-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg] http://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gazebo-stable.list > /dev/null sudo apt-get update sudo apt-get install gz-harmonic cd .. colcon build --symlink-install --parallel-workers 1 source in source install/setup.bash ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py ## Install MoveIt2 Tutorials mkdir -p ~/ws_moveit/src cd ~/ws_moveit/src git clone -b main https://github.com/moveit/moveit2_tutorials vcs import --recursive < moveit2_tutorials/moveit2_tutorials.repos sudo apt update && rosdep install -r --from-paths . --ignore-src --rosdistro $ROS_DISTRO -y cd .. colcon build --mixin release source ~/ws_moveit2/install/setup.bash # Test installation https://github.com/moveit/moveit2_tutorials/blob/humble/doc/examples/move_group_interface/move_group_interface_tutorial.rst #ros2 launch moveit2_tutorials move_group.launch.py # Test installation (second Terminal) #source ~/ws_moveit2/install/setup.bash #ros2 launch moveit2_tutorials move_group_interface_tutorial.launch.py # Install UR ROS2 Driver mkdir -p ur_ws/src cd ur_ws git clone -b main https://github.com/UniversalRobots/Universal_Robots_ROS2_Tutorials.git src/ur_tutorials rosdep update && rosdep install --ignore-src --from-paths src -y colcon build --symlink-install source ~/ur_ws/install/setup.bash # Test installation (first Terminal) #ros2 launch ur_robot_driver ur_control.launch.py ur_type:=ur5e robot_ip:=yyy.yyy.yyy.yyy use_mock_hardware:=true launch_rviz:=false # Test installation (second Terminal) #source ~/ur_ws/install/setup.bash #ros2 launch ur_moveit_config ur_moveit.launch.py ur_type:=ur5e launch_rviz:=true # Install UR ROS2 Gazebo git clone -b ros2 https://github.com/UniversalRobots/Universal_Robots_ROS2_GZ_Simulation.git src/ur_simulation_gz rosdep update && rosdep install --ignore-src --from-paths src -y colcon build --symlink-install source ~/ur_ws/install/setup.bash # Test installation https://github.com/UniversalRobots/Universal_Robots_ROS2_GZ_Simulation #ros2 launch ur_simulation_gz ur_sim_moveit.launch.py # OR # Test installation (first Terminal) #ros2 launch ur_simulation_gz ur_sim_control.launch.py # Test installation (second Terminal) #source ~/ur_ws/install/setup.bash #ros2 run ur_robot_driver example_move.py ## Install URSim with docker (only on native Ubuntu PC) sudo apt install docker-compose sudo usermod -aG docker $USER sudo service docker start # Test installation #docker run hello-world #sudo service docker status sudo usermod -aG docker robot docker pull universalrobots/ursim_e-series docker run hello-world docker pull universalrobots/ursim_e-series ros2 run ur_robot_driver start_ursim.sh -m ur5e sudo apt install ros-jazzy-ur sudo apt list python3-rosdep sudo rosdep init rosdep update sudo apt update sudo apt dist-upgrade ros2 run ur_robot_driver start_ursim.sh -m ur5e sudo apt list python3-colcon* colcon mixin add default https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml colcon mixin update default sudo apt list python3-vcstool Bonus SOARM-100, VBox addons, etc 1 sudo apt upgrade 2 sudo snap remove firefox 3 sudo apt remove firefox 4 snap list 5 sudo rm -rf /var/cache/snapd/ 6 sudo add-apt-repository ppa:mozillateam/ppa 7 sudo nano /etc/apt/preferences.d/mozillateamppa 8 sudo apt update 9 sudo apt install firefox-esr 10 sudo apt upgrade 11 exit 12 sudo apt install terminator 13 sudo apt update && sudo apt install locales 14 # Test locale 15 #locale 16 sudo locale-gen en_US en_US.UTF-8 17 sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 18 export LANG=en_US.UTF-8 19 sudo apt install software-properties-common 20 sudo add-apt-repository universe 21 sudo apt update && sudo apt install curl 22 sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg 23 echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null 24 sudo apt update && sudo apt upgrade 25 sudo apt install ros-dev-tools 26 sudo apt install ros-jazzy-desktop-full 27 echo 'source /opt/ros/jazzy/setup.bash' >> ~/.bashrc 28 source /opt/ros/jazzy/setup.bash 29 exit 30 mkdir -p ws_so_arm100/src 31 cd ws_so_arm100/src 32 git clone https://github.com/JafarAbdi/ros2_so_arm100 33 cd .. 34 git submodule init 35 cd src/ 36 git submodule init 37 git clone --recurse-submodules https://github.com/JafarAbdi/ros2_so_arm100 38 rm -rf ros2_so_arm100/ 39 git clone --recurse-submodules https://github.com/JafarAbdi/ros2_so_arm100 40 cd .. 41 rosdep update && rosdep install --ignore-src --from-paths src -y 42 rosdep init 43 sudo rosdep init 44 rosdep update && rosdep install --ignore-src --from-paths src -y 45 colcon build --symlink-install --parallel-workers 1 46 source install/setup.bash 47 ros2 launch so_arm100_moveit_config demo.launch.py hardware_type:=mock_components 48 exit 49 source install/setup.bash 50 ros2 run rqt_joint_trajectory_controller rqt_joint_trajectory_controller 51 exit 52 cd ws_so_arm100/ 53 source install/setup.bash 54 ros2 launch so_arm100_moveit_config demo.launch.py hardware_type:=mock_components 55 ros2 launch so_arm100_moveit_config demo.launch.py hardware_type:=mock_components # hardware_type:=real for running with hardware 56 ros2 launch so_arm100_moveit_config moveit_rviz.launch.py 57 exit 58 ros2 launch so_arm100_description controllers_bringup.launch.py hardware_type:=mock_components # hardware_type:=real for running with hardware 59 source install/setup.bash 60 ros2 launch so_arm100_description controllers_bringup.launch.py hardware_type:=mock_components # hardware_type:=real for running with hardware 61 exit 62 cd ws_so_arm100/ 63 source install/setup.bash 64 ros2 launch so_arm100_moveit_config demo.launch.py hardware_type:=mock_components # hardware_type:=real for running with hardware 65 nano src/ros2_so_arm100/so_arm100_description/package.xml 66 nano src/ros2_so_arm100/so_arm100_moveit_config/package.xml 67 rosdep update && rosdep install --ignore-src --from-paths src -y 68 nano src/ros2_so_arm100/so_arm100_moveit_config/package.xml 69 ros2 launch so_arm100_moveit_config demo.launch.py hardware_type:=mock_components # hardware_type:=real for running with hardware 70 exit 71 cd ws_so_arm100/ 72 nano src/ros2_so_arm100/so_arm100_moveit_config/package.xml 73 cd 74 sudo apt install htop 75 sudo htop 76 exit 77 sudo apt install python3-argcomplete python3-colcon-common-extensions libboost-system-dev build-essential 78 mkdir -p ~/ws_moveit/src 79 cd ~/ws_moveit/src 80 git clone -b main https://github.com/moveit/moveit2_tutorials 81 vcs import --recursive < moveit2_tutorials/moveit2_tutorials.repos 82 sudo apt update && rosdep install -r --from-paths . --ignore-src --rosdistro $ROS_DISTRO -y 83 cd .. 84 colcon build --mixin release 85 sudo apt install python3-colcon-common-extensions 86 sudo apt install python3-colcon-mixin 87 colcon mixin add default https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml 88 colcon mixin update default 89 colcon build --mixin release --parallel-workers 1 90 source install/setup.bash 91 exit 92 cd ws_moveit/ 93 source install/setup.bash 94 ros2 launch moveit2_tutorials demo.launch.py rviz_config:=panda_moveit_config_demo_empty.rviz 95 exit 96 cd .. 97 nano .bashrc 98 cd ur_ws/ 99 source install/setup.bash 100 ros2 launch ur_robot_driver test_scaled_joint_trajectory_controller.launch.py 101 ros2 launch ur_moveit_config ur_moveit.launch.py ur_type:=ur5e launch_rviz:=true 102 exit 103 mkdir -p ur_ws/src 104 cd ur_ws/ 105 git clone https://github.com/UniversalRobots/Universal_Robots_ROS2_Tutorials.git src/ur_tutorials 106 rosdep update && rosdep install --ignore-src --from-paths src -y 107 git clone -b ros2 https://github.com/UniversalRobots/Universal_Robots_ROS2_GZ_Simulation.git src/ur_simulation_gz 108 rosdep update && rosdep install --ignore-src --from-paths src -y 109 colcon build --symlink-install --parallel-workers 1 110 source install/setup.bash 111 ros2 launch ur_robot_driver ur_control.launch.py ur_type:=ur5e robot_ip:=yyy.yyy.yyy.yyy fake_hardware:=true launch_rviz:=false 112 ros2 launch ur_robot_driver ur_control.launch.py ur_type:=ur5e robot_ip:=yyy.yyy.yyy.yyy mock_hardware:=true launch_rviz:=false 113 ros2 launch ur_robot_driver ur_control.launch.py ur_type:=ur5e robot_ip:=yyy.yyy.yyy.yyy use_mock_hardware:=true 114 ros2 launch ur_robot_driver ur_control.launch.py ur_type:=ur5e robot_ip:=yyy.yyy.yyy.yyy use_mock_hardware:=true launch_rviz:=false 115 exit 116 wget https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg 117 sudo mv pub.gpg /usr/share/keyrings/vscodium-archive-keyring.asc 118 echo 'deb [ signed-by=/usr/share/keyrings/vscodium-archive-keyring.asc ] https://paulcarroty.gitlab.io/vscodium-deb-rpm-repo/debs vscodium main' | sudo tee /etc/apt/sources.list.d/vscodium.list 119 sudo apt update 120 sudo apt install codium 121 snap list 122 df -h 123 sudo rm -rf /var/cache/snapd/ 124 sudo apt autoremove --purge snapd gnome-software-plugin-snap 125 rm -fr ~/snap 126 cat < Open Folder --> ~/ws_moveit/src Installer Firefox dans WSL https://askubuntu.com/questions/1444962/how-do-i-install-firefox-in-wsl-when-it-requires-snap-but-snap-doesnt-work sudo snap remove firefox sudo apt remove firefox sudo add-apt-repository ppa:mozillateam/ppa # Create a new file, it should be empty as it opens: sudo gedit /etc/apt/preferences.d/mozillateamppa # Insert these lines, then save and exit Package: firefox* Pin: release o=LP-PPA-mozillateam Pin-Priority: 501 # after saving, do sudo apt update sudo apt install firefox-esr Alléger Ubuntu (pour VM ou clonage) Désinstaller snap : Vérifier qu'on n'a pas de paquet snap important avec snap list Purger snap et tous ses paquets sudo rm -rf /var/cache/snapd/ sudo apt autoremove --purge snapd gnome-software-plugin-snap rm -fr ~/snap # sudo apt-mark hold snapd Empêcher snap d'être réinstallé par Ubuntu cat <2Go et la compilation >4Go, on peut vite atteindre la saturation. Un PC de 16Go peut suffire mais il faudra compiler sans parallélisation, et fermer des applications lourdes dans Windows comme Firefox. Vérifier et adapter la configuration de la VM en ressources RAM, CPU, GPU et Réseau selon la configuration de votre PC 8GB mini de RAM si vous devez compiler des workspace ROS 4 CPU mini. 6-10 CPU si l'accélération graphique ne fonctionne pas et que vous faites du RViz ou Gazebo Installation des Guest Add-ons pour gestion de l'accélération graphique, du copier-coller entre Windows et la VMhttps://doc.ubuntu-fr.org/virtualbox_additions_invite A priori la nouvelle façon d'installer les add-on c'est simplement installer sudo apt install virtualbox-guest-x11 dans la VM. Puis démarrer la session Xorg, cf. prochain point. Démarrage d'une session graphique Xorg qui est plus stable que Wayland sous VirtualBox Désactiver l'accélération graphique qui n'est pas bien supportée sous Ubuntu 24.04 avec VirtualBox 7.1.7 https://www.virtualbox.org/ticket/21955  https://forums.virtualbox.org/viewtopic.php?t=111676 Même passer au kernel 6.3 qui semblait non problématique n'a pas réglé le soucis Astuce en cas de soucis suite à màj VirtualBox : https://forums.virtualbox.org/viewtopic.php?t=12692 Supprimer les Extensions Pack Désinstaller Réinstaller Sources Installation de MoveIt2 Humble sur Ubuntu 22.04 Tutoriels débutant ----- Auteur: Gauthier Hentz, sur le wiki de l'innovation de l'IUT de Haguenau Attribution-NonCommercial-PartageMemeConditions 4.0 International (CC BY-NC-SA 4.0)