-
Notifications
You must be signed in to change notification settings - Fork 61
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
[hrpsys_ros_bridge_tutorials] Add collision-free-init-pose method for hrp2jsk #507
base: master
Are you sure you want to change the base?
[hrpsys_ros_bridge_tutorials] Add collision-free-init-pose method for hrp2jsk #507
Conversation
adding new method and ask every to carefully use new method is not a good
idea, do we already have :init-pose function? if so, please override that
method.
…--
◉ Kei Okada
2017-03-30 11:17 GMT+09:00 Kohei Kimura <[email protected]>:
Because of the collision between thumb links and hand links at init-pose,
added eus method :collision-free-init-pose for hrp2jsk.
Similarly, the following is executed from dashboard (init-pose button).
https://github.com/start-jsk/rtmros_tutorials/blob/master/
hrpsys_ros_bridge_tutorials/src/hrpsys_ros_bridge_
tutorials/hrp2_hrpsys_config.py#L56-#L60
------------------------------
You can view, comment on, or merge this pull request online at:
#507
Commit Summary
- [hrpsys_ros_bridge_tutorials] Add collision-free-init-pose method
for hrp2jsk
File Changes
- *M* hrpsys_ros_bridge_tutorials/models/hrp2jsk.yaml
<https://github.com/start-jsk/rtmros_tutorials/pull/507/files#diff-0>
(6)
Patch Links:
- https://github.com/start-jsk/rtmros_tutorials/pull/507.patch
- https://github.com/start-jsk/rtmros_tutorials/pull/507.diff
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#507>, or mute the
thread
<https://github.com/notifications/unsubscribe-auth/AAeG3PrDLIP2s4uAW5qMR3v-WMp1h_ytks5rqxC0gaJpZM4Mtx_X>
.
|
For the case of JAXON (JAXON_RED), there seems to be separately two different methods about init-pose (:init-pose and :collision-free-init-pose).
I think the definition of :init-pose angle-vector is considered as zero vector...
So, where should we override :init-pose (as non-zero vector) for hrp2jsk, JAXON, JAXON_RED, etc without using new method :collision-free-init-pose? |
2017-03-30 14:47 GMT+09:00 Kohei Kimura <[email protected]>:
So, where should we override :init-pose (as non-zero vector) for hrp2jsk,
JAXON, JAXON_RED, etc without using new method :collision-free-init-pose?
I believe so, because if this change is important, everyone should use this
new angle-vector when they want to move to initial pose.
If someone have trouble when robot moves to undesired (or dangerous)
posture, as he/she forget to use this method and use :init-pose instead. We
could not blame him/her for not changing his/her code to
:collision-free-init-pose.
If this new posture is not so important as I wrote, I think we do not have
to put this in yaml file.
…--
◉ Kei Okada
|
I also believe that it would be better way to use existing :init-pose without the collision problem of hrp2jsk thumbs.
(Just now we are facing this undesired (or dangerous) posture trouble...) Then, what is the best way to solve this problem (on the assumption to use :init-pose without new method :collision-free-init-pose)? |
adding :init-pose to .yaml cause any problem?
…--
◉ Kei Okada
2017-03-30 22:02 GMT+09:00 Kohei Kimura <[email protected]>:
I also believe that it would be better way to use existing :init-pose
without the collision problem of hrp2jsk thumbs.
However, by using existing :init-pose method, the collision between thumb
links and hand links causes the problem of thumb joints ThermoLimit error
on real robot (hrp2jsk).
If someone have trouble when robot moves to undesired (or dangerous)
posture, as he/she forget to use this method and use :init-pose instead.
(Just now we are facing this undesired (or dangerous) posture trouble...)
Then, what is the best way to solve this problem (on the assumption to use
:init-pose without new method :collision-free-init-pose)?
If overwriting desired pose to :init-pose function (return zero vector as
default) is the best way, how and which program files should we renew and
define the angle-vector of :init-pose for hrp2jsk?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#507 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAeG3ExYdFNTsGvTE1zjuxW3F4RNkQKfks5rq6fUgaJpZM4Mtx_X>
.
|
Simply renaming :collision-free-init-pose -> :init-pose on this yaml file sounds better. I'm concerned to duplicate the definition of :init-pose in |
I agree with this comment, but for the following reason, I think keeping :init-pose without change and adding new pose method is more safe and I prefer it. so I approve this PR. :init-pose method is defined here https://github.com/euslisp/jskeus/blob/master/irteus/irtrobot.l#L383 in robot-model class. In this pose all joint angle is zero. :init-pose is used in some places of other repositories, and I've not checked yet that these codes assume that :init-pose is all-joint-zero-pose, but may be some program is influenced unintended by changing :init-pose.
cc @YoheiKakiuchi , @snozawa , @furushchev |
2017-03-31 14:40 GMT+09:00 Masaki Murooka <[email protected]>:
:init-pose is used in some places of other repositories,
but these are not related to jaxon robot, mostly for sample programs
…--
◉ Kei Okada
|
Yes. Only the following two part is NOT sample or test in the range I can find. I think min-max-table is not generated for hrp2jsk thumb joint, so I think there is no effect now. Another problem is that someone who assume that :init-pose is all-joint-zero-pose and does not know it is overwritten, maybe he/she might use a little time for debugging. But keeping real robot safe is also important.
I think this is OK. But I'd like euslisp specialist to doublecheck. |
we used have neutral-angle slots in euslib, but did not accept them in
irteus
https://github.com/jsk-ros-pkg/euslib/blob/master/rbrain/basicmodel.l#L425,
because definition of 'neutral' is too ambiguous. Someone think that as
zero, someone thinks as reset-manip-pose., so basically init-joint means
zero.
So if you have trouble on thumb joint for zero-pose, another solution might
be change zero-position of joint in hardware level. I think that is better
solution.
But instead of doing that, I think hack :init-pose is better than add new
methods, named :collision-free-init-pose,
My suggestion is that If you're confident that everyone understand only
hrp2jsk users need :collision-free-init-pose, instead of :init-pose, go
with this PR.
I think hack :init-pose is easy because you do not have to let all people
to understand and re-write code, for users, this strategy is equal to
change zero-position in hardware level.
…--
◉ Kei Okada
2017-04-08 1:49 GMT+09:00 Masaki Murooka <[email protected]>:
but these are not related to jaxon robot, mostly for sample programs
Yes. Only the following two part is NOT sample or test in the range I can
find.
https://github.com/euslisp/jskeus/blob/master/irteus/irtmodel.l#L900
in irtmodel :make-joint-min-max-table method.
https://github.com/euslisp/jskeus/blob/master/irteus/irtmodel.l#L900
in irtmodel :plot-joint-min-max-table-common method.
I think min-max-table is not generated for hrp2jsk thumb joint, so I think
there is no effect now.
I don't realize that :init-pose in these methods means just neutral pose
or angle zero pose.
In the latter case, we need to replace (send self :init-pose) with (send
self :angle-vector (fill (send self :angle-vector) 0).
Another problem is that someone who assume that :init-pose is
all-joint-zero-pose and does not know it is overwritten, maybe he/she might
use a little time for debugging. But keeping real robot safe is also
important.
I'm concerned to duplicate the definition of :init-pose in (send *robot*
:methods) list.
I think this is OK. But I'd like euslisp specialist to doublecheck.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#507 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAeG3DF2szt1_ivkEPC16XR4Ecl4xXiHks5rtmk0gaJpZM4Mtx_X>
.
|
…ose -> :init-pose for overwritten init-pose
This hardware level solution seems much better without adding new method :collision-free-init-pose and overwriting :init-pose on yaml.
From another viewpoint, I also agree with this idea because of the difficulty to share common understanding of :collision-free-init-pose for hrp2jsk. So briefly I'll modify this PR as follows.
@mmurooka Thanks for approving and checking. |
Thank you for detailed explanation. I need more more training for deciding souce code policy.. |
Maybe following parts related to min-max-table are no problem even if :init-pose is changed.
|
Because of the collision between thumb links and hand links at init-pose, added eus method :collision-free-init-pose for hrp2jsk.
Similarly, the following is executed from dashboard (init-pose button).
https://github.com/start-jsk/rtmros_tutorials/blob/master/hrpsys_ros_bridge_tutorials/src/hrpsys_ros_bridge_tutorials/hrp2_hrpsys_config.py#L56-#L60