Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ROS2 Control Mock Hardware #24

Open
ErikParkerrr opened this issue Sep 8, 2024 · 1 comment
Open

ROS2 Control Mock Hardware #24

ErikParkerrr opened this issue Sep 8, 2024 · 1 comment

Comments

@ErikParkerrr
Copy link

Hi,

It appears this is not implemented. Are there plans to do so? Having to be connected to my whole system to test changes really slows down development.

I use the dummy_hardware feature in the dynamixel_hardware package extensively. It also allows for easily going between simulation and real hardware. Maybe you guys can do it in a similar way to them?

Cheers!

@samuelsadok
Copy link
Member

samuelsadok commented Sep 16, 2024

Yes I agree that a dummy mode would be a good thing to have. There was no plan for this but I'm adding it to our backlog. I wonder if maybe a vendor independent "dummy interface" already exists? If not, it should be fairly easy to implement in odrive_ros2_control.

Contributions are also welcome. Some quick pointers:

  • The places to look at are odrive_hardware_interface.cpp > ODriveHardwareInterface::read()/write().
  • Don't initialize CAN when dummy mode is enabled. Should work in dev container.
  • Should support all three control modes (position, velocity, torque aka effort). In velocity mode, we probably want to update position state too. In torque mode, the simplest model would be to consider the axis locked (keep vel = 0).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants