-
Notifications
You must be signed in to change notification settings - Fork 67
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
Frank ROS 2 support for FER and libfranka v0.9.2 #34
Comments
I would also be interested in knowing this, as we have a few FER1s that we are very interested in actively using with ROS2 going forward. |
This #10 (now closed) pull request contains a franka_ros2 version compatible with Panda. It's effectively just a port of the older foxy franka_ros2, so it may not enable all the functionality of the official humble port. |
@drewskoots Thanks for the tip! This helps the interim to have even a slightly outdated code base to work with existing hardware. However, it would be very helpful for us to know what the long term support plan for the Panda (FER1) is w.r.t ROS2, even beyond humble. |
This could be a bit difficult in the current situation. |
…container-and-libfranka-submodule to humble * commit 'e66096b4b81fe61f19cb67f66f664a835bdf62fd': Revert "added devcontainer" Revert "added libfranka as submodule"
Thanks for the Tip! I tried to run the different examples from the documentation using pull request #10 , the only one that does not work seems to be the following command:
When the robot is moved to another position using the |
Try combining libfranka |
@BarisYazici Would you be at liberty to comment about the long term support of the FER1 for ROS2 Humble/Iron/J ..? |
I've just finished developing the first version of panda_ros2, which is a port of franka_ros into ROS2 for the FER robots. It's been tested with libfranka 0.9.2 and Panda ver. 4.2.2. Most features for one arm scenario are working, though more thorough testing is necessary. Still, I think it's an improvement over what we have for the Panda robots in ROS2 at the moment. |
Looks really good! Good job! The feature that causes incompatibility is the ActiveControl that introduced with https://github.com/frankaemika/libfranka/releases/tag/0.11.0 . ActiveControl ensures that libfranka control loop and ROS 2 hardware interface run in the same thread. You can potentially port the ActiveControl feature in Libfranka fr3-develop branch to FER branch, and you would be able to use the franka_ros2 with libfranka for FER that has external control feature. |
Thanks! I will take a look at it, after implementing the multi-arm feature. |
Please note that it is also working with libfranka 0.8.0 and Panda FCI 4.0.1. |
For those interested, I have now been able to run the The effort and velocity controllers work, but the position controllers triggers a |
@tingelst Good one. FR3 has a better communication architecture that could be the reason you are receiving
You could try to activate rate limiter for the joint position controller rate_limiter |
@tingelst should one be building from your latest branch? I am attempting to upgrade our libfranka version based on your fork but I am encountering build errors.
I see the fr3-develop branch on common has this defined here. Are you building with @BarisYazici latest changes? If so I'll look to do the same, also happy to open a pr to update the submodule reference on your fork. Ok yes looks like this was the issue, will open a pr. Thanks @tingelst for backporting the code, this is super helpful. Update: changing to |
Ok pr is opened here in case others are also building on @tingelst's work. Thanks again @tingelst for backporting and @BarisYazici for supporting. |
I am in the process of testing the backport on my own repository. It seems when I build libfranka from source where I set the robot and gripper version to be compatible with my control server and robot, everything builds but I get the following output when running
I am still debugging why this is occurring but @BarisYazici I believe this is due to incompatibility between the system version (4.2.2) and the active_control libfranka backport. I was hoping the active control backport for libfranka would work out of the box with the humble branch of My system version is: 4.2.2 I manually regressed the robot version to 5 in libfranka-common. I am going to clean the commit history on my fork so it is more readable, any pointers are appreciated. Note:
I had the following Docker container working with a custom fork of |
I checked on our Franka again today with the libfranka you can find here and installed by: sudo dpkg -i libfranka-0.9.3-x86_64.deb For I did not encounter any problems running: ros2 launch franka_bringup franka.launch.py robot_ip:=192.168.106.99 use_rviz:=true load_gripper:=false @peterdavidfagan: Feel free to reach out for a meeting if you encounter any problems getting it to work. |
Thanks @tingelst, this is much appreciated I will test the above on my repo. I'm also going to start investing more time in understanding the libfranka codebase so would be open to help maintain future backports based on changes made upstream (if/when possible). |
Latest version posted by @tingelst looks to work, thank you so much @tingelst. I'm going to update my repo to point towards your fork. @BarisYazici is it feasible for the open-source dev community to contribute to the official repos a backported version? I am happy to work on this based on @tingelst's work. |
Thanks for swift responses, I will add to my task list the item of opening a pr to the official repos for this backport. I'll be sure to tag you both in the pr and attribute commits appropriately in the pr. Note: it may be next week before I can get started on this as I need to finish application level code for my repo for an internal deadline. |
I cannot guarantee a backport. But feel free to start a PR. |
Hi, Activating the rate limiter and the low pass filter does not change this behavior. Am I am missing something? Why is this error even occurring when using the rate limiter? I am using the FER without the franka gripper and disabled it in the webinterface. |
Hi @Zarnack, I can also look to test the above on my setup at some point. So far I have only been using the effort interface. |
Hi @peterdavidfagan, have you maybe had some time testing the above on your setup? |
Hi @Zarnack, I am still using the effort interface in my setup and its working for my use cases without issues. I plan to test new controllers soon, but again these all use the effort interface. I am keen to test the other interfaces but haven't done so yet. |
Ok. Thanks for the quick response! |
Is there any plan for support of the Franka Emika Robot for ROS 2 humble,and it's compatible libfranka v0.9.2 ?
The text was updated successfully, but these errors were encountered: