1. Visão Geral
A arquitetura resumida do frcobot_ros é mostrada na figura abaixo. O lado do robô colaborativo fornece um servidor XMLRPC e um servidor TCP.
O servidor XMLRPC fornece principalmente APIs de instrução do robô para realizar funções de movimento do robô e obtenção de valores de estado.
O servidor TCP de feedback de estado fornece feedback em tempo real do estado do robô, com um período de feedback de 8 ms.
No PC do usuário, o ROS e o MoveIt! já estão instalados, e o frcobot_ros foi compilado. Cada pacote de funcionalidades no frcobot_ros contém a biblioteca lib da API do robô, e um cliente TCP é estabelecido no frcobot_hw para se comunicar com o servidor de feedback de estado do robô, obtendo os dados de feedback do estado do robô.
2. Instalação
Este capítulo descreve como construir o frcobot_ros e o ambiente de instalação necessário.
2.1. Requisitos de Ambiente
O ambiente recomendado para o frcobot_ros é o seguinte:
Nota
Ubuntu 18.04 LTS Bionic Beaver e ROS Melodic Morenia
Ubuntu 20.04 LTS Focal Fossa e ROS Noetic Ninjemys
As instruções abaixo se aplicam ao sistema Ubuntu 20.04 LTS e ao ROS Noetic Ninjemys. Se estiver usando o Melodic, substitua noetic por melodic nos comandos fornecidos.
2.2. Requisitos de Instalação do ROS
Após a instalação do sistema Ubuntu, instale e configure o ambiente ROS Noetic.
Após configurar o ROS Noetic, instale o ambiente necessário:
1echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
2source ~/.bashrc
3sudo apt-get install -y \
4 ros-noetic-rosparam-shortcuts \
5 ros-noetic-ros-control \
6 ros-noetic-ros-controllers \
7 ros-noetic-moveit \
8 libxmlrpcpp-dev
2.3. Compilar os Pacotes ROS
Após instalar e configurar corretamente o ROS Noetic, crie um espaço de trabalho Catkin no diretório de sua escolha.
1mkdir -p ~/catkin_ws/src
2cd ~/catkin_ws
3catkin_init_workspace src
Em seguida, clone o repositório frcobot_ros do Gitee.
1cd ~/catkin_ws/src
2git clone https://gitee.com/fair-innovation/frcobot_ros.git
Construa os pacotes frcobot_ros:
1cd ~/catkin_ws
2catkin_make
3echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
4source ~/.bashrc
Se ocorrerem erros, verifique se todos os pacotes nos requisitos de instalação do ROS foram instalados com sucesso. Após a compilação, copie as bibliotecas lib para o ambiente lib do ROS (caminho: /opt/ros/noetic/lib) para que o programa possa ser executado normalmente.
1# Aqui, o caminho padrão para catkin_ws é "~". Se for diferente, altere "~" para o caminho real.
2sudo cp ~/catkin_ws/src/frcobot_ros/frcobot_hw/lib/* /opt/ros/noetic/lib
3. Início Rápido
3.1. frcobot_hw
O frcobot_hw fornece principalmente as funções básicas de comunicação com o robô colaborativo.
Nota
Contém as mensagens de feedback de estado do robô colaborativo.
Fornece exemplos de instruções (demos) para controlar o robô colaborativo.
Fornece o nó e o tópico de feedback de estado do robô colaborativo.
Pode iniciar rapidamente o nó de estado e os exemplos de instrução através de um arquivo launch.
O conteúdo do frcobot_hw.launch é o seguinte:
1<launch>
2
3 <!-- params -->
4 <param name="robot_ip" type="string" value="192.168.58.2"/>
5 <param name="robot_port" type="int" value="8083"/>
6
7 <!-- frcobot status node -->
8 <node pkg="frcobot_hw" type="frcobot_status_node" name="frcobot_status_node" output="screen" />
9
10 <!-- frcobot control demo -->
11 <node pkg="frcobot_hw" type="frcobot_cmd_demo" name="frcobot_cmd_demo" output="screen" />
12
13</launch>
Importante
É necessário prestar atenção se
robot_iperobot_portcorrespondem ao IP e à porta do robô colaborativo a ser controlado.O IP padrão do robô de fábrica é 192.168.58.2, e a porta de feedback de estado do usuário é 8083.
Através do seguinte comando, você pode iniciar rapidamente o nó de feedback de estado do robô e a função de exemplo de instrução.
1roslaunch frcobot_hw frcobot_hw.launch
Abra um novo terminal e use o seguinte comando para imprimir e visualizar os dados de feedback de estado em tempo real.
1rostopic echo /frcobot_status