-
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
SequencePlayer内部のhoffarbib補間について #66
Comments
From ik0...@gmail.com on January 27, 2013 01:38:01 追記です. 確認よろしくお願いいたします. |
From kei.ok...@gmail.com on January 27, 2013 01:57:59 interactive_markerのときはinterpolation modeをlinearで動かすのはどうでしょうか。 それとは別に、値がとばないような工夫は必要ですね。関連するスレッドは以下 http://code.google.com/p/hrpsys-base/issues/detail?id=2&can=1 Owner: kei.ok...@gmail.com |
From fkaneh...@gmail.com on January 27, 2013 04:46:35 目標値と補間時間はどのように与えているでしょうか? |
From ik0...@gmail.com on January 27, 2013 08:33:15 目標値と補間時間は目標値が変化するごとにsetJointAngles()を呼んで与えています. |
From kei.ok...@gmail.com on January 27, 2013 21:06:06 再現できる入力をつくれないかな。添付のコードをrtc/SequencePlayerにいれて、 プログラムはみたら分かると思いますが、関節各目標値(angle_vector_sequence)、補完時間( interpolation_time)のsetJointAnglesに与える情報と、
+add_executable(test_seqplay test_seqplay.cpp ${comp_sources}) +set(target SequencePlayer SequencePlayerComp test_seqplay) Attachment: test_seqplay.cpp |
From ik0...@gmail.com on February 12, 2013 21:20:29 遅くなりまして申し訳ありません. Attachment: hoffarbib-20130213.png test_seqplay.cpp |
From kei.ok...@gmail.com on February 18, 2013 09:10:57 スタート時刻あるいはゴール時刻で速度,加速度が大きいと,こういう現象が起こる気がします. http://mplab.ucsd.edu/wordpress/tutorials/minimumJerk.pdf をみて添付のoctaveコードをみてみてもやはり同じ現象になると思います. 気になるのは,そもそもなぜこういう目標があたえられているかということ.:angle-vectorをつかっていれば, http://code.google.com/p/rtm-ros-robotics/issues/detail?id=50 の問題さえなければ,遷移時間はそれほど大きくならないはず. とりあえず気をつけて使う,的な解決方法しか思いつかないのが残念なんですが, Cc: fkaneh...@gmail.com ik0...@gmail.com Attachment: debug.patch minjerk.m |
From kei.ok...@gmail.com on February 27, 2013 19:41:01 ik0313さん.以下のものはどうでしょうか? 気になるのは,そもそもなぜこういう目標があたえられているかということ.:angle-vectorをつかっていれば, http://code.google.com/p/rtm-ros-robotics/issues/detail?id=50 の問題さえなければ,遷移時間はそれほど大きくならないはず. とりあえず気をつけて使う,的な解決方法しか思いつかないのが残念なんですが, |
From ik0...@gmail.com on February 28, 2013 01:48:48 関節角度の送信記録は 使用しているinteractive_markerでは関節角度マーカを移動させるごとにikを解き, |
From kei.ok...@gmail.com on March 22, 2013 02:33:38
これの遷移時間はなにできまっているものですか?毎回違うのはなにか計算しているのですか? |
From yk.at....@gmail.com on March 24, 2013 21:06:35 遷移時間の単位は秒だと思っていれば良いですか? そもそも、遷移時間が長いとこの問題が起こりそうなのでしょうか?
|
From kei.ok...@gmail.com on April 01, 2013 18:38:18
大きな値が送られた時は問題ではなく,小さい時に問題のように思いますが,ちがうでしょうか? 遷移時間が短いと,終端の速度加速度を守ろうとして,途中の速度加速度が発散すると理解しています. Issue 50 を反映させてからあとに試したて,問題が再現するか見たいところです. |
これ,今どうなっていますでしょうか? @orikuma |
これ,今どうなっていますでしょうか?@orikuma |
From ik0...@gmail.com on January 27, 2013 18:06:45
問題:
hrp4rでマニピュレータを対話的に操作するrosのインタフェース(interactive_marker)を用いて右腕を動かす実験において,
rosからの関節指令値を受けた際,SequencePlayerのqRefの出力が大きく(関
節角度制限を大きく上回る程度に)変化するという現象が確認されております.
腕はしばらくすると最終的に正しい目標位置に到達します.
発生する条件は不明ですが, setJointAnglesに与えるtmが大きいと発生しやすい傾向にあるように思えます.
条件が不明なため再現性を調べることが困難ですが, 実験中に1~2回起こる程度の発生頻度現象が再発しています.
調査内容:
不正な関節角度が与えられた後, 腕が最終的に正しい目標に到達することから
SequencePlayer内部の補間において不正な関節角度が与えられることを疑って
SequencePlayer/interpolator.cppにおいて,
linear_interpolation関数の出力gxとhoffarbib関数の出力xのR_ELBOW_Pについてログを取り, 比較して見ました.
結果:
現象が再発した際に得られたグラフとrtcdのログを添付いたします.
linearの出力はSequencePlayer::setJointAngles直前の関節角度指令値(ログ内のseqplayer)及びseqplay.cpp内でinterpolator::setGoalでgxに与えられた値(ログ内のseqplay->setGoal)に即座に追従していますが,hoffarbibの場合は大きく関節角度が湾曲して追従していることがわかります.おそらくこれが不正な関節角度の原因と思われます.
以上の結果からSequencePlayerの補間で問題が起こっていると思われるのですが, 原因に心当たりはございますでしょうか.
Attachment: rtcd-20130126173523.log.hrp4r hoffarbib_log.png
Original issue: http://code.google.com/p/hrpsys-base/issues/detail?id=66
The text was updated successfully, but these errors were encountered: