spaceuma / OPEN-UMA-Rover

Open repository to create the OpenUMARov
2 stars 1 forks source link

IMU BNO055 para OPENUMAROV #8

Closed Danilrivero closed 1 year ago

Danilrivero commented 1 year ago

Tal y como hemos comentado con Laura, hace falta una nueva IMU con la idea de que tenga Driver de ROS2 ya hecho para su uso directo y más cómodo. La chica del TFG propusó la BNO055 que en efecto tiene Driver de ROS2.

https://tienda.bricogeek.com/medicion-inercial-imu/802-sensor-inercial-absoluto-9-dof-bno055.html

He probado el paquete y parece que está todo en orden y funcionaría con adaptador UART to USB:

https://github.com/flynneva/bno055

Siendo el adaptador el siguiente:

https://www.amazon.es/TECNOIOT-CP2104-Connector-Module-Converter/dp/B07N978W56

Con el siguiente conexionado con el adaptador:

Image

En caso de que necesite Drivers para detectar el USB son los siguientes:

https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers

Laura ha comunicado ya todo esto para su compra pero lo dejo aquí para que se quede guardado.

Danilrivero commented 1 year ago

Sería conveniente desarrollar un modelo 3D a imprimir a forma de Wrapper para dejar la IMU fijada en una posición dentro del tanque o el OPENUMA, siendo el CAD de la IMU para tener un modelo en el que basarse el siguiente:

https://grabcad.com/library/adafruit-bno055-1

carlibiri commented 1 year ago

Llega el Viernes...

carlibiri commented 1 year ago

Pendiente probarla para comprar otra...

Danilrivero commented 1 year ago

He verificado que la IMU funciona correctamente mediante un pequeño código de prueba en Arduino:

imu_bno.zip

Echando a correr el driver a una velocidad de 9600 baudios me surge el siguiente problema.

Image

He dado todos los permisos debidamente para que el adaptador no tenga problemas para conectarse, aunque sigue ocurriendo. He escrito un issue en el repositorio oficial para recibir alguna ayuda ya que parece que la comunicación no sucede de forma bidireccional.

Danilrivero commented 1 year ago

He conseguido solucionar el problema.

El problema siguiendo mi issue en https://github.com/flynneva/bno055 es que parece que en la comunicación UART la recepción de datos no era del tamaño de bytes que debía ser. He corregido dicho error y crearé un repositorio con esta información para que quede almacenado.

Image

A la espera de verificar todo aunque este issue quedaría resuelto.

Danilrivero commented 1 year ago

He creado un repositorio para toda la información, cambios y drivers aunque no creo que fueran los drivers el problema sino la recepción de bytes.

Danilrivero commented 1 year ago

Resultado final:

image

Soporte con tornillos para fijar la IMU.