Aplicação ROS1
Configuração do sistema: ubuntu20.04
Versão ROS1: noetic
Configuração do ambiente ROS1
- Configurar a fonte de instalação do 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'- Configurar a chave (Key)
PowerShell
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654Plain
sudo apt update- Instalar o ROS1 (download oficial)
PowerShell
sudo apt install ros-noetic-desktop-fullAcelerar o download e a instalação do ROS1 via proxy
wget http://fishros.com/install -O fishros && . fishros
- Configurar as variáveis de ambiente
Plain
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrcPowerShell
source ~/.bashrcConectar o dispositivo à máquina virtual
- Verificar o dispositivo
PowerShell
ll /dev/ttyUSB*- Criar o mapeamento de portas
PowerShell
sudo gedit /etc/udev/rules.d/99-serial-imu.rules- Preencher o conteúdo do ficheiro de mapeamento
PowerShell
KERNEL=="ttyUSB*", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", MODE:="0777", SYMLINK+="imu-serial"- Guardar, sair e executar os comandos para ativar as regras
PowerShell
sudo udevadm triggerPlain
sudo service udev reloadPlain
sudo service udev restart- Verificar
PowerShell
ll /dev/imu-serialBash
sudo usermod -aG dialout ashImportar o pacote compactado preparado
No mesmo diretório do Feishu há IMU_ROS1.zip
Após descompactar, transfira-o para a máquina virtual por meio de um software de transferência de ficheiros
Instalar a biblioteca IMU_Library
PowerShell
cd IMU_ROS1
# 下载解压IMU_ROS1压缩文件后,进入到IMU_Library目录下,运行以下指令
cd IMU_Library
# 安装库及其依赖
pip install -e .
# 或使用setup.py安装
python setup.py installInstalação das bibliotecas Python
PowerShell
sudo pip3 install pyserial
sudo pip3 install smbus2Se ocorrerem problemas de renderização, execute os comandos abaixo
PowerShell
sudo apt-get install ros-noetic-imu-filter-madgwick
sudo apt-get install ros-noetic-rviz-imu-pluginConstruir o projeto ROS1
- Abra um novo terminal no diretório /home e crie um novo espaço de trabalho ros1
PowerShell
mkdir imu_ros1
cd imu_ros1
mkdir src
cd src/
catkin_init_workspace- Copie a pasta IMU_ROS1 transferida para o diretório ~/imu_ros1/src/
PowerShell
# 复制 IMU_ROS1 文件夹到新建的 src 目录下
cp -r ~/IMU_ROS1 ~/imu_ros1/src
cd ~/imu_ros1
catkin_make- Adicionar o diretório de trabalho ~/imu_ros1 às variáveis de ambiente
PowerShell
# 编辑 ~/.bashrc
sudo gedit ~/.bashrc
# 把下面命令写到末尾
source ~/imu_ros1/devel/setup.bash
source ~/.bashrcIniciar o nó ROS1
- Abra um terminal e execute roscore para iniciar o nó
PowerShell
# 启动roscore
roscore
# 新开终端,设置环境,启动节点
source ~/imu_ros1/devel/setup.bash- Adicionar permissão de execução aos scripts Python (fundamental)
Entre no diretório scripts onde o script está localizado e execute o comando chmod +x para conceder permissão de execução (+x significa add execute):
PowerShell
# 进入imu_driver.py所在目录(按你的实际路径)
cd ~/imu_ros1/src/IMU_ROS1/scripts/
# 赋予可执行权限(仅需执行1次,永久生效)
chmod +x imu_driver.py
chmod +x mag_visualizer.pyVolte à pasta imu_ros1 e execute imu_driver.py
Plain
cd ~/imu_ros1Plain
rosrun IMU_ROS1 imu_driver.pyImpressão dos dados do IMU
- Abra um novo terminal e verifique os tópicos do IMU
PowerShell
# 查看当前发布的所有话题
rostopic list- Imprimir os dados do tópico
PowerShell
# 打印IMU原始数据
rostopic echo /imu/data_raw
# 打印磁力计数据
rostopic echo /imu/magVisualização no RViz
- Execute o comando para iniciar o rviz
PowerShell
roslaunch IMU_ROS1 imu_display.launchPerguntas frequentes
- Se o nó falhar ao abrir, tente os comandos abaixo
PowerShell
# 在~/imu_ros1目录下运行
source devel/setup.bash
# 端口号问题
sudo chmod 666 /dev/imu-serial- Na visualização RViz, os três eixos aparecem muito pequenos; marque novamente Enable axes

