曲げセンサーを用いたアームロボットの作成
３年Ａ組
指導教諭

庄野
末谷裕貴
健志

１．要約
曲げれば抵抗値の変わり、曲がり具合を検知できる、いわゆる「曲げセンサー」を用いて、手の動きに連動して動くアームロボットの作成に成功した。
キーワード

曲げセンサー、H8、サーボモーター、AD 変換、アームロボット

２．研究の動機
昨今、ロボットが身の回りにも様々に登場するようになった。
調べてみると、その構造は比較的単純で、ある程度の知識と技術があれば製作が可能なように思えた。そこで、手始めにアームロボット（手の指などの基本的な構造を備えたロボット）に注目し、実際に制作してみた。
３．研究目的
次の条件を満たすアームロボットを製作する。
① 手の動きと連動してロボットが動くこと② 安価であること

図１

H8H8 は、マイクロコンピューターの一種であり、書き込まれたプログラムに従って、サーボモーターなどの動作に必要な信号をはき出す。プログラムは改変が可能で、安価で手軽なハードウェアコントロールとして、ロボットに限らず、多くの家電製品に採用されている。

４．仮説
曲げセンサーをインターフェースに用いることで、直感的に操作が可能な手の動きと対応するアームロボットをつくることができる。
５．研究内容≪研究１≫可変抵抗を用いたアームロボッ
トの製作
テキストを参考にして、製作した。このテキストに紹介されていたロボットは、３つの部分から構成される。
①H8(マイコン)②サーボモーター③可変抵抗
アームロボットに限らず、基本的なロボットの構造および動作には、この３つがあれば良い。それぞれを以下に簡単に説明する。

図２

サーボモーター

アームロボットが何かものをつかむためには、手の関節のように曲がる必要がある。
これを実現するのがサーボモーターである。
一般的な DC モータとは異なり、ある程度負荷がかかっても、指定した角度を保つことが可能である。当然、DC モータのように電流を流せば動く、という単純なものではなく、角度制御に必要なパルス信号を入力しなければならない。本研究では、このモータを３つ使用した。

可変抵抗との違いを調べた。
曲げセンサーは、曲げセンサーの真ん中で曲がることによって、アナログ信号を出すので図５のように分度器をあてながら、曲げセンサーを曲げ、測定した。

図３

可変抵抗

可変抵抗は、つまみのまわり具合で、抵抗値が変化する。一定電流を流しておくことで、抵抗値の変化により、H8 に入力する動作電圧を変化させることができる。
≪研究２≫ 曲げセンサーを用いたアームロボットの制作
研究１を土台にして、曲げセンサーを用いたアームロボットを製作した。研究１における可変抵抗を曲げセンサーに変更する。
すなわち、構成としては、① H8(マイコン)② サーボモーター③ 曲げセンサー

図５

測定の様子

曲げセンサーについて、簡単に説明する。

図４

曲げセンサー
図６

曲がり具合による抵抗値の変化

曲げセンサーは曲がり具合によって、抵抗値が変化するインターフェイスである。

図６の上側は、曲げセンサーの曲がり具

今回曲げセンサーを使用するにあたって、合によって抵抗値が変化することを示すグラフである。このグラフより、１°あたり33Ωずつ抵抗値が増えている。
図６の下側は可変抵抗のボリュームのまわし具合によって抵抗値が変化することを示すグラフである。このグラフも１°あたり30Ωずつ抵抗値が増えている。
これらより両者とも操作に対して抵抗値が同じように直線的に変化している。した図８

アームロボット

がって、この研究以前に制作したアームロボットの可変抵抗部分をそのまま曲げセンサーに置き換えることが可能であると考えた。

６．結果（１）製作結果≪研究１≫

図９

可変抵抗を動かすことによって、３つの各サーボモーターを制御することができた。

（２）制作費用
H8・・・1,600円≪研究２≫
曲げセンサーを動かすことによって、３つの各サーボモーターを制御することができた。曲げセンサーを手袋に縫いつけ、こサーボモーター・・・1,600円×３
曲げセンサー・・・2,200 円×３
可変抵抗・・・70 円×３
合計 13,000 円

れを手にはめて動かすことにより、研究１よりも、アームロボットを直感的で分かりやすく操作ができた。

８.まとめと今後の課題
曲げセンサーというインターフェイスを用いて、人間の手の動きに対応して動くアームロボットの制作に成功した。曲げセンサーを用いれば、さらにさまざまなものを直感的に操作できると考えている。具体的には、サーボモーターを制御したときに使用したデジタル信号を用い、通常のモーターを制御し、ラジコンカーを直感的に曲げセンサーでコントロールしたい。

図７

９.参考文献[1]「ぼくらのマイコンロボット・ロボット工作」、横井浩史、松下光次郎共著、

CQ出版

TW. TMRW. BIT .CKS =1
TW. TCRW. BIT. TOB=1

10.謝辞
この研究を進めるにあたりハードウェア

TW. TCRW. BIT . TOC =1
TW. TCRW . BIT. TOD =1

技術やプログラミング技術などに関して、TW.GRA =40000

さまざまな方々に助けていただきましたが、TW. GRB =1400

特に物理班の顧問である末谷先生とMITのTW. GRC=1400

研究員である松下光次郎先生には数々のごTW.GRD =1400指導をいただきました。先生方に深く感謝

TW. TMRW.BIT =1します。

（上の命令はサーボモーターに最初の信号を設定している。）

11.資料AD. CSR. BIT.ADST=0（１）動作原理

AD. CSR. BIT. SCAN=1
AD. CSR. BIT. CKS=1
AD. CSR. BIT. CH=2①②③

関節を曲げることによって曲げセンサ（上の命令はアナログ信号をデジタル信号に変えーが曲がる。

るための初期設定をしている。）

曲げセンサーが曲がると電圧が変化し、While(1)

アナログ信号がH8に送られる。

if (TW. TSRW. BIT. IMFA==1)

H8の中でアナログ信号がデジタル信TW. TSRW. BIT . IMFA=0号に変換され、デジタル信号がサーボ

AD.CSR.BIT. ADST=1モーターに送られる。

while(AD.CSR.BIT. ADST ==0)

④ デジタル信号をうけて、サーボモーターが回転する

AD. CSR. BIT . ADF=0
AD. CSR. BIT. ADST=0（２）H8の制御命令と説明（上の命令はアナログ信号をデジタル信号に変え#include <3664.h>ている。）

void main (void)x0=(int)(AD.DRA>>8)

int x0,int x1 ,int x2

x1=(int)(AD.DRB>>8)（上の命令はアナログ信号をH８に送るさいに使

x2=(int)(AD.DRC>>8)

用するピンを設定している。）（上の命令はH8がアナログ信号からデジタル信号

TW. TMRW. BIT .PWMB =1に変換した値を読み取っている。）

TW. TMRW. BIT .PWMC =1

TW. GRB=1400＋（x0）×25

TW. TMRW. BIT .PWMD =1

TW.GRC= 1400＋（x1）×25（上の命令はH8からサーボモーターに送るさいにTW.GRD=1400＋（x2）×25使用するピンを設定している。）（上の命令は読み取った値もとにサーボモーター

TW. TMRW. BIT .CCLR =1を動かす命令である。）