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

Sending cartesian commands under admittance mode #187

Closed
chengchunhsu opened this issue Oct 6, 2023 · 1 comment
Closed

Sending cartesian commands under admittance mode #187

chengchunhsu opened this issue Oct 6, 2023 · 1 comment

Comments

@chengchunhsu
Copy link

Hi Kinova team,

I am wondering if there is any way to control the arm under the admittance mode on Gen3.

I tried to send the cartesian/twist/wrench commands to Gen3 under the cartesian admittance mode. However, the arm automatically turns into the normal mode without compliance while executing the command.

This is what I have done.

# set admittance mode
admittance = Base_pb2.Admittance()
admittance.admittance_mode = Base_pb2.CARTESIAN
base.SetAdmittance(admittance)

# execute the action
action = Base_pb2.Action()
cartesian_pose = action.reach_pose.target_pose
cartesian_pose.x = ...
base.ExecuteAction(action)

Thanks for the help in advance!

@martinleroux
Copy link
Collaborator

Hi @chengchunhsu

Apologies for the very delayed response. I am in the process of trying to catch up with all of our open issues in our repos and should be more responsive moving forward.

Unfortunately, Admittance mode only allows hand-guiding as an input. Sending any other command will indeed revert the robot to the normal mode.

One workaround to obtaining a similar behaviour is to implement your own control loop for admittance/impedance and control the robot using Twist commands. You still won't be able to send regular actions, but with this loop you will be able to also implement hybrid force/position control.

I will close this issue since the specific answer to the original question can't be solved directly with Kortex API / the content of this repo, but if you wish to discuss the workaround further, please contact us at support@kinova.ca.

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