0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

日本語で話しかけるとPythonを書いて動く六本脚ロボットを、ネットにつながないローカルAIで作った

0
Posted at

はじめに

1993年、大学院生だった私は「産業用ロボットに日本語で命令する」システムを作り、人工知能学会と機械学会で発表しました。日本語の文を形態素解析し、中間言語に変換してロボットを動かす、というものです(当時はLisp/Prologでした)。

それから30年。ローカルで動く小さなLLMが出てきたことで、同じことを机の上のロボットでできるようになりました。そこで、六本脚ロボットのキットを土台に、日本語で話しかけるとAIがPythonのプログラムを書き、そのとおりに脚が動くロボット「アラクネ」を一人で作りました。

この記事では、その構成と、作る途中でつまずいたところを書きます。

できること

  • 「右の前足を上げて」と話しかけると、AIがPythonのプログラムを書いて画面に表示し、そのプログラムを実行して脚が動く
  • ふつうの会話もできる。話している間は脚や首で身振りをする
  • 会話・音声認識・プログラム生成はすべて手元のパソコンの中で処理し、インターネットにはつながない

書かれたプログラムが画面に出るので、「言葉 → プログラム → 動き」のつながりがそのまま見えます。キーボードに慣れていない子どもや大人でも、言葉からプログラミングに入れる、というのがねらいです。

構成

役割 使っているもの
本体(脚・首) Freenove Big Hexapod Robot Kit(FNK0052)
本体の制御 Raspberry Pi 4B(4GB)
目・耳・口 カメラ、単一指向性マイク、スピーカー、ディスプレイ
頭脳 ノートPC(Core i7、メモリ16GB、GPU 8GB)
声 VOICEVOX(もち子さん)
電源 12V ACアダプター+降圧コンバーター

処理の流れは次のとおりです。

  1. マイクで声を拾う
  2. ノートPCで音声を文字にする
  3. ローカルLLMが、会話の返事か、脚を動かすPythonプログラムを作る
  4. プログラムをディスプレイに表示する
  5. Raspberry Piでプログラムを実行し、サーボを動かす
  6. VOICEVOXで返事を読み上げ、身振りをつける

Raspberry Piが自分でWi-Fiのアクセスポイントを立て、ノートPCはそこにつなぎます。ロボットとPCだけの閉じたネットワークの中で完結するので、家や教室のネットワークがなくても動きます。

なぜローカルで動かすのか

子どもや家族の声を、外部のサーバーに送りたくなかったからです。クラウドのAIを使えば賢い返事は簡単に作れますが、教室や家庭で使うものなら、声や会話が外に出ないことのほうが大事だと考えました。

その代わり、使えるのはPCで動く小さなモデルだけです。賢さと返事の速さのバランスを取るのが一番の苦労でした。

つまずいたところ

  • 組み立てで、6本すべての脚先を上下逆に付けていた。 付属のプログラムの前提と合わなくなったので、脚の制御は自分で書きました。
  • サーボが壊れていた。 サーボだけの交換はできず、キットごと返品して買い直し、組み直しました。
  • 身振りをするとUSB機器がまとめて切れる。 電源不足と見て、アダプター付き(セルフパワー)のUSBハブにつなぎ替えました。
  • テレビの声を拾って勝手に返事をする。 マイクを単一指向性に替え、使う人の声を登録して聞き分けるようにしました。
  • 返事が遅い。 最初は大きめのモデルを使っていましたが、聞いてから話し始めるまでが長すぎました。ロボットは反応が遅いと何をしているのか分からなくなるので、小さなモデルに切り替えました。

おわりに

30年前、研究室の大きなロボットでやっていたことが、今は机の上でできます。それも、ネットにつながずに、です。プログラミングの入口として、子どもにも大人にも触ってもらえたらと思っています。

アラクネは、組み立て済み・ノートPC付き(届いてすぐ使える状態)で、BOOTH(algoi.booth.pm)とAmazonで販売しています。仕組みについての質問は、コメントでお気軽にどうぞ。


アルゴ知能情報研究所 森田 徹
大学で約23年間、情報工学とプログラミングの教育・研究に携わったあと、福岡県香春町でロボットを作っています。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?