mateusmenezes95 / omnidirectional_controllers

ROS2 controllers for Omnidirectional robots with three wheels
MIT License
26 stars 4 forks source link

[ros2_control_node-7] [ERROR] [controller_manager]: Can't activate controller 'omnidirectional_controller': State interface with key 'joint_name/velocity' does not exist #8

Closed robotcopper closed 2 months ago

robotcopper commented 3 months ago

Hello @mateusmenezes95 ,

I am trying to use your controller in addition of the topic_based_ros2_control hardware interface.

The thing is that on my real robot i do not need of state interface. Indeed I am controlling my robot in open loop. So as you can expect, i set the open_loop param to True and as i saw it in the omnidirectional_controller.cpp it indeed unset the use of the state estimation tool.

However, in the omnidirectional_controller.cpp the controller keep looking for a state_interface even if the open_loop is True.

Or we could expect that only command would be send in open_loop, so in other words, just needing command_interface in the hardware_interface and not also a state_interface am i right?

So is it a bug? Did I miss something?

Here is what i expect to implement as hardware_interface: image

PS: Thank you again for this very useful work you have made

mateusmenezes95 commented 2 months ago

Hello @robotcopper!

Thank you so much for your great description of the issue. And you are right: It's a bug.

Do you want propose a PR fixing it?

robotcopper commented 2 months ago

Hello @robotcopper!

Thank you so much for your great description of the issue. And you are right: It's a bug.

Do you want propose a PR fixing it?

Hello @mateusmenezes95 , no problem. I made one. I tested it in open and closed loops and no regression appeared.

mateusmenezes95 commented 2 months ago

Fixed in #9