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
Updates to :stop-motion #402
Conversation
Do you need this because I did not merged start-jsk/rtmros_common#765 (comment) ? |
@k-okada This is not directly related to start-jsk/rtmros_common#765 (comment). I noticed this problem when adding a call of |
Why this I saw the code, by this |
so why not using :cancel-angle-vector
--
◉ Kei Okada
2019年10月8日(火) 14:48 Affonso, Guilherme <notifications@github.com>:
… @k-okada <https://github.com/k-okada> This is not directly related to start-jsk/rtmros_common#765
(comment)
<start-jsk/rtmros_common#765 (comment)>
.
I noticed this problem when adding a call of :stop-motion to the default
sigint behaviour, which led me to waiting a couple seconds every time C-c
is pressed, even though there was no ongoing motion.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#402?email_source=notifications&email_token=AADYNXFZIFX2GLCA452WSYDQNQNJNA5CNFSM4I6CVMH2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAS3P3Q#issuecomment-539342830>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AADYNXCEKASYZ23CV5SK77TQNQNJNANCNFSM4I6CVMHQ>
.
|
@YoheiKakiuchi Sorry, saying that it takes a few seconds was a bit exaggerated. It seems to take exactly 1 second $ (bench (send *ri* :stop-motion))
[ INFO] [1570526342.652453956]: wait-interpolation debug: start
[ INFO] [1570526343.678601001]: wait-interpolation debug: end
;; time -> 1.08321[s]
(nil nil nil nil) @k-okada |
i see, please add that to doc string.
--
◉ Kei Okada
2019年10月8日(火) 18:25 Affonso, Guilherme <notifications@github.com>:
… @YoheiKakiuchi <https://github.com/YoheiKakiuchi> Sorry, saying that it
takes a few seconds was a bit exaggerated. It seems to take exactly 1 second
$ (bench (send *ri* :stop-motion))
[ INFO] [1570526342.652453956]: wait-interpolation debug: start
[ INFO] [1570526343.678601001]: wait-interpolation debug: end;; time -> 1.08321[s]
(nil nil nil nil)
@k-okada <https://github.com/k-okada> :cancel-angle-vector leads to an
abrupt stop, while :stop-motion makes the robot stops smoothly. I thought
that it would be best fitted for a demo to use the :stop-motion in
planned interruptions.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#402?email_source=notifications&email_token=AADYNXHGB6STLYHGAFD2EHDQNRGY5A5CNFSM4I6CVMH2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEATQ4KI#issuecomment-539430441>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AADYNXHKVOHL5K3JDVPNKGDQNRGY5ANCNFSM4I6CVMHQ>
.
|
@k-okada Can I ask for a review? |
pr2eus/robot-interface.l
Outdated
(send self :angle-vector av stop-time) | ||
(send self :wait-interpolation))) | ||
(:stop-motion (&key (stop-time 0) (wait t)) | ||
"Smoothly stops the motion being executed by sending the current joint state to the joint trajectory action goal" |
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.
@Affonso-Gui how about adding “, uses are expected to use :cancel-angle-vector, for most cases” or something.
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.
Are uses expected to use :cancel-angle-vector for most cases?
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.
if it is supported, what is the reason to use :stop-motion ?
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.
Both :cancel-angle-vector
and :stop-motion
are (should be) supported on all robots that use follow-joint-trajectory controllers.
:cancel-angle-vector leads to an abrupt stop, while :stop-motion makes the robot stops smoothly.
Although there are robots in which :cancel-angle-vector
is smooth enough, prioritizing speed or smoothness is task/motion dependent, so I don't believe we can generalize into using one over the other.
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.
I see, then how about adding "note that :cancel-angle-vector leads to an abrupt stop, while :stop-motion makes the robot stops smoothly.", ":stop-time is transition time for stopping motion, but the actual interpolation duration is limited by :min-time of :angle-vector, which is set to 1.0 [sec] by default" etc, to avoid confusion like my case.
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.
@k-okada Added more information to the docstring. Please check to see if it's clear enough.
The
:stop-motion
stops the current angle vector by sending the actual angle vector as a new command (and therefore overwriting the old command).The problem is that is also does that when there is no ongoing action, and since it also have an
:wait-interpolation
it takes a few seconds to return from the call.In this PR we:
wait
key argument to the:stop-motion
, so the user can opt not to wait-interpolation.@pazeshun