興味のある新刊書籍を羅列してます。
続きを読むPDDL入門(ROS2・PlanSys2 チュートリアルチャレンジ番外編)
1.はじめに
前回記事に引き続き、 ROS2のPlanSys2の試行に関連する気づきをまとめました。
| 回数 | シリーズ「ROS2・PlanSys2 チュートリアルチャレンジ」・概要 |
|---|---|
| 1 | PlanSys2のインストールと基本操作 |
| 2 | プランニング |
| 2.1 | プランの調製 |
| 3 | rvizで視覚化 |
| 4 | Behavior Trees |
| 番外編 | (今回)PDDL入門 |
今回は、Planning Domain Definition Language(PDDL言語)そのものについて、知見を深めていきます。
- 1.はじめに
- 2.PDDL入門
- (1)自動計画とプランナー
- (2)PDDLとは
- (3)PDDLによるモデル化の考え方
- (4)主要なキーワード
- (5)PDDLの構文
- 3.チュートリアルPDDLの読み解き
- simple_example.pddl
- types
- predicates
- functions
- durative-action
- commands:problemの記述ファイル
- simple_example.pddl
- 4.PlanSys2 designの読み解き
- 参考資料
気になる書籍・24年12月
興味のある新刊書籍を羅列してます。
続きを読むElixirでロボット「カチャカ」とgRPC通信~続編
1.はじめに
前回の記事では、Elixirからカチャカへの通信を確立させて、カチャカのステータスを取得するまでを試行しました。
次のステップとして、カチャカに対して指示を送って、動かすまでを試行しました。
結論
結論としては、「未解決」です。
- Elixir→カチャカへの運転指令は出せた
- カチャカは受理するも、コマンドを解釈できない
ここからは現時点の考察です。
- kachaka-api.protoから生成する、Elixir側のrpcクライアントのコードに不具合がありそう
- 具体的には、
protoファイルの
oneof構文の解釈がうまくできていない - Elixir側でマップ
Commandにkeyとなるatomを渡しても、oneofで定義されているもののうち、意図する型のメンバーを引いてこられない - protoファイルを直接いじってElixir側で上記を解決(2パターン試行)するも、protoの構造が変わってるので、カチャカでコマンドを受け取れない
といったところで、以下に今回の顛末を整理します。
- 1.はじめに
- 結論
- 2.試行おぼえ
- (1)環境構築
- (2)カチャカのprotoファイルからrpcクライアントを生成
- (3)まずは基本の形から
- (4)試行1:生のprotoファイルで生成したkachaka-api.pb.exのうち、oneofが効かないところを手直し
- 修正前
- 修正後
- (5)試行2:他のprotoファイルの書き方をまねる
- 3.まとめ