ros_control hw interface for a mecanum robot

asked 2022-07-23 14:08:48 -0600

Meir gravatar image

HI,

I'd like to implement a precise motion mechanism for a Mecanum wheelbase connected to Beaglebone Blue and running ROS Noetic.

The wheelbase should be able to accept a relative point to drive to or a direction to drive to (i.e. xbox controller). Later I'd like to connect it to ROS navigation.

Beagle Blue includes an IMU, but there are no encoders. It also includes a library that accepts a duty cycle for each motor.

Currently I implemented a driver node which listens for cmd_veland rotates the wheels accordingly - https://github.com/cloud-rocket/bbblu...

But as far as I understand the best option would be to use ros_control and develop a hardware interface that will call a custom library for rotating the wheels.

My questions are:

  • What interface I need to implement. Is it a Velocity? And what this implementation should include under "write" function?
  • Is it possible to reuse IMU instead of encoders to provide a motion feedback?
  • Should I implement a PID on my own (i.e. reuse a 3rd party PID library) or can I reuse an existing ROS functionality?
  • Is there an existing code I can reuse

Thanks!

edit retag flag offensive close merge delete