Objectivo deste Site é registar algumas das minhas experiências e conhecimento obtido na elaboração de robots baseados em ROS (Robotic Operating System), e desse modo partilhar o conhecimento necessário para montar um robot (relativamente económico) capaz de executar um mapa do ambiente e deslocar-se nele sem colidir.
Devido à escassez de informação em português sobre o ROS este website é único no panorama da robótica em Portugal.
Os robots com ROS requerem um computador capaz de correr Linux (Ubuntu ou Debian).
A informação principal está organizada do seguinte modo:
- Introdução ao Robotic Operating Sistem (ROS)
- Construção de uma base para robot 2WD
- Comunicação entre o microcontrolador e computador da base com ROS
- Sensores necessários para auto localização e navegação no ROS
- Software para o microcontrolador da base do robot
- Software o computador da base do robot
- Software para o computador remoto
- Software de navegação e localização
- Software de visão artificial no ROS
- Software de comunicação por voz no ROS
Os meus pacotes para ROS robots
https://github.com/inaciose/gc_bridge
https://github.com/inaciose/ros_text_speech
https://github.com/inaciose/dialogflow_ros
https://github.com/inaciose/rospibots
Os meus ROS robots
Tenho os dois robots funcionais montados com base no que chamo o modelo1, e cujo hardware está descrito em Construção de uma base para robot 2WD.
Comandos comuns
systemctl status roscore sudo bash -c "source /opt/ros/kinetic/setup.bash; source /home/ubuntu/catkin_ws/devel/setup.bash; roslaunch rospibot6 robot6.launch" roslaunch rospibot6 usbcam.launch & roslaunch rospibot6 face_recognition.launch & rostopic pub --once cmd_servo std_msgs/Int16 "data: 80" rostopic pub --once cmd std_msgs/Int16 "data: 3"
Comandos de visão artificial e voz
roslaunch speech_database speech.launch roslaunch rospibots face_recognition.launch
m1p1 – espantado
Para além dos descrito para o modelo1 o m1p1 também tem uma camara de video usb montada num suporte giratorio acionado por um servo sg90 conduzido por um modulo de i2c para pwm designado por pca9685.
m1p2 – encantado
export GC_VISION_TEST_IMAGE_DIR=/home/user/catkin_ws/src/gc_bridge/gc_vision_bridge/imgs/
rosrun gc_vision_bridge srv_client.py face-input.jpg
git commands
# Add files (what to be tracked . all files) git add . # or (just one file) git add README.md
# Commit changes (all the files) git commit -m 'desc' -a #or (just one) git commit -m 'desc' README.md
# Send changes to server git push origin [name_of_branch]
# Get updates from gitub (on repo base folder) git pull origin [name_of_branch]