Skip to content

iriscompanyio/sauronbot

Repository files navigation

SAURONBOT

Robot diferencial

Modelos

SE cuenta con los siguiente modelos de desarrollo:

  • sauronbot_model_01 [model_01] -- llantas, lidar
  • sauronbot_model_02 [model_02] -- llantas, lidar, RpiCamera
  • sauronbot_model_03 [rover_habich] -- llantas, lidar, RpiCamera, Realsense
  • sauronbot_model_04 [model_04] -- llantas, lidar, RpiCamera

Comenzando 🚀

Estas instrucciones te permitirán obtener una copia del proyecto en funcionamiento en tu máquina local para propósitos de desarrollo y pruebas. Mira Deployment para conocer como desplegar el proyecto.

Pre-requisitos 📋

Que cosas necesitas para instalar el software y como instalarlas

Instalación 🔧

Una serie de ejemplos paso a paso que te dice lo que debes ejecutar para tener un entorno de desarrollo ejecutandose Dí cómo será ese paso

  • 1.- Descarga de archivos
cd $HOME
mkdir -p sauronbot_ws/src
cd sauronbot_ws/src
git clone https://github.com/jsotelo1024/sauronbot_msgs.git
git clone https://github.com/jsotelo1024/sauronbot.git
  • 2.- Instalacion de dependencia: mqtt_bridege
cd $HOME
cd sauronbot_ws/src
git clone -b python2.7 https://github.com/groove-x/mqtt_bridege.git
sudo apt install python-pip
cd mqtt_bridege
pip install -r requirements.txt
sudo apt-get ros-melodic-rosbridge-server
  • 3.- Instalacion de dependencia: mqtt_bridege
cd $HOME
mkdir -p sauronbot_ws/src
cd sauronbot_ws/src
git clone -b master https://github.com/Slamtec/rplidar_ros.git

Funcionamiento 🚀

Conexion con PC-SBC 🔧

  • 1.- Scanear la red local en busca del SBC

Para lo cual se debe tener instalado nmap:

sudo apt-get install nmap

Se procede con la busqueda de la IP del SBC:

nmap -sP <IP_PC>/<#NETMASK>
  • 2.- Conectarse mediante ssh a la SBC
ssh {USER}@{IP_ADDRESS_OF_SBC}

Corriendo ROS en PC-SBC 🔧

  • 1.- Configurar $HOME/.bashrc de la PC
++  export ROS_IP={IP_ADDRESS_OF_PC}
++  export ROS_HOSTNAME={IP_ADDRESS_OF_PC}
++  export ROS_MASTER_URI={IP_ADDRESS_OF_PC}:11311
++  echo "ROS_IP: ${ROS_IP}"
++  echo "ROS_HOSTNAME: ${ROS_HOSTNAME}"
++  echo "ROS_MASTER_URI: ${ROS_MASTER_URI}"
  • 2.- Configurar $HOME/.bashrc de la SBC
++  export ROS_IP={IP_ADDRESS_OF_SBC}
++  export ROS_HOSTNAME={IP_ADDRESS_OF_SBC}
++  export ROS_MASTER_URI={IP_ADDRESS_OF_PC}:11311
++  echo "ROS_IP: ${ROS_IP}"
++  echo "ROS_HOSTNAME: ${ROS_HOSTNAME}"
++  echo "ROS_MASTER_URI: ${ROS_MASTER_URI}"
  • 3.- Sincronizar relojes

Tener instalado ntpdate:

sudo apt-get install ntpdate

Ejecutar en la PC

sudo ntpdate ntp.ubuntu.com

Ejecutar en la SBC

sudo ntpdate ntp.ubuntu.com

ACTIVACION DE LA CÁMARA 🚀

  • 1.- Lanzar el nodo en la SBC mediante:
roslaunch raspicam_node camerav2_410x308_30fps.launch
  • 2.- Lanzar el GUI de configuracion en la PC
rosrun rqt_reconfigure rqt_reconfigure
  • 3.- Vizualizar la imagen en la PC mediante:
rqt_image_view

MAPEO 🚀

  • 1.- Ejecutar en la SBC
roslaunch sauronbot_bringup sauronbot_robot.launch

En la PC

  • 2.- Ejecutar el slam con el método hector
roslaunch sauronbot_slam sauronbot_slam.launch slam_methods:=hector
  • 3.- Desplzarse por el ambiente con teleop
roslaunch sauronbot_teleop sauronbot_teleop_key.launch
  • 4.- Guardar el mapa generado
rosrun map_server map_saver -f {RUTA}/{NAME_MAP}

NAVEGACIÓN 🚀

  • 1.- Lanzar el nodo del robot en el SBC
roslaunch sauronbot_bringup sauronbot_robot.launch
  • 2.- Lanzar el nodo de navegación en la PC
roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=<Ruta_del_mapa>/<nombre_del_mapa>.yaml

MONITOREO DE ROS 🚀

Ros te brinda herramientas para analizar el flujo de datos.

  • 1.- Vizulizar el arbol de tf
rosrun rqt_tf_tree rqt_tf_tree
  • 2.- Monitorear los ttpicos
rqt

Seleccionar Plugins/Topics/Topic Monitor


NOTA: SOLO MOVIMIENTO DEL ROBOT DIFERENCIAL

Para ahorrar recursos en la SBC, se puede usar solo el paquete sauronbot_bringup, que se optiene de dos maneras.

Opcion 1 (Recomendada):

Clonar la rama melodic-SBC

Opcion 2 :

  • 1.- Clonar el repositorio
git clone -b melodic-devel git@github.com:jsotelo1024/sauronbot.git
  • 2.- Borrar directorios innecesarios
rm -rf sauronbot_description sauronbot_gazebo sauronbot_mqtt sauronbot_slam CHANGELOG.md README.md
  • 3.- Modificar sauronbot/package.xml
    <buildtool_depend>catkin</buildtool_depend>
    <exec_depend>sauronbot_bringup</exec_depend>
--  <exec_depend>sauronbot_slam</exec_depend>
--  <exec_depend>sauronbot_description</exec_depend>
--  <exec_depend>sauronbot_teleop</exec_depend>
--  <exec_depend>sauronbot_gazebo</exec_depend>
--  <exec_depend>sauronbot_mqtt</exec_depend>
  • 4.- Modificar sauronbot_bringup/package.xml
    <exec_depend>std_msgs</exec_depend>

--  <exec_depend>sauronbot_description</exec_depend>
    <exec_depend>joint_state_publisher</exec_depend>
    <exec_depend>robot_state_publisher</exec_depend>
    <exec_depend>rosserial_python</exec_depend>
    <exec_depend>rplidar_ros</exec_depend>

NOTA: SOLO ROBOT DIFERENCIAL

Para ahorrar recursos en la SBC, se puede usar solo el paquete sauronbot_bringup, que se optiene de dos maneras.

Opcion 1 (Recomendada):

Clonar la rama melodic-diff

Opcion 2 :

  • 1.- Clonar el repositorio
git clone -b melodic-devel git@github.com:jsotelo1024/sauronbot.git
  • 2.- Borrar directorios innecesarios
rm -rf sauronbot_description sauronbot_gazebo sauronbot_slam CHANGELOG.md README.md
  • 3.- Modificar sauronbot/package.xml
    <buildtool_depend>catkin</buildtool_depend>
    <exec_depend>sauronbot_bringup</exec_depend>
--  <exec_depend>sauronbot_slam</exec_depend>
--  <exec_depend>sauronbot_description</exec_depend>
    <exec_depend>sauronbot_teleop</exec_depend>
--  <exec_depend>sauronbot_gazebo</exec_depend>
    <exec_depend>sauronbot_mqtt</exec_depend>
  • 4.- Modificar sauronbot_bringup/package.xml
    <exec_depend>std_msgs</exec_depend>

--  <exec_depend>sauronbot_description</exec_depend>
    <exec_depend>joint_state_publisher</exec_depend>
    <exec_depend>robot_state_publisher</exec_depend>
    <exec_depend>rosserial_python</exec_depend>
    <exec_depend>rplidar_ros</exec_depend>

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published