-
Notifications
You must be signed in to change notification settings - Fork 86
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
add minjerk interpolation method #72
base: master
Are you sure you want to change the base?
Conversation
Another concern about output of Bezier function is it overshoot, for example , the example code outputs Trapezoid trajectory, but upper part is straight in minjerk and overshoot in the bezier function. For example |
@k-okada Wow! Really interesting work that you've done and contributed. I want to find a way to incorporate these changes, but agree they will require substantial testing. Have you run this modified action server on your Baxter? As always, your contributions are incredibly appreciated. |
39a9cf0
to
e83d119
Compare
Yes, I have just tested on our Baxter robot and here is the results; (I have also used #73 as well) I have noticed that current Bezier interpolation moves the arm if we send same goal positions for several times, see the first three goal message. JTA message for this example; roseus program to genrate JTA message
|
another examples -> jsk-ros-pkg/jsk_robot#635 |
else: | ||
b_matrix = self._compute_bezier_coeff(joint_names, | ||
trajectory_points, | ||
dimensions_dict) | ||
except Exception as ex: | ||
rospy.logerr(("{0}: Failed to compute a Bezier trajectory for {1}" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should either remove the Bezier
adjective or substitute the current interpolation method in there.
f05f433
to
6abbebd
Compare
thanks for comment, fixed and updated the PR. |
@k-okada, your work here is fantastic. Based on your plots and description of the issues experienced by using the |
ok, rebased against development branch. Just for note, comparison between ◉ Kei Okada On Sat, Jul 23, 2016 at 1:20 AM, Ian McMahon [email protected]
|
What is the status of this PR? |
From RethinkRobotics/baxter_interface#72 @k-okada currently baxter's joint trajectory action uses Bezier interpolation function and that would jerky motion f ![screenshot from 2016-07-16 16 08 39](https://cloud.githubusercontent.com/assets/493276/16893337/a2ad667e- The problem is second peak, where time=5, the input is ``` angle time_from_start 1.0 2.0 0.0 3.0 1.0 4.0 1.1 4.1 0.0 5.0 ``` when when the program generate interpolated trajectory from `(angle, time) = (1.0, 4.0)` to (1.1, 4.1)` it Wen we use min-jerk, we can get figure below for same input ![screenshot from 2016-07-16 16 05 44](https://cloud.githubusercontent.com/assets/493276/16893336/a02ae520- I know this is huge change and need more intensive testing, but hope this PR would be good starting point Cc: @pazeshun
@k-okada Please target development branch |
I mean base branch of this PR is master |
I see. See #78, |
currently baxter's joint trajectory action uses Bezier interpolation function and that would jerky motion for some inputs, for example, if we inputs https://gist.github.com/k-okada/b17850cde70f426aa84e0b8be98ed893 files, we'll get
![screenshot from 2016-07-16 16 08 39](https://cloud.githubusercontent.com/assets/493276/16893337/a2ad667e-4b6f-11e6-913f-6c657e7c0b20.png)
The problem is second peak, where time=5, the input is
when when the program generate interpolated trajectory from
(angle, time) = (1.0, 4.0)
to (1.1, 4.1)` it will generate too peaky outputs, We at JSK, have been using "Minimum Jerk" trajectory generation a.k.a "Hoff Arbib" for many years, which is basically to generate trajectory which minimize derivative of acceleration and ensure the continuousness of position, velocity and acceleration. See http://www.shadmehrlab.org/book/minimumjerk.pdf for background.Wen we use min-jerk, we can get figure below for same input
![screenshot from 2016-07-16 16 05 44](https://cloud.githubusercontent.com/assets/493276/16893336/a02ae520-4b6f-11e6-8c8e-55f52a0e0c22.png)
I know this is huge change and need more intensive testing, but hope this PR would be good starting point for discussions
Cc: @pazeshun