Este repositório abriga a implementação de um framework para teleoperação de robôs móveis que utilizam o ROS (Robot Operating System). O ROS é um sistema operacional flexível e modular amplamente utilizado para desenvolvimento e controle de robôs. Com o framework presente neste repositório, é possível controlar remotamente robôs móveis compatíveis com o ROS, permitindo uma interação intuitiva e eficiente com o ambiente ao redor. O framework fornece funcionalidades para a teleoperação, como controle direto e controle supervisório.
Os algoritmos foram desenvolvidos para rodar no ecossistema ROS, especificamente na distribuição Noetic rodando no Ubuntu 20.04.5 LTS. As mensagens de comunicação estão aplicadas ao robô Turtlebot 3 modelo waffle-pi.
ROS Noetic (Noetic na branch)
Ros turtlebot3
cd react-ros-robot
Para rodar a aplicação
npm start
Abra http://localhost:3000 para vizualização em seu browser
Para utilizar os modos de operação é necessário que o robô está no modo bringup , isto é todos os nós do ros ativos.
Iniciar ros master
$ roscore
Iniciando comunicação com websocket e servidor do video
roslaunch rosbridge_server rosbridge_websocket.launch
rosrun web_video_server web_video_server
Para utilização do do controle supervisório é necessário iniciar alguns tópicos do ROS:
Exportando modelo do robô :
export TURTLEBOT3_MODEL=${TB3_MODEL}
Iniciando nó de navegação
roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=$HOME/map.yaml
Iniciando nó para posição do robô
rosrun riotu_robot_pose_publisher riotu_robot_pose_publisher
Este código foi criado e adaptado baseado no curso : https://github.com/aniskoubaa/udemy-rosbridge-course/tree/main