start-jsk / rtmros_choreonoid

using chreonoid for simulator with hrpsys and other ros system
9 stars 43 forks source link

add gym-environment (parallel bars) #317

Open kazu-robo opened 5 years ago

kazu-robo commented 5 years ago

add cnoid file for parallel bars

YoheiKakiuchi commented 5 years ago

大学院に行くと、授業で習ったりするんですが、 https://github.com/YoheiKakiuchi/robotsimulation-docker/tree/master/choreonoid_docker

以下のように立ち上げると、

rtmlaunch hrpsys_choreonoid_tutorials jaxon_red_choreonoid.launch LOAD_OBJECTS:=true ENVIRONMENT_YAML:=/robotsimulation-docker/choreonoid_docker/footsal.yaml

このようなyamlファイルを書くことで.cnoidファイルを作らずに環境構築できます

https://github.com/YoheiKakiuchi/robotsimulation-docker/blob/master/choreonoid_docker/footsal.yaml

また、

rtmlaunch hrpsys_choreonoid_tutorials create_environment_example.launch

とすると、

yamlファイルに記述して、 https://github.com/start-jsk/rtmros_choreonoid/blob/master/hrpsys_choreonoid_tutorials/config/create_environment_sample.yaml

ロボットの初期位置や関節角度まで指定することができます。

YoheiKakiuchi commented 4 years ago

@kazu-robo このPR生成ファイルとかも含まれちゃってるのだけど、それを抜いてキレイにしてもらえないかな?

@YutaKojio @yuki-shark いい感じの環境作ってたと思うのだけどPRしてもらえないかな

YutaKojio commented 4 years ago

@yuki-shark のPCで作業していて僕のブランチにはないので,@yuki-shark お願いします.

kazu-robo commented 4 years ago

整理したつもりでいます。不備があったらご指摘ください。

(PRだしたブランチだということを忘れてしばらく作業を続けてしまっていたようで、 当初の平行棒環境以外は消したほうがよいかもと思っています、 座るための箱をおいてる程度の環境でしかないなので)

yuki-shark commented 4 years ago

@YoheiKakiuchi @YutaKojio 遅くなりましたが, #329 で凸凹した環境や,足場に段差がある環境(周りの壁や木のオブジェクトなども含め)を追加する PR を投げました.

YoheiKakiuchi commented 4 years ago

@kazu-robo コミットまとめられるかな。

あと、 @yuki-shark @kazu-robo .cnoidがどんどん増えてゆくので、以下の方法でyamlを作ってみましょう

大学院に行くと、授業で習ったりするんですが、 https://github.com/YoheiKakiuchi/robotsimulation-docker/tree/master/choreonoid_docker

以下のように立ち上げると、

rtmlaunch hrpsys_choreonoid_tutorials jaxon_red_choreonoid.launch LOAD_OBJECTS:=true ENVIRONMENT_YAML:=/robotsimulation-docker/choreonoid_docker/footsal.yaml

このようなyamlファイルを書くことで.cnoidファイルを作らずに環境構築できます

https://github.com/YoheiKakiuchi/robotsimulation-docker/blob/master/choreonoid_docker/footsal.yaml

また、

rtmlaunch hrpsys_choreonoid_tutorials create_environment_example.launch

とすると、

yamlファイルに記述して、 https://github.com/start-jsk/rtmros_choreonoid/blob/master/hrpsys_choreonoid_tutorials/config/create_environment_sample.yaml

ロボットの初期位置や関節角度まで指定することができます。

yuki-shark commented 4 years ago

@YoheiKakiuchi コメントありがとうございます. yaml でも環境設定が出来るんですね,知りませんでした... yaml の方が cnoid に比べて簡潔に書けるのは良さそうですね.

以下2点質問です.

YoheiKakiuchi commented 4 years ago

さすがに全部変えるのは現実的でない気がするので、こちらの環境作る方で構わないと思います。

ENVIRONMENT_YAML:=/robotsimulation-docker/choreonoid_docker/footsal.yaml

環境の作り方は、そんな感じかと思います。 cnoidから作れると確かに良いのだけど、yamlに転写するのはそんなに問題ないんじゃ無いかな、ファイル名とposとrotをコピペするだけでいい。

ファイル名は、$(find jvrc_model)/ の形でかけて .in ファイルを作る必要がなくなる。 https://github.com/start-jsk/rtmros_choreonoid/blob/master/hrpsys_choreonoid_tutorials/config/create_environment_sample.yaml#L5

これの一番の利点は、ロボットと環境が分離すること。 環境の定義ファイルは作らざるを得ないが、つくったファイルはロボット間でシェアできる。 なので、jaxonとHRP2、CHIDORIで同じ環境をファイルを増やさずにシェアできる。

最終的にはWRS方式の方がすんなりしている気がする。 あれは、ROBOT.cnoidとENVIRONMENT.cnoidがあって、pythonスクリプト(choreonoid内で走るもの)で上手くロードしている。

kindsenior commented 4 years ago

最終的にはWRS方式の方がすんなりしている気がする。 あれは、ROBOT.cnoidとENVIRONMENT.cnoidがあって、pythonスクリプト(choreonoid内で走るもの)で上手くロードしている。

この点なんですけど,環境ごとに異なるロボットの初期位置を保存できる方がいい気がしていて,それは簡単に実現できるんでしょうか?

YoheiKakiuchi commented 4 years ago

この点なんですけど,環境ごとに異なるロボットの初期位置を保存できる方がいい気がしていて,それは簡単に実現できるんでしょうか?

いまのところ、これが問題かな。 Hotfix としては、環境自作の場合は環境の方を既存ロボット初期位置に合わせる。 あと、値をどうやって渡そうかなという問題はありつつも、スクリプトならなんとでもできるので今後は改善していくはず。

yuki-shark commented 4 years ago

@YoheiKakiuchi cnoid.in ファイルを yaml ファイルに移植しているのですが,デフォルトで invisible にするような変数の設定方法などご存じないでしょうか.(ドキュメントを探したのですが見つけられませんでした...) 使いたい場面としては,「周りを囲う壁が必要だが,ロボットが隠れてしまうため毎回 choreonoid を立ち上げてから消したくない」といったところです.

YoheiKakiuchi commented 4 years ago

cnoid.in ファイルを yaml ファイルに移植しているのですが,デフォルトで invisible にするような変数の設定方法などご存じないでしょうか.(ドキュメントを探したのですが見つけられませんでした...)

いまのところ無いね。 yamlにそうなってほしいobjectに、checked: false みたいなのを加えておくと、今後のPRで消えるようになるかもしれない。