-
Notifications
You must be signed in to change notification settings - Fork 87
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
Duration in JointSpeed #11
Comments
Hi @akihikoy Thanks for your questions. Q1. Is that a limit of duration during which the robot moves at the specified speed? (e.g. If duration is 5, robot moves the joint at the speed of value for up to 5 seconds?) Or, does it have another meaning? Q2. Why duration is in seconds? It could be milliseconds since the robot works at kHz. Q3. What does (future) mean? Is duration a future function? We also had this question regarding SendJointSpeedsCommand in February, I hope it can help you. Sincerely, |
Thank you for your answers. I asked Q.2 because of the type of So, actually I reached to this document of JointSpeed by investigating how to use SendJointSpeedsCommand from ROS. I thought that if I send a proper request consisting of JointSpeed to that service, I can operate the robot by commanding joint speeds. However, the discussion of #3 seems to be saying that SendJointSpeedsCommand is a future function. Then, I cannot control the robot by commanding joint speeds? Is there alternative ways to control the joint velocities of the robot? Many thanks! |
Hi @akihikoy I double check and you are right, the duration is a UINT32. Still in seconds, but no fraction. Also, I validated with our engineering team and it is not possible at the moment to control the robot by commanding joint speeds. It is currently planned for next release. As you may know, we have some examples for our ros_kortex package here : https://github.com/Kinovarobotics/ros_kortex/blob/master/kortex_examples/readme.md Sincerely, |
As I need a velocity control capability as soon as possible, please tell your engineering team that some customers really waiting for that. Also, could you tell me how the joystick control implemented? I thought it is implemented with velocity control. Or, is it implemented by a control like updating joint/Cartesian positions every control cycle? Is that possible for users to implement a similar control? If we can, it could be an alternative of velocity control. Many thanks. --Akihiko |
Hi @akihikoy , The implementation of the angular velocity control is a top priority for our engineering team for the upcoming 2.0 release.
Thanks for your patience, |
Thank you for the explanation.
I'm a bit confusing about this. In general, the Cartesian velocity is converted into joint angular velocities, and then the robot is controlled to achieve the joint angular velocities. In other words, the joint velocity control might be internally used. So, if the Cartesian velocity control is implemented, why is the joint velocity control unavailable...? Very best, |
Hi @akihikoy ,
Internally, the high-level commands are eventually transformed in a series of small joint position increments for every actuator.
The handling of the high-level joint speed command API call inside the arm could not be implemented for release 1.1.6, but will be in the next release. Cheers, |
Hi @akihikoy The SendJointSpeedsCommand function is now available with the 2.0 release. Best, |
I quickly reviewed the new release, and still think that the issue I reported here is not yet improved. The point is that the type of the |
Hi @akihikoy I'm reopening the issue following your observation. We will keep this issue updated with further progress. Best, |
Since I am doing a clean up in our Open issues, I will take the time to confirm that the duration field still does not work as of API 2.6.0 and firmware version 2.5.2. The bug has been formally logged in our internal system since this ticket has been opened. As of today, it is currently planned for our next major release not to implement a duration constraint, but rather to remove the duration field from the API to avoid confusion. As a workaround, we recommend using a timer in your application and call the base.Stop() function or send a null Speed/Twist command to interrupt your command. For this reasons, I will be closing this issue as Won't do. If you find that the duration field is necessary to your applications and that the above workaround does not work for you, let us know. If enough people complain about this, the feature may be revisited in the future. |
Summary
Could you write more explanation about the duration parameter of JointSpeed?
Use case
Currently, it is explained as:
I cannot understand clearly.
value
for up to 5 seconds?) Or, does it have another meaning?duration
is in seconds? It could be milliseconds since the robot works at kHz.duration
a future function?Alternative
Possible issues
Additional context
The text was updated successfully, but these errors were encountered: