-
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
ImpedanceControllerの関数で、startImpedanceを追加し、setImpedanceParamのJointPath指定方法をかえる #232
Comments
それぞれ理由は何でしょう? |
少し広めにみると、パラメータをセットする関数、モードをstart, endさせる関数をどうするかは なので上記の2変更点はもう少しいうと
それぞれ、対応する直しかたは
上記の観点で考えると、個人的にはそれぞれ
[1] https://github.com/fkanehiro/hrpsys-base/blob/master/rtc/ImpedanceController/ImpedanceController.cpp#L566 |
にあるようなグループとの関連はどうなるでしょうか?グループとImpedanceのグループは同一なことが想定されていますか? 同一であれば,このなかのinitでseqのグループを作るときに,impedanceのグループみたいなものもつくるのはどうでしょうか.今のままでも"rarm"をキーにして,いるので,base_nameとtarget_nameが""だったら更新せず,KMDだけ使う,のはどうでしょう. confは最終的にROSから制御できないのであまり良くない気がしています. |
はい、そうです。
こちらは、end-effector設定など今confにかいている情報を、 ただし、運用はどうしましょう。2点くらいご相談させていただきたい点をあげると、
こちらが一点よくわかりませんでした。 |
その方向はかなりマジメに考えていいと思います.何かコメントあるでしょうか? @fkanehiro さん.Chorenoidのモデルだと対応されていたりしますか?
pythonに書いたら,そこから何らかのCORBAを通じてpluginに命令を送ります. ということはROSからもサービスで通信出来ます.チョットだけなにか変えたいというときに, #234 の議論もconfで対応できるか検討してみて下さい. |
こちらでは、手先のリンクはどれで、足先のリンクはどれ、といったロボットの形態よってまちまちな情報はHumanoidノードのinfoというフィールドに文字列で入れて、ModelLoaderから読みだして使っています。 |
化けてるようです。 |
例えば、某ロボットでは以下のような情報を入れています。
|
この情報ってColladaに入っていませんでしたっけ? |
colladaには入っているけど,wrlにないのが問題です @emijah |
あまり何が起こるか,チャントわかっていないですが,
みたいなのをつくって,
みたいにするとオオゴトでしょうか? |
@k-okada wrlに入れる話にするということですね。 |
新しいノードを定義したりすると、ModelLoaderの中にも手を入れないといけないですね、っていうのと、エンドエフェクタの座標系ってIKする時に欲しいっていうのは分かるんですが、その座標系っていつも同じでしょうか?あるときは把持する中心の座標系だったり、ある時は手の先端だったりしません?そういったアプリというか状況によって変化する情報はモデルファイルには書かずに、モデルファイルには常に変わることのないスタティックな情報だけを書くのがよいのでは、と考えています。 |
これはCORBAのメッセージも型が変わって,下位互換性がなくなったりしますでしょうか? |
はい、それらの追加情報を格納する場所をどこかに確保する必要があります。 |
エンドエフェクタ情報は、確かに用途によって使い分ける必要がありそうですので、
ちなみにこちらでの運用方法ですと、実はエンドエフェクタを変えることがあまりないです。
ので、hrpsys-baseレイヤでは「エンドエフェクタをスタティックでなくかきかえる」ことが |
こちらではエンドエフェクタのリンク名まではスタティックと見なしています。 |
具体的に、hrpsys-baseでHumanoidのPROTOのInfoフィールドを読み込んでいるところはどちらでしょうか? |
hrpsys-baseの中にはInfoフィールドを使っているコードは無いですね。
|
こちらで案がでている
の2種を新たにinfoに入れる、というのを進めてみたいですが、いかがでしょうか。 |
やるなら,Modelの定義としてちゃんと入れたいけどなぁ.やっぱAPIこわれるだろうか? |
Modelの定義といいますと、VRMLにinfoとしてかくだけでなく、数個前のコメントにあるような
とかくルールにして、ModelLoaderも修正する、という形でしょうか。 APIが壊れてない=新しい要素を追加してないIDLから作ったプログラムが、新しい要素を追加したIDLから作ったプログラムと、(新しい要素以外は)エラーなく通信できる でしょうか。 また「最後に追加」が、idlファイルの最後か、structに何かたすなら、structの最後というのもOKなのか、 |
最後に追加するのはOK、というのは単に僕の経験則でしかないので、正確なところはCORBAのC++マッピングの仕様をみていただくしかないと思います。 |
ちなみにOpenHRPのVRMLがベースとしているh-animではSiteというノードがあり、これがエンドエフェクタを表すようなので、これを使うのが正しい方法かもしれません。 |
こちらありがとうとございます。追加はむずかしそうですね。
Siteも利用する難しさは同じではないでしょうか? |
はい、そういう意味では同じなのですが、同じ意味のノードを独自に定義するよりは、既存のものを使うのがよいのでは、ということです。 |
確かに,おっしゃるとおりだと思います.
それが非常に難しい場合は,上記の2点をInfoで行い,実際パースする部分もhrpsys-baseに追加するのが現実的だと思います. |
前者の方が手間がかかる、APIが変わるということはありますが、非常に難しい、という程でもないと思います。 |
…name, e.g., :rarm => rarm. This change is based on JointGroup name discussed in fkanehiro#232
ImpedanceController.idlを変えようと思います(=>@snozawa)。
startImpedanceと(純粋な)setImpedanceParamにわける
今はname, base_name, target_nameをsetImpedanceParamの引数にいれて
指定してますが、引数ではnameに相当するもので指定する。
今はエンドエフェクタの情報はconfにいれてあるので、引数ではnameを指定するだけにする
(注意点は、virtual force sensorRTCの入力でも動いているので、それを保つようにしておく)
The text was updated successfully, but these errors were encountered: