Skip to content

Latest commit

 

History

History
165 lines (126 loc) · 3.73 KB

File metadata and controls

165 lines (126 loc) · 3.73 KB

Phase 12: Language to Action

言語から行動への変換

概要

ロボットに必要な「言語 → 行動」の変換システム。 人間のコマンドを理解し、行動コードに変換する。

2つのバージョン

Phase 12: 基本版(phase12_language_to_action.py

  • 知らないコマンド → 人間が教える
  • LLM 不要
  • シンプルな学習

Phase 12b: LLM 支援版(phase12b_action_with_llm.py

  • 知らないコマンド → LLM に聞く → 人間が確認
  • 学習が早い
  • Ollama 必要

DNA 的な初期行動(15種類)

action name description
carry 運ぶ 物を持って移動する
hold 保持する 物を持ち続ける
follow 追従する 対象についていく
stop 停止する 動きを止める
pick_up 拾う 物を拾い上げる
put_down 置く 物を下に置く
come 来る 呼んだ人の方へ移動する
wait 待機する その場で待つ
search 探す 対象を探し回る
look 見る 対象を確認する
fetch 取ってくる 物を取りに行って戻ってくる
push 押す 物を押して動かす
pull 引く 物を引っ張る
open 開ける ドアや容器を開ける
close 閉める ドアや容器を閉める

使い方

基本版

python phase12_language_to_action.py
コマンド: これ運んで
  → 理解: carry (運ぶ) [★記憶から]
  【行動】物を持って移動します...

コマンド: あれ持ってきて
  → 飛騨: わかりません。教えてください。
  行動コード: fetch
  → 覚えました

LLM 支援版

# Ollama 起動してから
python phase12b_action_with_llm.py
コマンド: あれ持ってきて
  → 記憶にない。LLM に聞きます...
  
  【LLM の回答】
  行動: fetch
  理由: 「持ってきて」は物を取りに行って戻る動作なので fetch が適切
  → 推測: fetch (確信度: 80%)
  
  これで覚えていい? (y/n): y
  → 覚えました: 「あれ持ってきて」 → fetch

操作コマンド

コマンド 動作
q 終了
s 統計表示
l 学習内容一覧

記憶ファイル

ファイル 説明
hida_action_memory.json 基本版の記憶
hida_action_memory_v2.json LLM 支援版の記憶

記憶はファイルに永続化される。 次回実行時、前回の学習内容を引き継ぐ。

学習の流れ

基本版

コマンド入力
  ↓
記憶を検索
  ↓
知ってる → 行動実行
知らない → 人間が教える → 覚える
  ↓
次から自分で理解

LLM 支援版

コマンド入力
  ↓
記憶を検索
  ↓
知ってる → 行動実行
知らない → LLM に聞く
  ↓
LLM が推測 → 人間が確認
  ↓
OK → 覚える
NG → 人間が訂正 → 覚える
  ↓
次から自分で理解

新しい行動の追加

知らないコマンドに対して、既存の行動コードにないものも教えられる。

コマンド: また明日
  → わかりません

行動コード: power_off
行動名: 電源オフ
  → 覚えました

次のステップ

ソフトウェア側

  • 複合コマンドの理解(「取って、持ってきて」)
  • クオリアとの統合(重い → 不快)

ハードウェア側

  • 行動コード → モーター制御
  • センサー入力との連携

必要環境

基本版

  • Python 3.x

LLM 支援版

  • Python 3.x
  • Ollama(https://ollama.ai/)
  • Gemma 4B(ollama pull gemma3:4b
  • requests(pip install requests