サーボモーターの動きでロボットの喜怒哀楽を表現

LINEで送る
Pocket

サーボモーターの動きでロボットの喜怒哀楽を表現

 

pythonの「pigpioライブラリ」で、汎用のSERVO(サーボモーター)制御関数を作成した。

サーボモーターを制御する関数で、
(1)モード0:大きく動く【喜怒を表現】
(2)モード1:小さく動く【哀楽を表現】]

 
の2つのモードを利用できる。

パラメーター:

md: モード[0:大きく動く【喜怒を表現】、1:小さく動く【哀楽を表現】]
acw:反時計回り角度(0~-90°)
cw:時計回り角度(0~90°)
pw:パルス幅(動き幅:0.1以下)
cst:停止時間(秒)
pin:GPIOピン番号(0~31)

ロボットの性別、喜怒哀楽をサーボモーターの動きで表現するための関数で、パラメーターを細かく設定することで、ロボットの表情(喜怒哀楽)を表現することができる。

例えば、
(1)普通の表情
(2)嬉しい表情
(3)寂しい表情
(4)怒った表情
をこのサーボモーター制御関数のパラメーターを設定して表現する。
この関数は、複数のロボットが会話する時に各々のロボットの表情を制御できる。

サーボモーターの他に、pigpioライブラリでLEDの制御を細かくすることでロボットの表情(喜怒哀楽)を変えることができる。

 

 

群馬プログラミングカレッジでは、複数ロボットの会話システムを開発しています。

用途は、
複数のロボットで色々な案内をする
芸術作品の案内
観光地の案内
お店の案内
など様々な案内を複数のロボットが行います。
ロボットは会話に応じて喜怒哀楽の表現をします。

LINEで送る
Pocket

複数ロボット会話システムの開発

LINEで送る
Pocket

複数ロボット会話システムの開発

複数のロボットがお互いに会話するシステムです。

 

 

システム構成:

  • インターネットに複数のロボットを接続
  • 各ロボットは、クラウドのAI自然会話Webサービス、音声認識Webサービスに接続
  • 各ロボットは、ロボットの会話の同期など制御するサーバに接続
  • サーバーは、NTTコミュニケーションズのBizメール&ウェブビジネスサーバー
  • データベースは、MySQLサーバー

ロボットのハードウェアは、Raspberry Pi(ラズベリーパイ)とArduino(アルドゥイーノ)、マイクロホン、スピーカー、LED2個、サーボモータ3個で構成

ロボットの開発プログラム言語はpython
Arduinoの制御言語はC/C++言語
ロボット会話制御Webサービスは、PHP言語

 

会話モード:
(1)シナリオ会話モード(今回開発完了)
(2)AI自然会話モード(開発開始)

シナリオ会話モードは、複数のロボットが会話するシナリオをサーバーに配置して置き、各ロボットは会話を開始時にサーバーからシナリオをダウンロードしてローカルファイルに格納する。

各ロボットはシナリオに沿って、同期を取りながら会話をする。
同期の制御などは、サーバー上のWebサービスプログラムが行う。
各ロボットは同時に発話することもできる。
ロボットの音声は「喜怒哀楽」を表す4種類の発声を行うことができる。
複数のシナリオを登録して置き、そのシナリオを繰返し会話をすることができる。
参加するロボットの数は制限がなく1台のロボットからn台のロボットに会話を行わせることができる。

シナリオ会話モードの利用シーン:
展示会での作品の案内
観光地の案内
会場の案内

など、様々な案内を人に代わってロボットが案内できる。

AI自然会話モードは、複数のロボットがAI自然会話をお互いにするモードで、「ある特定のテーマ」を与え、このテーマに関連する自然会話を行う。
「ある特定のテーマ」は、インターネット上のある「特定テーマ」関連情報をロボットが自動収集(キューレーション:curation)して、その情報を基に他のロボットへ発言して、お互いに会話を進める。
会話内容はサーバーのMySQLデータベースに記憶する。
ロボットは、新たな言葉(名詞)が投げかけられるとその言葉を記憶していき、徐々にボキャブラリーを自ら増やしていく。
このような学習機能を持たせることで、複数のロボットの会話がどのような結果を導くかは、興味ある。

 

自分の会話ロボットとこのシステムの会話ロボットとインターネット上で会話したいという方は連絡ください。
会話のWebサービス仕様をお伝えします。

 

LINEで送る
Pocket