python pigpioライブラリでLED制御

LINEで送る
Pocket

python pigpioライブラリでLED制御

pigpioライブラリで、汎用のLED制御関数を作成した。

複数のLEDを制御する関数で、

(1)指定したLEDが同時に点滅調光するモード

(2)指定したLEDを順番に点滅調光するモード

 

の2つが利用できる。

パラメーター:

r:赤、g:緑、b:青(GPIO番号指定、点灯しない場合は、0(ゼロ指定))
ton:点灯時間、toff:消灯時間(秒)
duc:dutyサイクル指定(1〜100指定)
v:調光有無指定、0:調光無し、1:調光有り
c:同時点灯、順番点灯指定、0:同時点灯調光、1:順番点灯調光

 

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

例えば、

(1)普通の表情

(2)嬉しい表情

(3)寂しい表情

(4)怒った表情

をLEDの色、調光、点灯時間、消灯時間のパラメーターを設定して表現する。

この関数は、複数のロボットが会話する時に各々のロボットの表情を制御できる。

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

 

 

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

用途は、

複数のロボットで色々な案内をする
芸術作品の案内
観光地の案内
お店の案内
など様々な案内を複数のロボットが行います。

ロボットは会話に応じて喜怒哀楽の表現をします。

 

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