ブログ

社長のブログです。

ブログ一覧

TOF距離センサー

TOF(Time Of Flight)方式の距離センサーが流行り始めました。これは光が反射して帰ってくるまでの時間を計測して距離を知るもので最近アマゾンでもセンサー部分は5000円程度で販売されています。精度の良い測定となるとしっかりしたプログラムを書かないと安定した距離データは得られません。

㈱ベストテクノロジーがソフトを含めた距離センサーを開発したので、これを使ってみました。
Dynanixelと同様にシリアル通信でデータを得ることができます。またAnalog出力もあるのでArduinoでも簡単に使用できます。


今回は写真上ように小型サーボ(SG90)を2個組み合わせて、このセンサーをスキャンしながらデータを取ってみました。


センサーからの距離1mまでを10分割し、0から9までの数字でモニターに表示しました。また1m以上を'*'で表示しました。'C'はスキャンの行きの終わり'e'は1工程の終わりを示します。行きと帰りが一行であらわされています。サーボのスピードを早くするとサーボが追いつけなくなり左右が対象ではなります。
 このモニター画面ではほぼ対象な状況ですが、90度を往復するのに2秒ほどかかってしまいます。ROBO-ONE autoで使用するためにはスキャンスピードを上げる必要があります。その場合はサーボの角度データを読み、角度と距離の関係をキッチリ求めるなど複雑になります。

PWMサーボを使ってきましたがロボット用途には限界があるようです。やはりROBO-ONEで主流であるシリアルサーボを使うのが今後の方向でしょう。

2017年09月08日

16チャンネルPWMサーボモータドライバー

ROBO-剣では最大6軸もあれば充分でArduinoボード上のPWM出力で対応できます。しかしROBO-ONEに参加する二足歩行ロボットを作るには16~24軸が必要です。
写真は16チャンネル 12-ビット PWM Servo モーター ドライバー IIC モジュールボードの写真です、I2CでArduinoボードと接続し、PWMを16軸分出力できます。2個つなげば32軸分の出力が可能となります。

 

以下よりライブラリーをダウンロードすれば簡単に動作します。

https://github.com/adafruit/Adafruit-PWM-Servo-Driver-Library

このサンプルプログラムの中にサーボを一個づつのこぎり波で駆動するプログラムがあったので、それを16軸同時に動かせるようにしてテストを試みました。が、サーボモータの手持ちが9個しかなかったので、9個を同時期駆動で、サーボモータへの影響を確認しました。耐乱用試験を実施することで、過酷なROBO-ONEの試合中のトラブルを予知できます。最近の中国産のサーボの品質は高くなっていることが確認できました。


2017年07月26日

ROBO-剣はおもしろい。

ROBO-剣が7月16日に神奈川青少年センターで行われました。

画像処理は当然ながら人工知能搭載ロボットも出てきました。カメラで相手の動きを見て攻撃ができるようになるにはもう少し時間がかかると思っていましたが、人が戦っているように見えるから面白い。現在はパソコンを使用していますが、ラズパイ程度でも十分に使えそうになってきました。来年の競技規則がどう変わるか楽しみです。

 

2017年07月19日

ROBO-剣用3軸ロボットアーム

6/30がROBO-剣の参加申し込み締め切りということですが、しっかりとサーボモータの特性を理解していれば7/16の大会に向けて製作は十分に間に合います。

最近の低価格のサーボモータの特性はどうなっているのか調べるために下記サーボを購入しました。
TOWER PRO MG996R 回転角180°(\1,630.-)
Quimat LDX-218 回転角180°(\2,200.-)
Kuman KY72-1 回転角270°(\2,199.-)
これらに合うメタルホーンも販売されています。
ANBE製のメタルホーンブラケットセット(¥699.-)

サーボモータが多関節ロボットに使えるかどうかは実際にサーボモータを組み合わせて使ってみるのが一番です。
まず多軸で使うには電源ラインと信号ラインをしっかりと配線しておく必要があります。
次の写真は電源をサーボモータに供給するためのインターフェイスボードです。Arduinoでは6チャンネルのPWM出力端子があります。これをすべてコネクターに取り出しました。

次の写真は3軸のロボットアームをありあわせの部品で作成したものです。このロボットアームに加えて転がっていたサーボモータを追加して全部で6個のサーボモータを同時にサインカーブで加減速しました。12V5Aの電源では3個のサーボを駆動するのが限界でそれ以上接続するとサーボモータのCPUがリセットされました。11.1V 2000mAh 20Cのリポを使えば6個でも問題なく動作しました。計測していませんが大きな電流が流れて電圧降下が大きいのだと思われます。

2017年06月28日

サーボモータをサイン波で動かす。

サーボモータをサイン波で動かしてみます。
ROBO-剣のようにロボットアームをすばやく振り回す競技においては、動き始めや停止させる時にサーボモータに大きな負荷がかかります。ここで加減速を使うとこの負荷は減りサーボモーターがガタガタ振動することはありません。この加速、減速にサイン波を使います。

写真がプログラムです。モニターにはサーボへの指令角度が表示されます。
サーボモータは0度から180度までを加減速しながら往復します。

2017年06月27日
» 続きを読む