Skip to content

TadeoRoboticsGroup/Axioma_robot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Axioma.io 🤗 💪 🌱 🤓

Este proyecto de grado aborda el desarrollo de software con el sistema operativo de robots ROS2 para convertir la plataforma robótica móvil Axioma.io desarrollado por estudiantes del semillero de robótica SIRO en una plataforma autónoma con la capacidad de percibir y entender el entorno de trabajo en el que se encuentre y pueda calcular una ruta para desplazarse de un punto de origen a un punto final llevando a bordo algún producto, todo esto sin intervención de un operario y sirviendo así como una solución a la automatización de la logística en cadenas y/o procesos de producción cumpliendo los requerimientos de la industria en el suministro, planificación , gestión y control del almacenamiento de mercancía para conseguir los niveles más altos de servicio, calidad y eficiencia al menor tiempo y costo posible.

palabras clave

Robot móvil, autónomo, logística, planeación, trayectorias.

Objetivo general

Diseñar, simular e implementar software de planificación de trayectorias robóticas para la plataforma de robótica móvil Axioma.io con el fin de cumplir con la función de transportar productos de forma autónoma desde un punto inicial a un punto final dentro de un espacio de trabajo determinado, garantizando la automatización de la logística en la gestión y coordinación de estas actividades dentro de una cadena o proceso de producción.

Objetivos específicos
  • Diseñar un entorno de trabajo tridimensional que simula el área de trabajo con obstáculos.
  • Instrumentar el robot virtual con los sensores encargados de orientación, posición, navegación y mapeo.
  • Programar el ecosistema de ROS con todos paquetes de los nodos necesarios para la localización, control y navegación, así como también el mapeo del entorno de trabajo del robot.
  • Desarrollar las técnicas de planeación de trayectorias robóticas que indique el camino para que el robot pueda ir de un punto a otro.
  • Integrar el software desarrollado para la localización, control, navegación, mapeo y planificación de trayectorias en el robot físico Axioma.io. Agregar sensores para realizar odometría y cálculo de velocidad de giros del robot.

Axioma

open_source

1 Hardware

El hardware se encuentra compuesto por dos herramientas open hardware muy usadas en el desarrollo y prototipado rapido de dispositivos electrónicos y mecátronicos y una raspberry pi. Estos dispositivos estan clasificados "One Chip" por todo en uno solo como lo es arduino que posee un microcontrolador, chip para la comunicación serial, reguladores de voltajes y demas componentes electronicos que permitan conectar actuadores y sensores de forma facil y rapida. En la clasificación One Chip tambien tenemos lo que es la raspberry pi que lleva a bordo un chip microprocesador, ram, video, ethernet/wifi, regulador, comunicación serial que le permiten conectar otros dispositivos como camaras, monitores y toda clase de perifericos usb que le brindan a esta pequeña tarjeta la posibilidad de crear muchas aplicaciones web, IoT, Entretenimiento y Robotica.

  • Sensores y acturadores

    • Lidar
    • Camera
    • Encoders
    • Motor DC
  • Fuente de alimentación

  • Micros

    arduino

    raspberry

2 Software

ros source

service

Son las herramientas que permiten la interación entre ROS y el codigo fuente del proyecto construido en determinado lenguaje. Las librerias principales son RCLCPP para C++ y RCLPY para Python, pero hay librerias clientes para todos los gustos y necesidades.

Es la biblioteca cliente de ROS proporciona la API canónica de C++ para interactuar con ROS.

Es la biblioteca cliente de ROS proporciona la API canónica de Python para interactuar con ROS.

Acontinuación veremos otros ejemplos de las librerias clientes para ROS.

Libreria Lenguaje Libreria Lenguaje
rclcpp C++ rclpy Python
roscs Mono/.NET rosnode Node.js
rosseus Lisp RobotOS.jl Julia
rosgo Go PhaRos Pharo
roshask Haskell rosR R
rosjava Java rosRuby Ruby

  • Nodos

Nodos importantes usados en el proyecto axioma

Nodo descripcion
Axioma_urdf Robot virtual
Axioma_gazebo Robot en simulación
Axioma_node Robot state
Axioma_nav2 Planeación de trayectorias
Axioma_explorer Tecnica SLAM

frames


4 Modelo matemático

diff

Odometría

  • Modelo matematico robot Axioma

Posición Robot

Vx=V*cos(θ)

Vy=V*sen(θ)

Ecuaciones de velocidades lineales y angulares

vL=v-(wL/2) Velocidad derecha

vR=v+(wL/2) Velocidad izquierda

w=(vL-vR)/L Velocidad Angular

L: longitud entre las ruedas

calculo de w

w=90º/Δt   ->   w=(2π/ticks)/Δt  (rad/s)

Periodo T

T=Δt

Frecuencia (f)

f=1/T

Velocidad angular

w=2π/T

Velocidad lineal

V=W*R
  • Odometria con encoders
  • Dc(distancia central[Posición])

  • Dr(distancia derecho)

  • Dl(distancia izquierdo)

      Dc=(DR+DL)/2  
    

Para actualizar la posición

x'=x+Dc*cos(θ)
y'=y+Dc*sin(θ)
θ'=θ+(Dr-Dl)/L

ΔTics =ΔTick - Tick

Distancia recorrida

D=2πR(ΔTick/N)   

N: numero de tiks que tiene la rueda

  • Feedback de Retroalimentación

Diagrama del feedback en la electrónica

Se debe pasar:

Tick's ---> (x,y)
Tick's ---> Distancia ---> (X,Y)

Tiempos de interrupción cada cierto tiempo ejecutar una acción de control

muestre anterior Δmuestreo 10ms muestreo actual
^ ^ ^ ^ ^ ^ ^ ^ ^ ^

Δmuestreo = muestreoActual - muestreoAnterior

if(Δmuestreo>10ms)  ===>  Ejecuta acción de Control

About

Proyecto con ROS2 Foxy para la creacion de una plataforma de robotica movil autonoma.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published