ご無沙汰しております.
久しぶりに最新版をビルドしたところ,モデルとしてurdf, xacroにも対応したことを知りました.
ということは,ROSControlプラグインと組み合わせると,ROS用の作られたurdf, xacroファイルだけでROS用のシミュレーションが可能ということでしょうか?
例えば, ros_control連携版 Tankチュートリアルは,bodyとurdf, xacroの両方を使っていますが,これをurdf, xacroだけでできるということでしょうか?
もし可能なのであれば,その実例がありますでしょうか?
ご無沙汰しております。URDF読み込み機能の開発をしております。
ということは,ROSControlプラグインと組み合わせると,ROS用の作られたurdf, xacroファイルだけでROS用のシミュレーションが可能ということでしょうか?
はい、機能としてはそのようになっております。
ただし、カメラやLiDARなど、センサのURDFからの読み込みについては、現在開発中となっております。
つまり、URDF/xacroのモデルのインターフェースとしては、関節のアクチュエーションのみが可能になっています。
チュートリアル等については上述のセンサ対応が完了してから整備する予定です。
以上、取り急ぎとなりますが、よろしくお願いします。
早々にご回答いただきありがとうございます!
開発状況についてわかりました.
その機能だけで結構ですので,使い方を教えていただけないでしょうか?
何か実例を見せていただけると嬉しいです.
よろしくお願いいたします.
試行錯誤の末に,cnoid_tank_pkgs のボディとしてcnoid_tank.urdf.xacroを読み込み,新しいROS Controlを利用するプロジェクトを作りました.
端末1
cd cnoid_ws
source devel/setup.bash
roslaunch cnoid_tank_bringup labo.launch
端末2
cd cnoid_ws
source devel/setup.bash
roslaunch cnoid_tank_bringup display.launch
端末3
rqt __ns:=tank
しかし,/tank/base_controller/cmd_vel
トピックにTwistメッセージをパブリッシュしても,何も動きません.砲台の方は動いています.
端末には,特にエラーは出ていません.2つのコントローラがロードされた旨表示されています.
何が間違っているのでしょうか?
上記のリポジトリをご覧になられてご助言をいただけると幸いです.
よろしくお願いいたします.
ソースを確認したのですが,type="floating"
には対応していないということでしょうか?対応は難しいですか?
以下のように変更すると,floatingにも対応できているようですが,これだけでは足りないでしょうか?
URDF版Tankモデルを確認したところ,URDFの移動部についてはそもそも回転関節として実装されていないことが分かりました.
(もともとシミュレーション用で作成しておりませんので,視覚化ができる最低限の記述になっています.)
このあたりを改修する必要がありそうです.
したがいまして,
例えば, ros_control連携版 Tankチュートリアル は,bodyとurdf, xacroの両方を使っていますが,これをurdf, xacroだけでできるということでしょうか?
これへの回答は現時点では「不可」となります.
Floatingジョイントについてはご指摘の通り未実装項目でしたので,確認をいたします.
ただし,今回の問題は恐らくURDFローダではなくURDF側にあるかと存じます.
いずれも来週対応作業を実施したいと思いますので,今しばらくお待ちください.
よろしくお願いします.
よろしくお願いいたします.
Tankは確認のために使っていました.モデルの中身をよく見ておらず,的外れの指摘だったかもしれません.
実際にやりたいのは,URDFで記述された脚ロボットのシミュレーションです.ですから,空間に固定されていないことが必須ですし,摩擦などの設定がどのように反映されるかも気がかりです.
すみません、しばらくこちらをみることができずにおりました。
Floatingジョイントについては、ルートリンクをフリーに設定して空間中を自由に動けるようにすればよいということですね。こちら私の方でも確認が不十分でした。Onishiさんと相談して、設定できるようにしたいと思います。
ご報告遅くなりました.以下のコミットにて本件対応を実施しました.
これにより,ロボットモデル自体は原則として全て浮遊リンクのものになります.
また,cnoidファイル側でfixedModel
というプロパティをboolで与えることができるようになり,trueにすると環境に固定できるようになります.
ひとまずこちらでご確認いただければと思います.