hotch-potch, Note to self

いろいろ作業記録

ROS2・PlanSys2 チュートリアルチャレンジ(4)

1.はじめに

回数 シリーズ「ROS2・PlanSys2 チュートリアルチャレンジ」・概要
1 PlanSys2のインストールと基本操作
2 プランニング
2.1 プランの調製
3 rvizで視覚化
4 (今回)Behavior Trees
番外編 PDDL入門

前回記事 に引き続き、 ROS2のPlanSys2の試行と、それに関連する気づきをまとめました。

ROS2 Planning System — ROS2 Planning System 2 1.0.0 documentation

今回も、ドキュメントを翻訳しながら、 チュートリアル4番目を進めていきます。

■注意■:このチュートリアルが書かれたのは2020年ごろで、2024年現在のhumble版とは、サンプルプログラムの内容が変わっていました。そのため、チュートリアルの手順通りにサンプルプログラムを実行しても、期待通りの動作はしない模様です。

  • 1.はじめに
  • 2.Implement actions as Behavior Trees
    • 概要
    • (0)Requisites
    • (1)Running the example
    • (2)Using Behavior Trees
      • 2.1 PDDL Action move
        • 2.2 PDDL Action transport
        • 2.3 BT Nodes
続きを読む

Python on Windows, Note to self

1.はじめに

Windows上でのPython開発における、細々としたことの覚え書きです。

  • 1.はじめに
  • 2.開発環境構築
    • (1)Pythonインストール
    • (2)複数のPythonバージョンを切り替え
    • (3)仮想環境の準備
    • (4)作り直した仮想環境に、パッケージを復元
    • (5)pipのライブラリのアップデート
    • (6)Pythonのアップデート
    • (7)poetryの活用
      • インストール
      • Usage
    • (8)uvの活用
      • インストール
      • Usage
    • (9)その他テクニック
  • 3.開発手法
    • (1)traceback出力の文字をカラーにする
    • (2)ソースのヘッダーの書き方
    • (9)その他テクニック
  • 4.streamlit
    • (1)uvを使う
    • (2)poetryを使う
    • (3)VSCodeのデバッガー連携
    • (3)VSCodeデバッグ実行でブラウザを開かせないようにする
      • コンフィグファイルに指定
      • 実行時引数に指定
    • (9)コーディングテクニック
  • 5.fastapi
    • (1)uvを使う
    • (2)vscodeからuvicornを起動
    • (9)コーディングテクニック
続きを読む

Arduino, Note to self

1.はじめに

Arduinoのコーディングで、プロトタイプの次の段階で使いそうな記述方法をまとめた。

  • 1.はじめに
  • 2.開発環境
  • 3.C++
    • (1)使える型の一覧
    • (2)コーディング・テクニック
      • C++の書き方
      • 関数呼び出し
      • データ構造
      • 周辺機能
  • 4.RS-485通信
  • 8.マイコンボード固有
    • (1)共通・ハードウェア割込
    • (2)Pro micro
    • (3)Teensy
    • (4)Raspberry Pi PICO
続きを読む

Arduinoでunittestしてみる

1.はじめに

Arduinoでの開発における、単体テストの方法を調べてみました。

続きを読む

ROS2・PlanSys2 チュートリアルチャレンジ(2.1)

1.はじめに

回数 シリーズ「ROS2・PlanSys2 チュートリアルチャレンジ」・概要
1 PlanSys2のインストールと基本操作
2 プランニング
2.1 (今回) プランの調製
3 rvizで視覚化
4 Behavior Trees
番外編 PDDL入門

以前の記事(ROS2・PlanSys2 チュートリアルチャレンジ(2) - hotch-potch, Note to self)の応用として、ロボットに変化する条件を与えて、プランの結果が変わることを確認してみます。

Terminal Usage — ROS2 Planning System 2 1.0.0 documentation

  • 1.はじめに
  • 2.概要
    • (1)ロボットの動きの復習
    • (2)改修後のロボットの動きの概要
  • 3.PDDLの読み解きと改修
    • (1)オリジナルのPDDLの読み解き
    • (2)PDDLの改修
      • 計算に使う場合はfunctionsに書くこと
    • (3) Knowledge(commandsファイル)の改修
  • 4.プランの実行と確認
    • プラン1回目
    • プラン2回目
    • プラン3回目
    • プラン4回目
  • 5.まとめ
続きを読む

ROS2・PlanSys2 チュートリアルチャレンジ(3)

1.はじめに

回数 シリーズ「ROS2・PlanSys2 チュートリアルチャレンジ」・概要
1 PlanSys2のインストールと基本操作
2 プランニング
2.1 プランの調製
3 (今回)rvizで視覚化
4 Behavior Trees
番外編 PDDL入門

前回記事に引き続き、ROS2のPlanSys2の試行と、それに関連する気づきをまとめました。

ROS2 Planning System — ROS2 Planning System 2 1.0.0 documentation

今回は、いろいろわからないことも多いので、 ドキュメントを翻訳しつつ補足的な内容を含めながら、 チュートリアル2番目と3番目を進めていきます。

  • 1.はじめに
  • 2.The first planning package
    • 概要
    • (0)Requisites 準備
    • (1)Running the example
    • (2)Package structure
    • (3)Actions implementation
      • MoveAction
        • plansys2::ActionExecutorClient
        • PDDLファイルの内容とActionの対応
    • (4)Launcher
  • 3.Using a planning controller
    • 概要
      • (0)Requisites
      • (1)Running the example
      • (2)Patrol action performer
      • (3)Move action performer
      • (4) Mission controller
      • (5)Running the example with Nav2
  • 4.まとめ
続きを読む