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

[pr2eus] use :go-pos-unsafe in :move-to for non-holonomic robot #406

Open
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

knorth55
Copy link
Member

@knorth55 knorth55 commented Oct 25, 2019

another solution for jsk-ros-pkg/jsk_robot#1156 (comment)
now testing on Fetch.
not tested on PR2.

EDIT:
I tested on PR2 and Fetch.

@knorth55
Copy link
Member Author

I fix fetch's wheel slipping problem in jsk-ros-pkg/jsk_robot#1159

@knorth55 knorth55 changed the title [WIP] use :go-pos-unsafe in :move-to for non-holonomic robot use :go-pos-unsafe in :move-to for non-holonomic robot Oct 26, 2019
@knorth55
Copy link
Member Author

I tested on PR2 and it works.
Videos: https://drive.google.com/open?id=1lR05RgHhrJHWXMxt_BKY_N8dt0Sxgh9I

@knorth55 knorth55 changed the title use :go-pos-unsafe in :move-to for non-holonomic robot [pr2eus] use :go-pos-unsafe in :move-to for non-holonomic robot Oct 26, 2019
@knorth55 knorth55 mentioned this pull request Oct 26, 2019
3 tasks
@knorth55
Copy link
Member Author

@taichiH can you check this PR with aero robot?

@knorth55 knorth55 changed the title [pr2eus] use :go-pos-unsafe in :move-to for non-holonomic robot [WIP][pr2eus] use :go-pos-unsafe in :move-to for non-holonomic robot Oct 29, 2019
@taichiH
Copy link

taichiH commented Oct 29, 2019

I checked the behavior with aero robot.
I think there is no problem.

@k-okada
Copy link
Member

k-okada commented Oct 30, 2019

@knorth55 can you add test code ? (#409 (comment)?

@knorth55 knorth55 changed the title [WIP][pr2eus] use :go-pos-unsafe in :move-to for non-holonomic robot [pr2eus] use :go-pos-unsafe in :move-to for non-holonomic robot Nov 2, 2019
@knorth55
Copy link
Member Author

knorth55 commented Nov 8, 2019

Fetchでこれをテストしていますが、Fetchはそもそもその場での回転でしているつもりが、前に出てしまうため、障害物に突っ込んでしまうことがあります。
さらにFetchはバックの性能が悪いため、そこで詰まってしまい、どうしようもないことが発生します。
Fetchの場合には、この:go-pos-unsafeの修正が良くない影響を及ぼしています。
この微修正はHolonomicの場合には有効ですが、その場回転をしなければならないNon-holonomicなロボットでは元の位置のほうが正確なことが多々あります。
他のロボットでの意見も聞きたいです。
@taichiH @YutoUchimi

@knorth55
Copy link
Member Author

knorth55 commented Nov 8, 2019

Fetchのその場回転についてテストしてみました。
初期位置
IMG_4683
右に90度回転
IMG_4684
これで10cmほど前方に進んでいることを確認
IMG_4685
さらに左に90度回転
IMG_4687
これでさらに10cmほど前方に移動している
IMG_4688

:move-toで行われている微修正では、これと同じことが起きていて、微修正すればするほど、元の位置からずれていきます。
Fetchのようなロボットの場合には、この微修正がより位置ずれを起こしてしまうようです。

https://drive.google.com/drive/folders/11DZxmCjg9ZpSXNo_bOvs3hYfzrC4kqLk?usp=sharing

@knorth55
Copy link
Member Author

knorth55 commented Nov 8, 2019

微修正をスキップするためのArgをPRで出しました。#418

@taichiH
Copy link

taichiH commented Nov 9, 2019

aeroの場合も :move-to-wait がないほうが良い場合が多いので、:move-to の引数で :no-wait t にしていますが、これで微修正はスキップできないでしょうか?

@knorth55
Copy link
Member Author

knorth55 commented Nov 9, 2019

no-waitだとmove-toした後に終わるまで待つのはどうやってるんだろう
あとmove-to-waitに行くとmove-toのリトライをする機能があるから、PRでだしたのとno-wait tは挙動が違うはず

@taichiH
Copy link

taichiH commented Nov 9, 2019

はい,僕もそこは困っていました.
所定のものが認識できるまで,待つというような作り込みの処理を入れて対応していました.

なので,#418 があると良いと思います.
そのことについて,#418 にコメントしました.

Copy link
Member

@k-okada k-okada left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@knorth55 @708yamaguchi are we still using this on Fetch/PR2?

@knorth55
Copy link
Member Author

we do not use this PR on fetch.
we use jsk-ros-pkg/jsk_robot#1169 :correction nil for fetch

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants