Referência rápida e comparação de comandos comuns ROS2 e ROS1

Índice

1. Crie um espaço de trabalho do ROS

2. Inicialize o espaço de trabalho do ROS

3. Crie o código no espaço de trabalho catkin

4. Adicione o caminho do espaço de trabalho à variável de ambiente

5. Consulte a versão do ROS

palavras finais


Próxima vez,

Depois integramos ROS1 e ROS2 em um sistema Ubuntu.

Como instalar o ROS1 e o ROS2 no mesmo sistema Ubuntu? https://blog.csdn.net/slampai/article/details/127933085

Para a conveniência da depuração subsequente, classificamos as semelhanças e diferenças entre os dois.

1. Crie um espaço de trabalho do ROS

    O espaço é denominado ros_ws e uma pasta src é criada dentro dela, e src é usado para armazenar o código de todos os pacotes de funções.

mkdir -p ~/ros_ws/src
cd ~/ros_ws/src

# ------------------------------------------
# 另一种方式:两条指令合并在一起
mkdir -p ~/ros_ws/src && cd ~/ros_ws/src

2. Inicialize o espaço de trabalho do ROS

      No caminho src, após executar o comando de inicialização, haverá um arquivo CMakeLists.txt adicional no diretório src.

#ROS1                   ==>   #ROS2
catkin_init_workspace   ==>   

3. Crie o código no espaço de trabalho catkin

      No diretório raiz do espaço de trabalho catkin, execute o comando code build.

        (<package_name> é substituído pelo nome do pacote real, o mesmo abaixo)

#ROS1          ==>     #ROS2
catkin_make    ==>     colcon build

#---------------------------------------------------------------------------

#ROS1 编译指定的软件包, 包名带双引号,包名之间用分号隔开
catkin_make -DCATKIN_WHITELIST_PACKAGES=“package_name1; package_name2”

#ROS1 还原为构建所有包
catkin_make -DCATKIN_WHITELIST_PACKAGES=“”

#---------------------------------------------------------------------------

#ROS2 编译指定的软件包,包名无符号包围,包名之间用空格分开
colcon build --packages-select <package_name1> <package_name2>

#ROS2 若希望python脚本修改后,不再需要每次重新编译(警告:可能出现代码的不适配)
colcon build --symlink-install

No espaço de trabalho ros_ws, exceto para a pasta src, outros arquivos gerados após a compilação podem ser obtidos recompilando após a exclusão.

Para ROS1 , o sistema de compilação Catkin é usado e três novos diretórios deletáveis ​​são adicionados após a compilação: build, install e devel.
1) Construir espaço de compilação : usado para armazenar o cache e os arquivos intermediários gerados durante o processo de compilação.
2) espaço de desenvolvimento devel : usado para colocar arquivos executáveis ​​gerados por compilação.
3) instale o espaço de instalação : não é necessário, pode ser gerado por catkin_make install no diretório de trabalho e arquivos executáveis ​​podem ser instalados neste espaço.

Para ROS2 , use o sistema de compilação colcon e adicione 3 novos diretórios deletáveis ​​após a compilação: build, install e log.
1) Construir espaço de compilação : usado para armazenar o cache e os arquivos intermediários gerados durante o processo de compilação.
2) instalar espaço de instalação : usado para colocar arquivos executáveis ​​e scripts gerados pela compilação.
3) Espaço de log de log : espaço para salvar logs, como avisos e erros durante a compilação e operação.

4. Adicione o caminho do espaço de trabalho à variável de ambiente

Adicione o caminho do espaço de trabalho correspondente à variável de ambiente ROS_PACKAGE_PATH .

Se uma nova linha de comando do terminal for aberta, o caminho do espaço de trabalho deve ser adicionado à variável de ambiente ROS_PACKAGE_PATH antes de usar o espaço de trabalho .

#ROS1 
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc 

#ROS2
echo "source ~/colcon_ws/install/setup.bash" >> ~/.bashrc

#在ROS1中可查询ROS_PACKAGE_PATH, 一般不为空表示设置正常。
echo $ROS_PACKAGE_PATH

5. Comparação dos comandos ROS comumente usados

#ROS1      --> #ROS2
# -----------------------------------
roscore    --> ros2
rosrun     --> ros2 run
rosnode    --> ros2 node
roslaunch  --> ros2 launch
rosparam   --> ros2 param
rospkg     --> ros2 pkg
rosservice --> ros2 service 
rossrv     --> ros2 srv
rostopic   --> ros2 topic
rosaction  --> ros2 action

palavras finais

Comparado com o ROS1, os comandos do ROS2 mudaram um pouco, mas ainda são regulares.

Espero que ajude você.

Acho que você gosta

Origin blog.csdn.net/slampai/article/details/127938047
Recomendado
Clasificación