11:18産総研の宮本です。コメントしていただいてありがとうございます。Foot_Position_Controllerのmotor_pos_0からm_motor_pos_3のデータポートは、EV3を4台使用したロボットと通信するために後付けしたものなので、あまり拡張性は考えていません。このRTCは動画に示すような対称な4足歩行ロボットの脚配置にしか対応しておらず、6脚等に対応させようとするとコンフィギュレーションパラメータが多くなり使いづらくなりそうです。条件を限定しているのであの程度の数で済んでいるのだと思います。設定ファイルを別に読み込ませるなどで対応は可能かもしれませんが、まだ対応できていません。一般的に十分な脚関節数かについてですが、静的に安定な歩行をするために最低限必要な脚の数が4脚です。6脚にすることでより安定な歩行は可能なので、4脚で十分かどうかは何が目的かによって違うと思います。2足、6足、8足に対応する場合に、どの部分が再利用できるかについてですが、Crawl_Gait_Controller、Intermittent_Crawl_Gait_Controllerは四足歩行ロボット制御のためのRTCであり、Foot_Position_Controllerも四足歩行ロボットにしか対応していないため、サーボ制御部分のRTCしか現在は再利用できません。少なくともクロール歩容、間歇クロール歩容でそのまま6足歩行ロボットを歩かせるのは無理なので、この部分の再利用は不可能だと思います。6足歩行ロボットにCrawl_Gait_Controllerを適用して4足で歩行し、残りの2足で作業を行う等はできると思います。あり得ない関節角度が入力された場合ですが、異常値チェックはFoot_Position_Controllerで行い、さらにサーボ制御RTCでも行った方が安全だと思います。シミュレーションを実行した際に関節角度が可動範囲を超えてシミュレーター上のロボットが爆発四散することがあったので気にはなっていたのですが、対策を忘れていました。指摘していただいてありがとうございます。10:30教えていただいてありがとうございます。関数の未使用以外の警告については修正を行ったので改善したとは思います。16:04コメントしていただいてありがとうございます。ロボット本体から情報を収集する側のインターフェースについてですが、まだよく考えていない状態です。駆動サーボ制御コンポーネントの入力がTimedDoubleSeq型なので、同じTimedDoubleSeq型で出力して、それで関節の現在値を取得すればいいという安易な考えをしていたのですが、関節角度を脚先位置への変換をどこでやるかが問題になりそうです。多足歩行ロボットのRTC設計はいままであまり考えられていなかった事だと思うので、今回提案をしたことによって今後議論が活発になればいいとは思います。軌道や安定余裕を含めた一つのデータ型にまとめるということについてですが、安定余裕にもいくつか種類があるので例えば縦安定余裕だけ、NE安定余裕だけということをしてしまっていいのかと考えたのでデータ型には含めませんでした。確かにアームの共通インターフェースのようにサービスポートを使つのも一つの手段だとは思うのですが、アームの場合は「目標位置に直線補間で移動しろ」といった操作を行うと思うのですが、多足歩行ロボットの場合は連続的に指令を与える必要があるのでサービスポートが妥当なのかという疑問はあります。23:21コメントありがとうございます。関節角度にActuatorやJointPos等のデータ型を使う件ですが、それはその通りだと思います。Actuator型のデータポートを使用したRTCを一度も見たことがないのですが、どこかにあるのでしょうか?データ型の存在自体が知られていない→RTCが開発されない→データ型の存在が知られないという負の連鎖になっているのではないかと少し不安です。関節軌道の件ですが、歩行ロボットというよりも多関節ロボット全般の話だと思うので、確かにここで話をするのはあまりよくないかもしれないです。ロボットに関する情報をサービスで取得する件ですが、おっしゃる通り必要だと思うので今後考えていきたいと思います。コメントで教えていただいた以外にも、脚の可動範囲を取得することが重要ではないかと考えています。VIIIという四足歩行ロボットの可動範囲を扇形と定義してあるので、アーム共通インターフェースのようにx軸、y軸、z軸の制限だけでは不十分かもしれません。http://ci.nii.ac.jp/naid/10002865792安定余裕の件ですが、それだと1種類の安定余裕のみやり取りするという事になると思うのですが、それでいいのかどうかがよく分かっていない状態なので、少し考えてみます。ベクトルの安定余裕は分からないです。19:57コメントありがとうございます。gitのsubmoduleは個人的に嫌いなのであまり使っていません。普通にクローンしてもサブモジュールの中身をクローンしてくれないところと、submoduleのリポジトリを更新してもsubmoduleは更新されないので、なんだか癖が強くて使いづらいような気がしています。(サンプルの実行ができます。1.2.1-RELEASERTコンポーネントを開発するためには開発環境のインストールが必要です。