matthias-mayr / Cartesian-Impedance-Controller

A C++ implementation of Cartesian impedance control for torque-controlled manipulators with ROS bindings.
https://matthias-mayr.github.io/Cartesian-Impedance-Controller/
BSD 3-Clause "New" or "Revised" License
212 stars 32 forks source link

Bimanual cartesian controller #21

Closed mikelasa closed 5 months ago

mikelasa commented 6 months ago

Hello,

First, I have been testing with your controller and actually I like it, so thank you for your work!.

My question is if you ever loaded in gazebo two robots and tried to control them using your actual controller loaded twice for each robot.

Also, I'm considering to create a dual Cartesian controller in order to control both a panda and iiwa14 robots, using your work as base. The idea would be to control both robots in one controller. Should I consider something before starting on this?

Regards, Mikel

matthias-mayr commented 6 months ago

The idea would be to control both robots in one controller. Should I consider something before starting on this?

If you actually want to run it on both robots with a single controller instance, that's quite a lot of work since you would need a custom hardware interface for ros_control.
It is of course possible to extend this repo to allow two control two different manipulators, but I don't think it would really be worth the effort.

When I run impedance control on our dual-arm setup, I just load the controller for each arm separately. The program that creates the commands for the arms can still address both simultaneously. Not in a real-time simultaneously, but if a couple of milliseconds do not matter for the task, that's the most straight forward way.

matthias-mayr commented 5 months ago

I am assuming that this is answered. Feel free to reopen it if there are additional questions.