そもそもこのGPSロボットの製作を思い立ったのは一昨年の冬、室内用の自律ロボット製作が一段落して次に製作するロボットの仕様を考えていた頃でした。そのときは、漠然と次回製作のロボットは屋外を自律走行できるものを考えていたのですが、その後障害物のない洋上を自律航行で自由に走り回れるロボット船を開発できないものかと考えて思い浮かんだのがGPSロボットです。
当初はGPSの仕組みもまったくわからず、筆者の知識と製作技術ではたして実現可能かどうかも判然としませんでした。その後、一年ほどかけてネットでGPSの情報を集めた結果、筆者の知識でも何とかものになりそうな気がしてきて、予備段階として陸上でテストできるロボット・カーの製作に取りかかったのは2007年の年もおしせまった12月のことでした。
早速購入したのは、Strawberry Linuxから販売されているGPSモジュールでした。このモジュールは、5.5V電源で動作するので、筆者がロボットに使用している秋月電子製のH8-3052Fマイコンと電源を共用できるので好都合です。今回は、このGPSモジュールをロボット制御に活用する上での基本的な事柄について述べてみたいと思います。
続きを読む "GPSロボット・カーの製作(第1回:GPSモジュールとパソコンをつなごう)" »
筆者のGPSロボット・カーの開発は、制御プログラムの開発からスタートしました。参考までに、筆者がGPSロボット・カーの自律制御に成功したプログラムを公開します。
gps_x2.cがプログラム本体で、
gps_x2.hは頻繁に使う処理プログラムを関数化してヘッダ・ファイルにまとめたものです。
ロボットに使用するマイコンは秋月電子製AKI H8-3052F、開発環境はフリーのベストテクノロジー社のGCC DEVELOPPER LITEを使用しています。
続きを読む "GPSロボット・カーの製作(第2回:GPSデータ処理プログラムの解説)" »
前回のデータ処理プログラムによって、やっとGPSモジュールから送られてきたテキスト・データをマイコンで計算処理できる準備が整いました。ここからは、ロボットの現在位置から見た目標地点(way point)への方角をマイコンで計算し、算出された方角にロボットを向かわせるようロボットに搭載されたステアリング・サーボを制御するプログラムの解説です。
さて、ロボットを設定した目標地点に向けるには、ロボットの現在位置から見た目標地点の方角とその時点におけるロボットの進行方向のデータが必要です。それをわかりやすくしたのが下の図です。
この例では、ロボットの現在位置を座標の原点に置き、そのときの進行方向が北から東向きに10度だとします。その原点から見た目標地点の方角が北から東向きに25度だと仮定すると、ロボットを目標地点に向けるためには進行方向を東向きに15度補正する必要があります。この計算を、GPSモジュールからのデータが更新されるたびに実行することによって、ロボット・カーは最終的に目標地点に到達することになります。
続きを読む "GPSロボット・カーの製作(第3回:制御プログラム解説)" »
前回の解説では、ロボットの位置を原点としたウェイ・ポイントの北からの方角を算出する方法を説明しました。しかし、この方角はロボットが停止している場合は有効ですが、ロボットが動いている場合はその進行方向とウェイ・ポイントの方角の差(方位偏差)を修正しないと、正しくウェイ・ポイントの方向に向きません。
今回は、この部分のプログラムについて解説します。
続きを読む "GPSロボット・カーの製作(第4回:方位偏差の計算とサーボ制御)" »
今回のGPSロボット・カーの開発は、GPSプログラム・システムの開発からスタートしました。したがって、プログラムが完成した時点ではまだロボット・カー自体は存在せず、システムの完成後やっと車体の設計と製作に取りかかった次第です。
当初はRCカーの改造も考えましたが、はたして市販のシャーシに自作ボードを搭載するスペースを確保できるかどうか不安があり、ついでに車体も自作することにしました。車体の走行性能に目をつぶりさえすれば、搭載する機器を自由にレイアウトできるのが最大のメリットです。下の図は設計途中のメイン・シャーシの図面です。
続きを読む "GPSロボット・カーの製作(最終回:車体の製作)" »