-
Notifications
You must be signed in to change notification settings - Fork 57
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
Could FRI use servo control? #50
Comments
I believe I have found two key points:
The point1 maybe related to the characteristics of FRI, and the point2 need some filters. |
Hi @CarlDegio, thanks for testing this out and sorry for the late reply. Personally haven't used the Moveit servo yet but as you mention it is certainly related to getting control rates right. But noise could also be an issue as you pointed out. There are two main threads.
Please let me know if this helps. Maybe also link your moveit servo here so I can give it a go ! |
Thanks! I will update my code later (Almost the copy of moveit2 tutorial). And I have a new question, what is the difference between update_rate and state_publish_rate (and action_monitor_rate). The update_rate controls the publish frequency of /joint_state? And the latter control /position_trajectory_controller/state? |
Besides, if frequency need to be matched, whether the python code should use realtime tools at such as 200hz or 500hz? |
My lbr_servo package link here. And the key setting seems config/kuka_joint_config.yaml. This file set the But now, even I set |
Is position_trajectory_controller is equal to LBRcommand? Or which is upper or lower. In here I think the trajectory_msgs/JointTrajectory is higher than LBRcommand, which means when we publish /position_trajectory_controller/joint_trajectory, there will be /lbr_command topic also. So the frequency of /position_trajectory_controller/joint_trajectory should be more higher than FRI mode to prevent data loss? |
I think there are many bugs of moveit_servo because so many issues on moveit2 about it. I decide to calculate motion by kinpy |
You are correct that it makes sense to run the The architecture is as follows:
It can be used stand-alone to command the robot (see this launch file. Just launching this file will let you command the robot already). The hardware interface is implemented by publishing to This architecture was chosen since the LBRs support some control modes that
I think the |
MoveIt servo is now added, see doc: https://lbr-stack.readthedocs.io/en/latest/lbr_fri_ros2_stack/lbr_demos/lbr_moveit/doc/lbr_moveit.html#moveit-servo One issue, the PID here:
Makes the real system move rather slow at the moment. This remains to be sorted. |
I use this package(foxy) with moveit2, and I want to give robot dynamic desired pose. So I choose moveit_servo to achieve this goal.
However, when I set FRI mode as 5ms, position mode, position control and then use moveit_servo to publish command at the frequency of 1hz, the motion stuck every second then go. The higher frequency sounds more dangerous. But I think FRI should support realtime servo because the normal moveit plan and execute runs successfully, where the frequency of sending robot command is higher than 1hz.
Do you have any good suggestions?
The text was updated successfully, but these errors were encountered: