小学生も対象としたキットで、組み立てのための手順はしっかり考え抜かれていて組立・取扱説明書に従い誰でも10分くらいで組み立てられます。
次に示すように、13cm×13cm×3cmの箱に入ったキットは左に置いたライントレース・カーになります。
続きを読む "連載キットで作る(71) プログラミング学習用教材ロボット BeautoRacer(1)" »
キットに添付されている説明書
キットのCD-ROMには、次の説明書がpdfファイルとして添付されています。また取扱説明書のほかに、このロボット(BeautoRacer)とPCを接続してロボットのソフトを作成するためのBeautoBuilderRと呼ばれるソフトウェアがあります。
組み立て.pdf
4ページに渡る組立て・取扱説明書で、この説明書にしたがってロボットの組立てを行いました。5ページ目にはコースが用意されています。初級コース、上級コースが用意されています。
続きを読む "連載キットで作る(72)プログラミング学習用教材ロボット BeautoRacer(2)" »
ロボットのプログラムを作るためには
PCとロボットをUSBケーブルで接続して、次に示すBeauto Builder Rでロボットのプログラムを作りロボットに書き込みます。
続きを読む "連載キットで作る(73)プログラミング学習用教材ロボット BeautoRacer(3)" »
ロボットのプログラムを作る
先ず、ロボットを直進させてみます。直進のアイコンは1.5秒間直進するようになっています。そのデフォルトの直進アイコンでどのような進行状態を示すか確認します。
ロボットを接続してBeautoRacer Rを起動
ロボットの電源をオフにして、ロボットとPCをUSBケーブルで接続しBeautoRacer Rを起動すると、次に示すようなプログラムを作成するためのウィンドウが表示されます。
続きを読む "連載キットで作る(74)プログラミング学習用教材ロボット BeautoRacer(4)" »
ロボットのプログラムを作る(前に進む2)
前回、「1.5秒前に進む」を設定してロボットにプログラムを書き込みました。プログラムを書き込んだロボットを動かしてみます。
ロボットを動かすためには
ロボットには、次に示すように乾電池の電源をオン/オフするスイッチが用意されています。
続きを読む "連載キットで作る(75)プログラミング学習用教材ロボット BeautoRacer(5)" »
ロボットのプログラムを作る(曲がる)
今回はロボットのプログラムに曲がる処理を追加してみます。具体的な処理としては1mくらい先まで行ってUターンして戻ってくることを考えてみます。
最初に電源スイッチをONにしてから、ロボットを床に置く時間として1.5秒の停止
1.5秒前に進む、1.5秒右に曲がる、1.5秒前に進む
以上のアイコンを用意しました。
続きを読む "連載キットで作る(76)プログラミング学習用教材ロボット BeautoRacer(6)" »
繰り返し往復する
前回、1.5秒進んで、0.7秒曲がって戻ってくるプログラムでテストしました。前回はそれでよかったのですが、電池の電圧が下がると動きが鈍くなっているので、0.7秒ではUターンが完了しません。そのため、曲がる時間を0.7秒から1秒にしました。前に進む時間も少し増やしました。
続きを読む "連載キットで作る(77)プログラミング学習用教材ロボット BeautoRacer(7)" »
センサについて
ロボットには光センサが設置されています。設置場所は次に示す図のL、Rの文字の上の四角いマークの下の床に向いて設置されています。
続きを読む "連載キットで作る(78)プログラミング学習用教材ロボット BeautoRacer(8)" »
センサの動作確認
センサの動作確認はロボットの電源をOFFにして、USBケーブルで接続します。BeautoRacerRを起動します。ツールバーの横のPCとロボットの接続状態を示すメッセージが接続になると、センサエリアにセンサの出力が表示されます。次に示すように、センサの下に黒い紙を置いた時にこのセンサの値が変化するか確認して行います。
続きを読む "連載キットで作る(79)プログラミング学習用教材ロボット BeautoRacer(9)" »
ラインをたどる方法
ラインをたどって歩く方法を考えてみます。
(1) ロボットがラインの上にある場合は左右のセンサの入力は小さい値になっています。
この場合は、ロボットは前に進みます。
(2) ロボットが左にずれた場合、右のセンサがラインの上になりセンサの値が大きく
なります。この場合は、ロボットは右に曲がりラインの上から白紙に上に戻ります。
(3) ロボットが右にずれた場合、左のセンサがラインの上になりセンサの値が大きく
なります。この場合は、ロボットが左に曲がりラインの上から白紙に上にもどります。
この手順をフローチャートに書くと、次のようになります。
続きを読む "連載キットで作る(80)プログラミング学習用教材ロボット BeautoRacer(10)" »
アクション・ブロックLOOP
繰り返し処理を行うためのアクション・ブロックとして、LOOPというアクション・ブロックが用意されています。次に示すように、LOOPの上下二つのアクション・ブロックの間に繰り返すアクション・ブロックの処理を書き込みます。
LOOPの下のほうのアクションブロックに繰返す回数が設定されます。繰り返しの数は1から255までの任意の数を設定することができます。
それ以上の数は設定できませんが、終わりなく永久に繰り返すことができます。
続きを読む "連載キットで作る(82)プログラミング学習用教材ロボット BeautoRacer(12)" »
センサの動作を再確認する
基本的なアクションブロックのうちウェイトとランダムを除いて一通り動かしてみました。今回からこれらを利用した制御について考えてみます。今回は閉じた黒い丸い輪(コース)の内側をセンサでなぞりながら進む方法を考えます。
輪になったコースを反時計方向に回ります。そのため、左側のセンサでコースを検出してセンサがコースにかかると左に曲がります。
続きを読む "連載キットで作る(83)プログラミング学習用教材ロボット BeautoRacer(13)" »
BeautoBuilderの起動方法について
現在市販されているプログラミング教材ロボット(「Beauto Racer」CD-ROM・USBケーブル付)には、インストール・プログラム(BeautoBuilderR_Inst_001.exe)は格納されていません。CD-ROMに格納されているBeautoBuilderRの名称のフォルダをPCのハードディスクにコピーして、フォルダBeautoBuilder内のcl_edit_r.exeをマウスでダブルクリックしてBeautoBuilderを起動します。
ショートカットを作る
BeautoBuilderRを起動するたびにフォルダを開くのも手間がかかります。そのためcl_edit_r.exeを起動するためのショートカット作成し、デスクトップのそのショートカットをコピーします。以後デスクトップのcl_edit_r.exeのショートカットをダブルクリックしてcl_edit_r.exeを起動することができるようになります。
ショートカットを作るには、エクスプローラでcl_edit_r.exeをマウスの右ボタンでダブルクリックすると次に示すようにドロップダウン・リストが表示されます。
続きを読む "連載キットで作る(84)プログラミング学習用教材ロボット BeautoRacer(14)" »
左右両方のセンサを使用する
左のセンサだけ確認し楕円形のコースを回りました。この場合は左センサでは反時計方向の回転の制御はできますが、時計方向の回転ではコースを外れてしまいます。
こんどは、両方のセンサを使用してどちらの方向にも回れるようにします。
続きを読む "連載キットで作る(85)プログラミング学習用教材ロボット BeautoRacer(15)" »
コースの作成
キットの説明書の裏面に初級コースと上級コースが印刷されています。この上級コースのロボプロコーナーはグレイになっています。そのためコースの平面を保たないとセンサが正しい値を読めなくコースアウトしてしまいます。床にコースを広げて走らせると説明書の折り目のため少しでこぼこになります。
PCとロボットをUSBケーブルで接続し、Beauto Builder Rでコース上のグレイの部分と白紙の部分のセンサの出力値を確認しました。グレイの部分は、水平でないとコース上でも白紙上のセンサの値と同じ位の値になっていました。そのため、厚さ4mmのベニヤ板にコースを糊付けすることにしました。
ベニヤ板の準備(600mm×450mm×4mm)
次に示すような600mm×450mm×4mmの大きさのベニヤ板を用意しました。ホームセンタで290円の値札がついていました。
周囲を黒くしてレース場を飛び出したらわかるようにしました。つや消しのラッカーのスプレー缶で塗装しました。真中は省略して塗料を節約しています。
続きを読む "連載キットで作る(86)プログラミング学習用教材ロボット BeautoRacer(16)" »
両方のセンサが同じ値になったときを検出する
両方のセンサが白紙を検出
今回、両方のセンサが白紙の状態のとき、コースをまたいで両方のセンサがコース外の白紙の状態を検出している場合、またはコースを外れた場所を走っているときなどが当てはまります。
両方のセンサが黒のコースを検出したとき
両方のセンサがコースの黒を検出するとき、コースの交差点に入ったか、コースを横断するときなどが考えられます。この場合は、交差点への進入またはコースの横断、新たな進入ですからいったん停止とします。前項の両方のセンサが白紙を検出のときは遠慮なく前に進むことにします。
両方のセンサが状態を検出するためのプログラム
両方のセンサのチェックを次に示すようにして行います。まず左センサの状態をチェックします。その後右センサのチェックを行います。
続きを読む "連載キットで作る(87)プログラミング学習用教材ロボット BeautoRacer(17)" »
Windows7でBeauto Builder Rを動かす
10月22日、Windows7が発売されました。21日の夜中秋葉原でWindows7を買うために集まった大勢の人の中に混じって、Windows7のOEM版を購入してきました。USBの増設PCIカードと共に使う契約になっています。
早速PCIスロットにセットしWindows7をインストールしました。今までBeuto Builder Rが稼動していたWindowsVistaの環境にアップデートで今回購入したWindows7をインストールしました。
Beauto Buider Rは従来と同じように起動する
Beauto Builder Rは新しく、Windows7になっても同じように起動しました。ロボットのライントレーサを接続すると、次に示すようにドライバのインストールが始まります。
続きを読む "連載キットで作る(88)プログラミング学習用教材ロボット BeautoRacer(18)" »
モータの制御(PWM)について
ロボットのモータのスピードのコントロールに利用されているPWM(Pulse Width Modulation)制御とは次のような仕組みでモータのスピードをコントロールしています。モータの電源のオン/オフを高速で行い、通電時間と非通電時間の比率を変えることでモータに加えるエネルギーを制御しモータのスピードを変えます。
自転車を超低速でこぐ時に、ペダルを間歇的に漕ぐのと似たような仕組みです。
実際の、PWM制御は数百Hzから数十kHzの直流のパルスについて、パルスのオン期間とオフの期間を変えています。オンの期間とオフの期間の合計は基準となるパルスの周期と一致します。このロボットでは周期は、5msになっていました。
ロボットのモータに加わる電圧
60%の設定の時、モータに通電しているのはパルスのマイナス側に振れている期間です。
続きを読む "連載キットで作る(89)プログラミング学習用教材ロボット BeautoRacer(19)" »
上級者向け機能
Beauto Builder Rの見出しの中では上級者向け機能となっていますが、複雑なことを行っているわけでなく、曲がる場合のモータのスピードをコントロールしたり、左右の車輪のスピードを個別に設定するなど、今まで行った処理を組み合わせて利用できるようになっています。
また、計算を行ったり、計算結果や、データを保存することができます。この辺になると本格的な制御プログラムとなんら遜色なくなります。それがこのように処理の手順を並べることで作ることができるのです。
続きを読む "連載キットで作る(90)プログラミング学習用教材ロボット BeautoRacer(20)" »
上級者向き機能(2)
上級者向きの機能として追加したのは、次に示す3項目です。
演算ブロックを使う
速度や旋回量を変更できる車輪制御ブロックを使う
メモリ内容を表示する
メニューバーの「設定」をマウスでクリックし、上級者向け機能の仕様設定を選択すると、次のウィンドウが表示されます。
続きを読む "連載キットで作る(91)プログラミング学習用教材ロボット BeautoRacer(21)" »
上級者向き機能(3)
今回予定した上級者向き機能の計算ブロックを検討する前に、常にラインの上を辿るプログラムを考えてみます。今までのプログラムはラインから外れると、そのまま直進し続けてしまいます。
そのため、次に示すように右センサが常に黒いセンサの上になるように黒い線から外れると左に曲がるように設定しました。
続きを読む "連載キットで作る(92)プログラミング学習用教材ロボット BeautoRacer(22)" »
プログラム作成で便利な機能(1)
アクション・ブロックのコピー、移動
単一のアクションブロックの削除、コピー、移動は該当のアクション・ブロックをマウスでクリックして、アクション・ブロックを選択状態にして、ツールバーのコピーなどでコピーします。削除の場合はDeleteキーで選択されたアクションブロックが削除されます。
移動の場合は、該当するアクション・ブロックをドラッグして移動できます。
コピーしたアクション・ブロックは、ツールバーの貼付のアイコンをクリックすると、元のアクション・ブロックの近くに貼り付けられます。マウスでドラッグして所定の場所に移動します。これらの操作は、ほかのWindowsのアプリケーションとあまり変わりません。
複数のアクション・ブロック
一連の処理を示す複数のアクション・ブロックを選択してみました。次の左センサだけでライントレースしたプログラムです。このプログラムの左センサの処理の部分を選択し、ほいかの場所に貼り付けてみます。
続きを読む "連載キットで作る(93)プログラミング学習用教材ロボット BeautoRacer(23)" »
上級者向き機能(4)
計算ブロック
上級者向き機能のうち、今回は計算ブロックの機能の確認をします。計算ブロックは、次プログラムの右側に示す表にある、モータの速度から変数(a~h)までのメモリ・データのうち左右のモータのゲインを除いた全データを取り扱うことができます。
次のサンプルでは、「左モータの速度」と「右モータの速度」に計算ブロックを使用してモータの速度をそれぞれ設定し10秒間走らせています。その後比較のため1.5秒停止し、1.5秒直進し次に4.1秒間「右前に進む」で回転させています。
続きを読む "連載キットで作る(94)プログラミング学習用教材ロボット BeautoRacer(24)" »
上級者向き機能(5)
機能が追加されたIFのアクション・ブロック
上級者向き機能を追加した後、IFのアクション・ブロックをプログラム・エリアに設定すると次に示すように比較値として定数以外に、メモリ・マップのデータが利用できるようになります。
続きを読む "連載キットで作る(95)プログラミング学習用教材ロボット BeautoRacer(25)" »
上級者向き機能(6)
メモリ・マップのLEDを使用する
今回はメモリ・マップの中にあるLEDのエリアの数値を加算して、LEDの点灯の様子を確認します。
演算ブロックを貼り付ける
メモリ・マップのLEDのエリアの加算となります。そのためには、まず次に示すよう演算ブロックをプログラム・エリアに貼り付けます。
続きを読む "連載キットで作る(96)プログラミング学習用教材ロボット BeautoRacer(26)" »
上級者向き機能(7)
メモリマップのLEDを使用して「右前に進む」の動作を確認する
「右前に進む」のアクションブロックは、次に示すように0から100%までの設定値を変えることで直進から、その場での旋回まで任意の曲がり方を設定することができます。
次のように0%を設定すると、ロボットは直進します。
続きを読む "連載キットで作る(97)プログラミング学習用教材ロボット BeautoRacer(27)" »