Category Archives: ロボット

第1回 ROBO-ONE Light 参戦結果

3月20日(土)、川崎市産業振興会館にて開催された「第1回 ROBO-ONE Light」に参加してきた。これは、認定された市販機または1kg以下の自作ロボットが出場できる格闘技大会。ROBO-ONE本戦のレベルが高くなってしまい、初心者が参加しにくくなってしまったために、新たに設けられたカテゴリである。
Read more

リモートカメラで打上げを撮る!~H-IIAロケット15号機の巻(中編)

○では実際に作ってみる

サーボモーターのカメラへの取り付けは、近所のホームセンターで購入したクランプと金具を組み合わせることで、簡単にできた。サーボモーターは、余っていた「KRS-788HV」を使用した。トルクはそれほど必要ないので、これで十分。カメラはパナソニックの「DMC-FZ3」を使っている。

最初に、土台となる金具をクランプでしっかり固定 その上に、シャッターの位置にあわせてサーボを取り付ける

リレーはパナソニック電工のフォトMOSリレー「AQZ102」を購入。ちょっと高い(といっても700円くらいだが)ので、使い回しができるようにソケットも利用した。これを、KCB-1のデジタル出力から制御して、外部バッテリからカメラに電源を供給する。カメラ側の電源スイッチをONにしておけば、供給開始と同時にカメラを起動できる。

フォトMOSリレーのほか、ケース、コネクタ、ピンヘッダ、基板なども購入 システム構成。マイコンで、サーボの動作と、カメラの電源供給を制御する

開発したプログラムはこちら。原因は良く分からないが、タイマーの誤差が結構大きく、1時間で実際よりも12秒ほど早く動作してしまう。ただし、この誤差はランダムではなく、毎回一定なので、運用でなんとかできる感じだ。

remote.c

#include <led.h>
#include <pwm.h>
#include <wait_timer.h>
#include <pio.h>
#define target_hour 24	//システム起動(時)
#define target_min  50	//システム起動(分)
#define start_hour  03	//タイマー始動(時)
#define start_min   45	//タイマー始動(分)
void main(void)
{
cpu_init();			//CPU初期化
ledgrn_on();		//緑LED点灯
wait_timer_init();				//タイマー初期化
pwm8_init(PIO0, PWM_F8, 77);	//PWM初期化
ledred_on();		//動作確認用の点滅
wait_timer_sec(1);
ledred_off();
wait_timer_sec(1);
ledred_on();
wait_timer_sec(1);
ledred_off();
//指定時間だけ待機
wait_timer_min(target_hour*60+target_min-start_hour*60-start_min);
//カメラ電源投入
pio_out(6, HIGH);
//カメラ起動待ち
wait_timer_sec(10);
//撮影開始
pwm_start(PIO0);	//PWM出力開始
pwm_out(PIO0, 38);
wait_timer_sec(1);
pwm_out(PIO0, 42);
wait_timer_sec(1);
pwm_out(PIO0, 38);
//指定時間だけ撮影
wait_timer_min(30);
//撮影終了
pwm_out(PIO0, 42);
wait_timer_sec(1);
pwm_out(PIO0, 38);
wait_timer_sec(1);
}

wait_timer.h

#include <timer.h>
_Bool			flg_timer;
unsigned long	cnt_timer;
void wait_timer_init(void);
void wait_timer_ms(unsigned long);
void wait_timer_sec(unsigned long);
void wait_timer_min(unsigned long);
void wait_timer_hour(unsigned long);
void wait_timer_day(unsigned long);
// タイマー初期化
void wait_timer_init()
{
cpu_int_set();
ta0_set(FQ10Hz);
}
// 指定時間(ms)だけ待つ関数 ※最小単位は100ms
void wait_timer_ms(unsigned long ms)
{
cnt_timer = ms / 100;
flg_timer = TRUE;
ta0_start();
while(flg_timer) {};
ta0_stop();
}
// 指定時間(秒)だけ待つ関数
void wait_timer_sec(unsigned long sec)
{
wait_timer_ms(sec*1000);
}
// 指定時間(分)だけ待つ関数
void wait_timer_min(unsigned long mi)
{
wait_timer_ms(mi*60000);
}
// 指定時間(時間)だけ待つ関数
void wait_timer_hour(unsigned long h)
{
wait_timer_ms(h*3600000);
}
// 指定時間(日)だけ待つ関数
void wait_timer_day(unsigned long d)
{
wait_timer_hour(d*24);
}
// 割り込みルーチン
#pragma INTERRUPT /B ta0_int(vect=21)
void ta0_int()
{
if (--cnt_timer==0) flg_timer=FALSE;
}

動作のテスト。指定時間にカメラの電源が入り、起動を待ってから、10秒後にシャッターを押す


後編に続く。

リモートカメラで打上げを撮る!~H-IIAロケット15号機の巻(前編)

H-IIA/Bロケットの取材時、我々プレスが打上げを撮影しているのは、主に竹崎展望台である。安全のため、射点から3km以内への立ち入りは禁止されているので、この竹崎展望台もそれ以上の距離にあるのだが、じつは、もっと近くから撮影する手段があるのだ。

種子島宇宙センターの竹崎展望台。ここにプレスセンターがあり、屋上から撮影できる ここから、肉眼に近いイメージだとこんな写真になる。ロケットがかなり遠くに小さく見える

今年1月、私はRobot WatchでH-IIAロケット15号機の打上げを現地・種子島より伝えた。取材する一方で、このとき、じつはそれを試していたのだ。

その手段とは、リモートカメラによる自動撮影。本レポートは、ロボット技術を活かしてこれに挑戦した顛末記である。

○まずは要求仕様をまとめる

細かいところは打上げごとに異なっている可能性もあるので、以下はH-IIAロケット15号機の場合として、話を進めたい。

プレスに配布された取材要領を見ると、使用可能なカメラについては、タイマー式、音響感知式、光感知式等の起動方式によるもの、と記されている。無線はロケットの機器に影響が出る恐れがあるため、一切使えないのだ。タイマーによるタイミングか、センサーによる反応で撮影するしかない。

撮影場所に電源は用意されていないので、バッテリも考える必要がある。ここで問題になりそうなのは、スタンバイ時間の長さだ。15号機の打上げウィンドウは12:54~13:16と短いのだが、カメラを設置できる時刻は前日の15:30~16:00あたりになるという。ほとんど、丸1日待機できるだけの電力を確保する必要がある。

カメラを設置可能なポイントは3カ所。最も近いところは「海岸通前カメラ用スタンド」で、これは中型ロケット発射場の目の前にある。Googleマップで計測してみたら、射点からは直線距離でおよそ700mという好条件である。ただし、撮影ポイントは全て屋外にあるので、雨や風に耐えうる装備が必要となる。

海岸通前カメラ用スタンドの場所はこのあたり

○そして設計を考えてみる

以上を考慮した結果、私はマイコンボード「KCB-1」(近藤科学)とサーボモーターを組み合わせた自動撮影システムを提案した。サーボモーターでシャッターを押す仕組みなので、どんなカメラにも使える汎用性の高さが特徴である。

近藤科学のマイコンボード「KCB-1」。同社のサーボモーターを簡単に動かせるのが特徴である サーボモーターを使ってシャッターを押すことにした。指となる部分はアームを切って作成した

起動方法は、一番確実なタイマー方式を採用する。設置時に、プログラムで時間をセットして、その時間が経過したときにシャッターを押すのだ。ただし、この方法だと、少しでもタイミングがずれると打上げの瞬間が撮影できない上、天候や不具合でスケジュールが遅れたときには対応できない。

この問題は、スチールではなくてムービー撮影にすることで解決した。少し早めに撮影を開始すれば、ムービー中のどこかで打上げが写っているだろう、という算段だ。今回に関しては、打上げウィンドウが22分間と短いのも好都合だ。30分間くらい撮影すれば、十分カバーできる。

本当ならば、もっとスマートにセンサー式を使いたいところなのだが、音にしても光にしても、ロケットは一発勝負なので、本番と同条件での試験ができないのが不安材料。起動しませんでした、という最悪な事態だけは避けたいので、今回は最も無難な方法を採用したわけだ。

バッテリは少し困った。シャッターを押して撮影するためには、カメラの電源は入れっぱなしでないといけない。外付けのリチウムバッテリを使うことにしたのだが、これでも少し足りないことが判明。シャッターとは別に、電源を入れるためのサーボモーターを設置することも考えたが、これは面倒くさい。どうしようか迷った末、KCB-1でリレーを制御して、撮影の直前にカメラに電源を供給するようにした。

バッテリはカメラ用のほか、マイコンとサーボモーターの分も用意する必要がある。これは特に工夫はせず、ニッケル水素バッテリの大容量タイプ(800mAh)を使った。じつはリモートカメラの準備が直前になってしまい、本番と同条件(約21時間の待機)の動作テストは一度もできなかったのだが、8時間テストの結果から、なんとかもちそうだ、という目処はついている。

あとは防水対策なのだが、手っ取り早いのは防水カメラを買うことだ。もちろんそれも考えたが、主に金銭的な理由により却下。現地での工作でなんとかすることにして(天気予報が晴れで、何もしなくても大丈夫という可能性にも期待)、最悪、壊れてもいいように、すでに引退した古いカメラを使うことにした。そのため、動画はQVGAというショボい解像度になってしまうが、今回はテストということで妥協した。

中編に続く。

第18回KONDO CUP参戦結果

ロボットサッカー大会である第18回KONDO CUPに出場してきた。我々RFCバンブーブリッジは、強敵のスピード☆スターズと同組。各リーグ3チームなので、予選を突破するためには、このチームと少なくとも引き分ける必要があるが、大敗して終了。機体が不調だったとはいえ、準備不足だなこりゃ。来年からはもっとしっかり準備して参加したい。

戦績
1試合目:対スピード☆スターズ 0-6
2試合目:対日本工業大学2年チーム 12-0

結果
予選リーグ敗退(1勝1敗)

決勝戦は、Aリーグ1位のトリニティとBリーグ1位のスピード☆スターズとの対戦。現在のKONDO CUPでは、この2チームがダントツの2強なのだが、今のスピード☆スターズは本当に強い。トリニティがあんなに押されるのは見たことがない。ガルーが故障で抜けてしまったのが大きいにしても、しばらくはスピード☆スターズの天下が続きそうな勢いだ。

第18回KONDO CUP決勝戦(前半)

第18回KONDO CUP決勝戦(後半)

二足歩行ロボットキット KHR-3HV(ケイエイチアール・スリーエイチブイ)

KONDO (近藤科学株式会社)

このアイテムの詳細を見る

ロボット連載が開始

マイコミジャーナルでロボットの連載を開始した。

【連載】近藤科学の最新ロボット「KHR-3HV」を試す
http://journal.mycom.co.jp/series/robot_khr3/menu.html

とりあえず、KHR-3HVは自腹で買ってしまったので、元を取るまではしばらくは続けてみたい。エンタープライズチャンネルでの掲載になるので、自律化に興味を持つ人も多いだろう。ちょうど近藤科学では自律競技も開催しているので、ネタとしていずれ参加してみたい。

ところで、なぜホビーチャンネルでなくてエンタープライズチャンネルなのかと思うだろうが、それはまぁホビーチャンネルのトップページで、記事の偏りを見てもらえれば分かるだろう。あそこはもはやアニメ&ゲームチャンネルだ。

チャンネル紹介のページには、「趣味や遊びに関連した情報を幅広く扱うチャンネルです。ネット文化やサブカルチャーに敏感な若者から、趣味にこだわりのあるお父さん世代にまで、ゲーム、アニメ、玩具、模型、鉄道、ロボットなどの分野についてユニークな記事を展開。製品リリース情報はもちろん、イベントレポート、小売店店頭での聞き込み、制作者インタビュー、その他独自の取材記事などを通じて、その道の「通」にも納得していただける濃密な情報をお届けします。」とあるんだけどなぁ。

最近では、宇宙関係は「エンタープライズ→サイエンス」に、ロボット関係は「エンタープライズ→エレクトロニクス」に、ホビーの一部は「ライフ→趣味と学び」に、どんどん分散してしまっており、読者にとっては、ちょっと分かりにくいかもしれない。これはまぁ、全体をコントロールすべき立場の人間が、それをやっていないということだろう。せめてImpress Watchのように、関連する記事はほかのチャンネルからリンクを張るなどの仕組みがあればいいのだが。

ロボットショップ「テクノロジア」

ようやく情報を出せるようになったのだが、秋葉原に、ロボットショップ「テクノロジア」がオープンする。開店は5/8の予定だ。

テクノロジア
http://www.technologia.co.jp/

社長の荒井さんは、この間までは、ツクモロボット王国で店長をしていた人だ。店名から”王様”とも呼ばれた名物店長で、古くからのパソコンユーザーには、「日本で一番X68000を売った男」としても有名。ちなみに私も客の一人で、そのころから荒井さんのことは知っている。

ツクモがヤマダ電機に吸収され、荒井さんもロボット王国の再オープンに向けて努力していたが、問題がいろいろとあり、断念。独立を決心したわけだ(その間の経緯は知っているが、ここでは触れない)。ヤマダ電機もまだ諦めたわけではないようだが、いまだにロボット王国は休業中。店舗があったパソコン本店4Fは、今はもう法人フロアになっている。

この不況は、ホビーロボット業界も直撃している。京商は、すでに事実上撤退。近藤科学はまだ元気だが、正直、どこも苦しい(我々メディアもかなり厳しい、取材費が出ない)。それに加え、業界全体の旗艦店とも言えるロボット王国の”閉店”だ。やっとビジネスとして成り立つか、というところだったのに、大きな販路を失うダメージは大きすぎる。

そのような状況だったので、テクノロジアのオープンは素直に嬉しい。4/29には、ヴイストンも直営店をオープンしている。市場規模の割に店舗が多すぎないか、という懸念はあるが、明るい話題として前向きに捉えたいと思う。不況不況などと深刻ぶってもどうにもならん。気持ちだけでも明るく行こう。

場所はこちら

店舗が入るフロア

第15回 KONDO CUPの結果

週末に、「第15回 KONDO CUP」に参加してきた。記事はRobot Watchに書いた。

ROBOSPOTで「第15回 KONDO CUP」が開催
~常勝・トリニティに最強のチャレンジャー現る
http://robot.watch.impress.co.jp/cda/news/2009/04/16/1720.html

いやー、とにかくスピード☆スターズは強かった。サアガの相手をする場合、2体がかりでボールに当たっていく方法が比較的有効なのだが(止まって蹴ろうとすると、すぐサアガに追いつかれるので、とにかくボールに当たって動かし続けるしかない)、このチームはもう1体も速い。壁のようなキーパーも厄介だ。引き分け狙いならまだしも、こりゃ勝つのは相当難しい。

記事にも書いたが、今回、我々バンブーブリッジは初めてメンバーが揃わず、GIYさんに助っ人をお願いした。バンブーは普段、攻撃を石井さんと私、守備を梓さんと私でやることが多い。なので、必然的に私がキーパーになったのだが、開始1分でゴール前に飽きてしまい、あとはひたすらオーバーラップ。トリニティに負けはしたが、感触としては悪くなかった。

予選1試合目(前半)

予選1試合目(後半)

予選2試合目(前半)

予選2試合目(後半)

1 2 3