hotch-potch, Note to self

いろいろ作業記録

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

1.はじめに

ROS2のPlanSys2を触る機会があったので、「Getting Started」チュートリアルを試した時の 気づきをまとめました。

ROS2 Planning System — ROS2 Planning System 2 1.0.0 documentation

  • 1.はじめに
    • ざっくりPlansys2とは
  • 2.インストール
    • 実行環境
    • インストール
  • 3.「Getting Started」チュートリアル
    • (1)準備
      • (補足)ビルド時のエラー例:
    • (2)実行
      • サンプルの立ち上げまで
      • plansys2_terminalからコマンドを実行
    • (3)もう一歩先の手順
      • knowledge情報を別のファイルから読み込み
      • GUIツール
        • rqtを使う
        • rqt_graphを使う
      • 複数のユーザが同時にROS2を使うときの混信対策
  • 4.まとめ
続きを読む

nvidia drivers for Linux, Note to self

1.はじめに

ROS開発において、Ununtu Linux & GPU & Dockerを使った環境を準備するときに、 ハマった内容について、成否関わらずメモします。

OSバージョン

$ cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.4 LTS"

$ uname -a
Linux devros 6.5.0-27-generic #28~22.04.1-Ubuntu 
  • 1.はじめに
  • 2.ドライバーのインストール
    • 参考資料
    • 作業例
  • 3.DockerのGPU対応
    • 参考資料
    • インストール
    • docker起動
    • やっちゃダメな話・snap版DockerはGPU対応できません
    • お試しが起動できないとき
    • 番外編・Windows版の場合のGPU対応
  • 9.そのほかの覚え書き
    • 便利なコマンド
続きを読む

Elixirでステートマシンをつくる ~ gen_statem

1.はじめに

産業機械をPLCなどを使って制御する際に、 ラダーやST言語などを使って、シーケンスプログラムを書きます。

Elixir言語でシーケンスプログラム=ステートマシンを実現したい場合に、何か便利な仕組みがないか探していたところ、erlanggen_statemという仕組みを見つけました。

まずはgen_statemで、どんなことができるかを試行してみました。

  • 1.はじめに
  • 2.まずはお手本~ATMでお金を引き出す装置の例
    • (1)考え方
    • (2)ソースコードの準備
    • (3)サンプルの試行
      • 正常な手順
      • 異常な手順
  • 3.読み解きと理解
    • (1)現在のステートを保持する仕組み
    • (2)コールバック関数名が、現在のステートと同じ名前になる
      • API側の実装の抜粋
      • コールバック関数の実装の抜粋
  • 4.先ほどのコードを、非同期castに書き換え
  • 5.特定の処理にタイムアウトを加える
  • A.参考資料
続きを読む

Elixirでロボット「カチャカ」とgRPC通信

1.はじめに

 自律移動ロボット「カチャカ」との通信にgRPCが使えるので、Elixirからの通信を試してみました。

kachaka.life

 今のところ、カチャカのステータスを取得するところまでできました。運転命令を送るところができていないので、次回の課題です。

  • 1.はじめに
  • 2.準備
    • (1)protobuf-elixirをインストール
  • 2.サンプルコード
  • 3.実行例
  • 4.参考
続きを読む

ロボット「カチャカ」をリモートPCのPythonから操作

1.はじめに

 自律移動ロボット「カチャカ」に触る機会*1があったので、 カチャカと同じネットワークにあるLinux PC (Ubuntu 22.04) のPythonから、カチャカに指令を出す手順をまとめました。

kachaka.life

  • 1.はじめに
  • 2.プログラムの準備
    • (1)カチャカ本体の設定
    • (2)Linux PCの準備
  • 3.プログラムの試行
    • (1)Pythonからカチャカに指令できること
    • (2)しゃべらせてみる
    • (2)登録した場所に移動する
    • (3)家具を運んで片付ける
  • 参考資料
続きを読む