frankaemika / franka_ros2

ROS 2 integration for Franka research robots
https://frankaemika.github.io/docs/franka_ros2.html
Apache License 2.0
80 stars 57 forks source link

Position Command Interface Sensitivity & Control Exceptions #55

Open jcarpinelli-bdai opened 2 months ago

jcarpinelli-bdai commented 2 months ago

We have tried to use the position command interface, but found strange motion generation exceptions. We posted to #52, and learned about the libfranka bug which requires reading from initial_joint_position. After applying that fix, we still have been unable to use the position command interface, and I believe we now have a repeatable demo which shows this issue. Commanding any change in (initial) position with a magnitude of 1e-5 radians or larger results in motion generation and control exceptions. This sensitivity is preventing us from using the position interface at all, unfortunately. This change in position, 0.00001 rad, seems to be well within the acceleration limits specified in the libfranka documentation.

I have forked humble, and changed the relevant line in joint_position_example_controller.cpp to highlight this issue. If you run that example, with my modification applied, you should immediately see a Franka control exception without any arm motion.

https://github.com/jcarpinelli-bdai/franka_ros2/commit/8ed4d99e90f3cec43eaf3a11d7262406dd987516

TomCC7 commented 1 month ago

Hi, I'm also trying to use the position command interface, but the default joint_position_example_controller example was already not working for me and throws the error:

libfranka: Move command aborted: motion aborted by reflex! ["joint_motion_generator_velocity_limits_violation", "joint_motion_generator_velocity_discontinuity", "joint_motion_generator_acceleration_discontinuity"]

Have you ever met this condition before? I'm using version humble for franka_ros2 and the fr3-develop branch of libfranka. Any information will be helpful, thanks!

hagarces commented 3 weeks ago

Hi @jcarpinelli-bdai , today I was migrating my joint position controller from ROS1 to ROS2 and I have literally the same problem as you, thanks to you and the issue #52 I learned about the libfranka bug, and I still cant find a way to make the controller work, if i solve it i will make you know.