1. Omówienie
Szybka architektura frcobot_ros jest pokazana na poniższym rysunku. Strona robota współpracującego udostępnia serwer XMLRPC i serwer TCP.
Serwer XMLRPC udostępnia głównie API instrukcji robota do realizacji funkcji ruchu robota i pobierania wartości stanu.
Serwer TCP sprzężenia zwrotnego stanu zapewnia informację zwrotną o stanie robota w czasie rzeczywistym, z okresem sprzężenia zwrotnego wynoszącym 8 ms.
Na komputerze użytkownika zainstalowano ROS i Moveit!, skompilowano frcobot_ros. W każdym pakiecie funkcjonalnym frcobot_ros znajdują się biblioteki lib API robota oraz klient TCP komunikujący się z serwerem informacji zwrotnej o stanie robota we frcobot_hw, który pobiera dane informacji zwrotnej o stanie robota.
2. Instalacja
W tym rozdziale opisano, jak zbudować frcobot_ros oraz wymagane środowisko instalacyjne.
2.1. Wymagania środowiskowe
Zalecane środowisko dla frcobot_ros jest następujące:
Informacja
Ubuntu 18.04 LTS Bionic Beaver i ROS Melodic Morenia
Ubuntu 20.04 LTS Focal Fossa i ROS Noetic Ninjemys
Poniższe instrukcje dotyczą systemu Ubuntu 20.04 LTS i ROS Noetic Ninjemys. W przypadku korzystania z Melodic, należy zastąpić noetic w podanych poleceniach przez melodic.
2.2. Wymagania instalacyjne ROS
Po zainstalowaniu systemu Ubuntu, zainstaluj i skonfiguruj środowisko ROS Noetic.
Po skonfigurowaniu ROS Noetic, zainstaluj następujące wymagane środowisko:
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. Kompilacja pakietów ROS
Po prawidłowej instalacji i konfiguracji ROS Noetic, utwórz obszar roboczy Catkin w wybranym katalogu.
1mkdir -p ~/catkin_ws/src
2cd ~/catkin_ws
3catkin_init_workspace src
Następnie sklonuj bibliotekę frcobot_ros z Gitee.
1cd ~/catkin_ws/src
2git clone https://gitee.com/fair-innovation/frcobot_ros.git
Zbuduj pakiety frcobot_ros
1cd ~/catkin_ws
2catkin_make
3echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
4source ~/.bashrc
Jeśli pojawią się błędy, sprawdź, czy wszystkie pakiety z wymagań instalacyjnych ROS zostały pomyślnie zainstalowane. Po zakończeniu kompilacji skopiuj biblioteki lib do środowiska lib ROS (ścieżka: /opt/ros/noetic/lib), aby program mógł działać poprawnie.
1# Tutaj domyślna ścieżka catkin_ws to „~”. W przypadku innej ścieżki, zmień „~” na rzeczywistą ścieżkę
2sudo cp ~/catkin_ws/src/frcobot_ros/frcobot_hw/lib/* /opt/ros/noetic/lib
3. Szybki start
3.1. frcobot_hw
frcobot_hw udostępnia głównie podstawowe funkcje komunikacji z robotem współpracującym.
Informacja
Zawiera komunikaty zwrotne o stanie robota współpracującego
Udostępnia przykładowe instrukcje sterowania robotem współpracującym
Udostępnia węzeł informacji zwrotnej o stanie robota współpracującego i Topic
Możliwe jest szybkie uruchomienie węzła stanu i przykładowych instrukcji za pomocą pliku launch
Zawartość frcobot_hw.launch jest następująca:
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>
Ważne
robot_ipirobot_portmuszą być zgodne z adresem IP i portem sterowanego robota współpracującego.Domyślny adres IP robota z fabryki to 192.168.58.2, a port informacji zwrotnej o stanie użytkownika to 8083.
Za pomocą następującego polecenia można szybko uruchomić funkcję węzła informacji zwrotnej o stanie robota i przykładowe instrukcje.
1roslaunch frcobot_hw frcobot_hw.launch
Otwórz nowy terminal, a za pomocą następującego polecenia możesz wyświetlić i sprawdzić dane informacji zwrotnej o stanie w czasie rzeczywistym.
1rostopic echo /frcobot_status