Í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
Próxima vez,
Depois integramos ROS1 e ROS2 em um sistema Ubuntu.
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ê.