mechatronics / robotics

ブログ

VEX IQ バンパーを使う

VEX IQのバンパーを使ってみます。メカニカルなプッシュスイッチです。 動作は非常に単純です。押されたら「PRESSED」,リリースされたら「RELEASED」と表示します。スイッチを押してからLCD画面の表示が切り替わるまで多少(0.1-0.2秒)のタイムラグがあるようでした。

VEX IQ ジャイロセンサーを使う

VEX IQのジャイロセンサーを使ってみます。ジャイロは「角速度」センサーですので通常は回転速度が得られるのですが、このジャイロはMODKIT for VEXIQを使う限りにおいては「角度」センサーとなります。角速度を積分した結果を角度として出力します。もともとが小中学生向けのロボットキットですので、角速度などは使う機会がないということかと思います。 角度出力はかなり正確です。内部のフィルタリングがうまく働いているのだと思われます。プログラム中に「calibrate」というのがありますが、これを入れないとジャイロのドリフト現象が顕著にでてきます。

VEX IQ 距離センサーを使う

距離センサーを使ってみます。形状からして超音波センサーです。片方の穴(スピーカー)から超音波を発して、物体に当たって戻ってきた音をもう片方の穴(マイク)で受信し、その時間差から距離を計算します。その計算はもちろんユーザーは気にする必要はなく、VEX IQのシステムが行い結果の距離を示してくれます。 測定された距離の制度はそこそこ正確ですが1〜2cmの誤差はあるようです。また測定範囲としては、だいたい50cm以上になると無限遠という判断になります。被測定物の材質はとくに選ばないようで、金属でも衣服でも同じ値が得られました。

VEX IQ カラーセンサーを使う

カラーセンサーを使ってみます。色をセンシングして結果を液晶画面に表示するプログラムです。 このプログラムでは細かい色のセンシングはできません。R(red)G(green)B(blue)それぞれの強さを測定して最も強い色が出力されるようです。黄色や紫のような中間色は「NONE」と出力されます。また自然光は「BLUE」となる傾向がありました。いろいろ実験しましたが、測定可能な距離は最大10㎝程度でした。 RGBそれぞれの値を取り出す方法は後日調べてみたいと思います。

VEX IQ タッチセンサーを使う

タッチセンサーを試してみます。静電容量式のもので、フルカラーLEDが仕込まれていて光らせることができます。 プログラムは、最初にLEDの色をGREENに設定し、タッチされたらLEDを点灯、タッチが離れたらLEDを消灯という内容です。それぞれのプログラムパートは独立していますので、イベントドリブンな考え方でプログラムできます。

VEX IQ 車輪走行

VEXIQのプログラミングは、MODKIT for VEXIQというWEBベース(modkit.com)の開発環境で行ないます。こちらはビジュアル系の小中学生向けの環境ですが、別にROBOTCというC言語での高度な開発に対応したものもあります。今回はMODKITのサイトに初心者向けのチュートリアルがありますのでこれにそって進めていきます。まずはいきなりロボットを動かすことはせずに、コントロールボックス(VEXIQ Brain)の液晶画面に「HELLO」と表示させます。 プログラミングといってもMODKITの場合はいろいろなプログラム部品をぺたぺたと画面に貼付けていくだけですので、初めての人でも問題なくできると思います。Scratchの発展形ということです。 こちらは「HELLO」プログラムの画面で、「HELLO」と表示 -> 改行 -> 1秒待つ を永遠に繰り返すという内容です。初心者向けとはいえ、考え方は普通のプログラミング言語と同じです。 コントロールボックスへのダウンロードやプログラムの実行も画面上のボタンをクリックするだけです。ダウンロードは、コントロールボックスに(ソフト的な)スロットというのが4つあって、異なるプログラムを4種類入れておくことができます。最初のダウンロードはUSBケーブルで行ないますが、後からプログラムを実行するときにはUSBケーブルをはずしてコントロールボックス上のボタンを押します。 もちろん開発途中のプログラムをセーブすることもできます。 次に車輪ロボット(Drivetrain)を動かすプログラムです。まだセンサー類を何も使っていないこともありますがこちらも簡単で、直進(drive)と旋回(turn)のプログラム部品を貼付けるだけです。10cm進む -> 180度旋回 -> ストップ を繰り返すプログラムです。旋回角度はモーターボックス内のエンコーダーをカウントしているのだと思います。当然のことながらぴったりの角度にはなっていません。

VEX IQを入手。ファーストインプレッション

米国Innovation First社が販売する教育用ロボットシステムVEX-IQを入手しました。簡単に言うとLego Mindstormsに似たロボットシステムで、ブロック部品を組み立てプログラムして動かすことができます。グレーと青を基調とした渋い色使い、各種センサーとモーターを任意に接続できる12個のポートを持つコントロールボックスなど、玄人好みの構成となっています。今回入手したのは「Starter Kit With Sensors」というセットで$249.99+送料でした。 まずは基本となる台車を組み立てます。 衣類ケースのような大きめの箱に収められています。 中身は組み立てガイド、部品表などが3冊、あとはすべて部品です。割と無造作なパッケージングです。 取説にしたがって最初のロボット「Clawbot(ハサミムシロボット)」を組み立てていきます。説明は英語で書かれていますが、絵をみればわかるので英語がわからなくても全く問題ないでしょう。グレーの四角いものがモーターボックスです。これはエンコーダーを内蔵しておりさらにサーボ的な使い方もできるようです。 とりあえず最小限の部分が完成です。左右の後輪がモーター出力に直結、前輪は後輪からギアで駆動(減速比1:1)されます。初めてだったので部品さがしに手間取りながらもここまで20〜30分だったと思います。部品と部品の結合はスナップフィット(パッチン止め)のピンで行いますので組み立ての感触は良好です。 次回プログラムして動かします。

HMC5883Lでロボット方向制御(3)

前回ギアードモーターを使った車輪ロボットで正方形を描いてみましたが、良い結果は得られませんでした。地磁気センサー出力の直線性の悪さが主要因でした。それに加えてギアの減速比が小さくて車輪のトルク不足となっていたことがありました。 今回は駆動系にラジコンサーボを使ってみました。ラジコンサーボは通常出力軸と連動するボリュームの抵抗値を読んで目標値との差でサーボをかけています。ボリュームには最小値と最大値があってそこで値が不連続となりますから、機構的にも不連続部分を使わないように出力軸にストッパーを設けています。車輪のような連続回転で使用するためにはこのストッパー(ボス/突起)をカットする必要があります。 モーターの駆動はモーター端子から線を引き出して自分で制御してもよいですが、せっかくサーボ用の電子回路がありますのでこれを利用します。電気的な改造は、ボリュームにつながっている3本線(電源・信号・グランド)をはずして電源―信号間、信号―グランド間に同じ値の抵抗(例えば10kΩ)をつなぎます。この状態でいつものサーボ制御信号(PWM)を送れば、センター狙いのPWM幅(通常は1.5msecなど)なら停止、それ以外ならセンター値との差に応じたスピードで連続回転します。比例にはなりませんが、方向制御に使えるぐらいの相関関係です。ボリュームの読みと目標値との差を詰めようとして頑張って回転するけどいくらがんばっても差が縮まらないという、S系の制御方法です。 グラフの横軸はPWM幅、縦軸は回転スピード(目測)です。 正方形の描画結果はやはりダメです。走行感は向上したのですが方角のリニアリティの問題が残っているためです。

HMC5883Lでロボット方向制御(2)

HMC5883Lで車輪ロボットの方向制御を行ない、図形(正方形)を描かせてみました。センサーは地磁気センサーのみですので移動距離は時間管理です。やはり角度の誤差が大きすぎてまともな描画はできないようです。 ペンを支えている白い部品は3Dプリンターで製作しました。これぐらいのものですと、設計20分、製作30分といったところです。金型品のような質感はありませんが気軽に作れるので重宝しています。 下記はmbedのコードです。イニシャライズ->キャリブレーション->走行、と動作モードにより動かします。地磁気センサーは-PIからPIの値が出力されますので出力範囲の両端をまたいで回転した場合(値が極端に変化)はそれをカウントして連続的に何回転でも計測できるように工夫しています。

iPhoneでOptical Flow

*別ブログに既出記事の再掲です。 iPhoneでのオプティカルフローの参考例がネット上で見当たらなかったので、がんばって挑戦してみました。cvCalcOpticalFlowFarnebackを使っています。 下記のページなどを参考にさせていただきました。AVCapture関連のところはほぼそのままです。 ・OpenCVを利用したリアルタイムフィルタリングの基本 下記コードです。すべてViewControllerに入れています。

Page 12 / 13«111213
contact


ゲームでプログラミング入門!


自作派のための本格指南書
好評発売中です

PAGETOP
Copyright © Meuse Robotics All Rights Reserved.
Powered by WordPress & BizVektor Theme by Vektor,Inc. technology.