戻る

作成日:20231209 更新:202415

前節で製作した筋電位アンプを使って筋電位を実際に計測し、その信号をESP32に入力してロボットカーやチョロQ、さらには小型のドローンであるTELLOをコントロールしてみましょう。プログラム作成をステップごとにおこないます。筋電位は筋肉が発生する電気活動(生体電気)です。腕の表面に電極シートをはりつけ、その信号を前節で作製したアンプで増幅して計測します。

この実習講義を受講することで、筋電位でチョロQやロボットカー、ドローン(TELLO)をコントロールできるようになります。この技術を応用することで、生物電気を測り、それを活用することが可能になります。たとえば、筋肉の動きで車いすをコントロールしたり、自宅の窓のカーテンを開けたり、することもできるようになります。このような応用は、障害を持ったかた、また高齢で体が動きにくくなった方の支援技術としても使うことができますし、実際に応用されている技術です。受講したみなさんは、そのような応用を考え、実際にそのような用途にも使ってもらいたいと思います。

この実験講義では、筋電位またはジョイスティックでチョロQを動かすところ(LESSON4)までを行います。次のようなブロックコードが書けるように勉強しましょう。
筋電位またはジョイスティックでチョロQをコントロールするコード例

左腕の筋電位を感知するとチョロQは前進、右腕の筋電位を感知すると後退(回転)するようにプログラムを作っています。

拡大映像

左腕の筋電位を検出するとドローンは離陸し、右の筋電位を検出すると、クルット回転(フリップといいます)して、着陸します。

拡大映像


以下のLESSONには、パスワードが必要です。

LESSON1:
  EMGをESP32に入力し値を表示してみよう

LESSON2:
 EMGの値を加算平均して表示してみよう

LESSON3:
  EMGの値を加算平均して表示し、閾値をこえるとLEDを点灯させよう

LESSON4:
  EMGの値を加算平均し閾値をこえるとLEDを点灯させチョロQを動かしてみよう

LESSON5:
  左右ののEMGの値をそれぞれ加算平均して表示し閾値をこえるとLEDを点灯させてチョロQを動かしてみよう
  ・BIPESによるブロックプログラミング
  ・ESP32のWiFiで無線で筋電位のデータをPCに送信しグラフで確認してみよう。また、筋電位が閾値をこえるとESP32のLEDが点灯する。

以下からは、ロボットカーを製作しておく必要があります。また、ESP32を介した通信技術が必要となります。

LESSON6:
  左右のEMGの値をそれぞれ加算平均して表示し閾値をこえるとLEDを点灯させてIR-LEDを介してロボット(mBot)を動かしてみよう

LESSON7:
  左右のEMGの値を加算平均して閾値をこえるとLEDを点灯させてBluetoothを介してロボットカーを動かしてみよう

LESSON8:
  左右のEMGの値をそれぞれ加算平均して閾値をこえるとLEDを点灯させてWiFiを介してロボットカーを動かしてみよう

LESSON9
  左右のEMGの値を加算平均して閾値をこえるとLEDが点灯させてWiFiを介してTELLOを動かしてみよう

参考:以下のような、チョロQやロボットカー、ドローン(TELLO)を制御するコントローラをつくる技術がこの講義で身につくと思います。
ESP32というマイコンを使うことにより、想像しているよりずっと簡単にコントローラをつくることができます。

筋電位アンプからの信号入力によって、チョロQやドローン、自作ロボットカーをコントロールするボックス。ジョイスティックでもコントロールができる。この講座で作成したプログラム(コード)をESP32にアップロードしてあります。

拡大写真

C++コード

Pythonコード

上と同じですが、大きめのボックスをつかったのでデバイスの配置に余裕があります。ESP32、DC-DC電圧降下、チョロQリモコン部、ジョイスティック、9V電源が見えます。

拡大写真

C++コード

Pythonコード