Skip to content
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

Dev taskspace control #200

Open
wants to merge 26 commits into
base: humble
Choose a base branch
from

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
Member

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! : )

@@ -41,6 +41,8 @@ def __call__(self, lbr_state: LBRState, dt: float) -> LBRJointPositionCommand:
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
Member

Choose a reason for hiding this comment

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

this line needs removal

@@ -49,13 +49,18 @@ def _on_lbr_state(self, lbr_state: LBRState) -> None:
self._lbr_joint_position_command.joint_position[
3
] += self._amplitude * math.sin(self._phase)

self._lbr_joint_position_command.joint_position[
Copy link
Member

Choose a reason for hiding this comment

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

this ideally needs removal

@@ -1,8 +1,8 @@
# these parameters are read by the lbr_system_interface.xacro and configure the lbr_ros2_control::SystemInterface
hardware:
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
Member

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