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

Impedence control #217

Open
zzrobot1979 opened this issue Oct 31, 2024 · 8 comments
Open

Impedence control #217

zzrobot1979 opened this issue Oct 31, 2024 · 8 comments

Comments

@zzrobot1979
Copy link

Hello: I would like to know whether impedance control can be achieved in this project, or can it be achieved directly using the wrench method?

@mhubii
Copy link
Member

mhubii commented Oct 31, 2024

hi @zzrobot1979, yes, you can do impedance control. In impedance control, do you wish to control positions or torques?

@zzrobot1979
Copy link
Author

Thank you very much for your reply! I want to make the end of my kuka robot arm move smoothly along a certain space vector under a constant contact force. Maybe I should control the speed and force/torque of the end of the robot arm at the same time?

@zzrobot1979 zzrobot1979 changed the title Impetence control Impedence control Nov 1, 2024
@mhubii
Copy link
Member

mhubii commented Nov 1, 2024

hope this demo gets you up to speed:

https://lbr-stack.readthedocs.io/en/latest/lbr_fri_ros2_stack/lbr_demos/lbr_demos_py/doc/lbr_demos_py.html#lbr-wrench-command-controller-hardware-only

but essentially when running

ros2 launch lbr_bringup hardware.launch.py \
    ctrl:=lbr_wrench_command_controller \
    model:=iiwa7 # [iiwa7, iiwa14, med7, med14]

this loads a ros2_controller lets you command joint positions and a target end-effector wrench (force/torque). Note: when a tool is connected to you end-effector, then you need to calibrate the mass first.

This is not ideal yet, as it would be easier to chain controllers #115, which isn't implemented yet.

@zzrobot1979
Copy link
Author

Thank you very much for your reminder! I would like to know how to calibrate the quality of the end effector of the robot arm? Is this process configured in sunrise or can it be done by changing some parameters of this project?

@zzrobot1979
Copy link
Author

zzrobot1979 commented Nov 2, 2024

Another question is: how to realize the movement of the robot in lbr_demos/lbr_demos_py/lbr_demos_py/wrench_sine_overlay.py? Is it controlled by the line of code self._lbr_wrench_command.joint_position = deepcopy( self._lbr_state.measured_joint_position )? How to pass a position in space to the robot? Thank you very much!

@mhubii
Copy link
Member

mhubii commented Nov 2, 2024

Thank you very much for your reminder! I would like to know how to calibrate the quality of the end effector of the robot arm? Is this process configured in sunrise or can it be done by changing some parameters of this project?

yes, the load data calibration needs to be done on the smart pad, can try to provide some instructions

Another question is: how to realize the movement of the robot in lbr_demos/lbr_demos_py/lbr_demos_py/wrench_sine_overlay.py? Is it controlled by the line of code self._lbr_wrench_command.joint_position = deepcopy( self._lbr_state.measured_joint_position )? How to pass a position in space to the robot? Thank you very much!

that's correct. The target joint position is set exactly there (self._lbr_wrench_command.joint_position). If you wish to command some end-effector velocity, you'd have to do the kinematics yourself currently.

@zzrobot1979
Copy link
Author

zzrobot1979 commented Dec 17, 2024

Thank you for your answer. I have another question. Is it necessary to purchase the FRI expansion package of KUKA to realize your team's project? Or is the expansion package the link under your repository? https://github.com/lbr-stack/fri

@mhubii
Copy link
Member

mhubii commented Dec 17, 2024

yes, it is a paid option. That said, often it is purchased. In the documentation https://lbr-stack.readthedocs.io/en/latest/lbr_fri_ros2_stack/lbr_fri_ros2_stack/doc/hardware_setup.html#install-applications-to-the-robot under 5.2. Select FRI and software examples, if this shows up you should have it. The library under https://github.com/lbr-stack/fri is just the client side. It is important that the software is also installed on the server side (the robot controller)

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

No branches or pull requests

2 participants