横浜医療情報専門学校ブログ

2007年12月 6日
 ■  ロボコンへ向けて【005】自律走行ロボット:ソフトでの制御の話

こんにちは、ふたたび情報工学科2年の中村です。
今回は自律走行ロボットのソフトウエアでの制御について書きたいと思います。

ロボコンへ向けて【003】でもお話しましたが、ハードウエアが同じでも走らせ方によって差が出ます。走らせ方は搭載するプログラムで決まります。いかにプログラムをうまく組み、ゴールするまでの時間を短縮するかボク達も毎日試行錯誤を繰り返しています。

ロボコンへ向けて【002】で青木さんがコース説明してくれましたとおり、コースは複雑になっていて右折、左折を何度もしないとゴールできません。ただモーターを回転させタイヤを動かすだけでは直進することしかできませんので右折、左折の判断が必要となります。
どう曲がるかと言いますと、コースのカーブ前には必ず黒い線が引かれていますのでこれを光センサー(車体の前方部分の青い場所)で感知して右へ左へ曲がるというわけです。
(光センサー)
1207-01.JPG

黒い線が1本だったらモーター右部分の動きを止め、左のタイヤだけを動かし車体を90度傾かせ右折
(黒い線1本を感知したら右折)
1207-02.JPG

黒い線が2本だったらモーター左部分の動きを止め、右のタイヤだけを動かし車体を90度傾かせ左折
(黒い線2本を感知したら左折)

1207-03.JPG
こういった感じでカーブするわけです。
ですが毎回90度ぴったりにカーブし、ずっと真っ直ぐ走れるというわけではありません。

もし反れて壁にぶつかってしまった際はどうするのかと言いますと、少し車体をバックさせ、ぶつかったほうと反対側へ車体を傾かせるようにプログラムが組んであります。

車体の先端の左右ににょきっと黄色い角のようなものがあるのが分かると思います。ここには左右に1つづつタッチセンサーが仕込まれていますので、壁に触れたことを感知することができるようになっています。
(タッチセンサー)
1207-04.JPG

基本的には、直進、右折、左折、壁にぶつかったときの軌道修正、ができればいいわけですが、頭で考えたプログラム(理想)と、実際に走らせたときの様子(現実)とは、異なります。ここがパソコンの中だけで楽しめるバーチャルな世界と、パソコンの外にあるものを動かして楽しむリアルな世界との違いです。

まだボクたちの車体「新横Rover」も完全に走れるわけではないので更に改善していく予定です。

プログラムは、LEGO-MINDSTORMS-RCX附属のRCXコードと、フリーソフトのbrickOS-C言語で組んでいます。


投稿者 iscs_blog : 2007年12月 6日 20:00

トラックバック

このエントリーのトラックバックURL:
http://blog.iwasaki.ac.jp/mt/mt-tb.cgi/783

コメント

コメントしてください




保存しますか?

(書式を変更するような一部のHTMLタグを使うことができます)