Applicazione ROS1
Configurazione di sistema: ubuntu20.04
Versione ROS1: noetic
Configurazione dell'ambiente ROS1
- Configurare la sorgente di installazione di ROS1
PowerShell
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'- Configurare la chiave
PowerShell
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654Plain
sudo apt update- Installare ROS1 (download ufficiale)
PowerShell
sudo apt install ros-noetic-desktop-fullInstallare ROS1 con download accelerato via proxy wget http://fishros.com/install -O fishros && . fishros
- Configurare le variabili di ambiente
Plain
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrcPowerShell
source ~/.bashrcCollegare il dispositivo alla macchina virtuale
- Verificare il dispositivo
PowerShell
ll /dev/ttyUSB*- Creare il mapping delle porte
PowerShell
sudo gedit /etc/udev/rules.d/99-serial-imu.rules- Compilare il contenuto del file di mapping
PowerShell
KERNEL=="ttyUSB*", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", MODE:="0777", SYMLINK+="imu-serial"- Salvare e uscire, eseguire i comandi per attivare le regole
PowerShell
sudo udevadm triggerPlain
sudo service udev reloadPlain
sudo service udev restart- Verificare
PowerShell
ll /dev/imu-serialBash
sudo usermod -aG dialout ashImportare l'archivio preparato
Nella stessa directory di Feishu: IMU_ROS1.zip
Estrarre e trasferire nella macchina virtuale con il software di trasferimento
Installare la libreria IMU_Library
PowerShell
cd IMU_ROS1
# Dopo aver scaricato ed estratto il file compresso IMU_ROS1, entra nella directory IMU_Library ed esegui i comandi seguenti
cd IMU_Library
# Installa la libreria e le sue dipendenze
pip install -e .
# Oppure installa con setup.py
python setup.py installInstallare le librerie Python
PowerShell
sudo pip3 install pyserial
sudo pip3 install smbus2Se si verificano problemi di rendering, eseguire il comando seguente
PowerShell
sudo apt-get install ros-noetic-imu-filter-madgwick
sudo apt-get install ros-noetic-rviz-imu-pluginCostruire il progetto ROS1
- Aprire un nuovo terminale in /home, creare il workspace ros1
PowerShell
mkdir imu_ros1
cd imu_ros1
mkdir src
cd src/
catkin_init_workspace- Copiare la cartella IMU_ROS1 trasferita in ~/imu_ros1/src/
PowerShell
# Copia la cartella IMU_ROS1 nella nuova directory src
cp -r ~/IMU_ROS1 ~/imu_ros1/src
cd ~/imu_ros1
catkin_make- Aggiungere la directory di lavoro ~/imu_ros1 alle variabili di ambiente
PowerShell
# Modifica ~/.bashrc
sudo gedit ~/.bashrc
# Aggiungi i comandi seguenti alla fine
source ~/imu_ros1/devel/setup.bash
source ~/.bashrcAvviare il nodo ROS1
- Aprire un terminale, digitare roscore per avviare il nodo
PowerShell
# Avvia roscore
roscore
# Apri un nuovo terminale, configura l'ambiente e avvia il nodo
source ~/imu_ros1/devel/setup.bash- Dare i permessi di esecuzione agli script Python (importante)
Entrare nella directory scripts degli script ed eseguire chmod +x per dare i permessi di esecuzione (+x = aggiungi esecuzione):
PowerShell
# Entra nella directory di imu_driver.py (in base al tuo percorso effettivo)
cd ~/imu_ros1/src/IMU_ROS1/scripts/
# Assegna il permesso di esecuzione (basta eseguirlo una volta, effetto permanente)
chmod +x imu_driver.py
chmod +x mag_visualizer.pyTornare alla cartella imu_ros1 ed eseguire imu_driver.py
Plain
cd ~/imu_ros1Plain
rosrun IMU_ROS1 imu_driver.pyStampare i dati IMU
- Aprire un nuovo terminale, vedere i topic imu
PowerShell
# Visualizza tutti i topic attualmente pubblicati
rostopic list- Stampare i dati dei topic
PowerShell
# Stampa i dati IMU grezzi
rostopic echo /imu/data_raw
# Stampa i dati del magnetometro
rostopic echo /imu/magVisualizzazione RViz
- Eseguire il comando per avviare rviz
PowerShell
roslaunch IMU_ROS1 imu_display.launchDomande frequenti
- Se l'avvio del nodo fallisce, provare questi comandi
PowerShell
# Esegui nella directory ~/imu_ros1
source devel/setup.bash
# Problema del numero di porta
sudo chmod 666 /dev/imu-serial- Se gli assi in RViz sono visualizzati molto piccoli, riselezionare Enable axes


