Interbotix / interbotix_ros_core

Core ROS Packages for Interbotix Robots
BSD 3-Clause "New" or "Revised" License
30 stars 56 forks source link

[Question]: Example of using current based position control #32

Open youliangtan opened 5 months ago

youliangtan commented 5 months ago

Question

As the title said, i would like to have a "impedance control"-like behavior for the the interbotix arms. However given most of the use cases here are pos/vel control without having force information. Having a force control robot manipulator is very important for most contact-based manipulation tasks.

I noticed that I can also use current_based_position_control for such behavior. How should i configure the config.yaml file? Not sure if there's any advice on this.

AFAIK, the effort/current from dynamixels can be quite noisy, thus it might not work as well as intended. Would like to get some advice on this.

Robot Model

wx250s

Operating System

Ubuntu 20.04

ROS Version

ROS 1 Noetic

Additional Info

No response

lukeschmitt-tr commented 4 months ago

@youliangtan thanks for the question! Impedance control is something that we're interested in implementing at some point, but we currently don't have any documentation on it.

To enable current-based positon control, you would set the operating_mode parameter to current_based_position.

You can find information on the motor control loop for current-based position control here. In current-based position control mode, you can use the Goal_Current register to set current limits.

I'll keep this issue open until we have more details on this subject.