Skip to content

Conversation

@OmidRezayof
Copy link
Contributor

Hi @mhubii
Hope you're doing well.
I cleaned up the task space control and created a new branch and a new PR.
This branch is currently up-to-date with all the commits on the lbr-stack/lbr_fri_ros2_stack/humble and should be able to merge.
The main features of this would be:

  1. Task space control and motion planning (+Velocity control)
  2. Motion services for straight line motions and free form curved motions (+Velocity control)
  3. A new code for "Pivot Calibration" under lbr_demos_advance_py
    The motion planning is done in the new code move_2_cart.py. This code receives the desired pose (s) in geometry_msgs.Pose format and will perform the motion planning. The rotational motion planning was done using SLERP (Spherical Linear Interpolation) which performs the motion planning in quaternion space, eliminating Euler Angle singularities.

I have also added a move_to_pose_client.py as a demo for this.
I hope this comes useful to the community.

OmidRezayof and others added 26 commits June 19, 2024 15:54
latest changes to make move_2_cart a service
@OmidRezayof
Copy link
Contributor Author

OmidRezayof commented Aug 2, 2024

I should mention that, with this feature, 2 service messages should be added to the lbr_fri_idl package, so that the move_2_cart can work properly. I can create a PR against that as well if you want to accept this PR.

@@ -0,0 +1,527 @@
'''Collection of functions/types from the ASBR class taken in Spring 2022
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hi @OmidRezayof and thank you for the PR. My issue here is still that these utilities should not live inside this repository but rather by a Python library that is provided externally.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for your reply @mhubii .
I understand your point. I'm sure there are alternatives for this in external libraries but I couldn't find a suitable one. I can contact the original author of this library and see if he decides to make it as an installable package.
I can change your other comments but for this one I don't think I would have a quick solution.
Let me know if there was anything I could do! Just wanted to contribute to this repo and help other people who were looking for this functionality! : )

self._jacobian = self._jacobian_func(self._q)
self._jacobian_inv = np.linalg.pinv(self._jacobian, rcond=0.1)
self._f_ext = self._jacobian_inv.T @ self._tau_ext
# self._f_ext[2]+= 38.0 #FOR SHEELA'S DRILL
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this line needs removal

3
] += self._amplitude * math.sin(self._phase)

self._lbr_joint_position_command.joint_position[
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this ideally needs removal

fri_client_sdk: # the fri_client_sdk version is used to create the correct state interfaces lbr_system_interface.xacro
major_version: 1
minor_version: 15
major_version: 2
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this ideally needs to be reversed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants