訪問者数

愛知工業大学さんからDVDが届く

仕事から帰ってきたら、郵便物が届いていました。
差出人は愛知工業大学の鉄人プロジェクト。

おおっ、もしかしてと思って開封してみると
ロボットバトルin名古屋モーターショウのDVDでした。
やっほーぃ!

これはうれしい。実は当日、特に前半はほとんどバトルを見ていません。作業ブースにて、通信しないVinsentの調査をしたりいじけたりしていました。
このDVDをみてテンションあげて、テンションが下がったらまたDVDみてを繰り返えせるぞ。なんてったって、Vinsentが動いている映像が無いのだからね、「やったるぜ!」って気持ちになります。(笑)

鉄人プロジェクト殿、DVDありがとうございました。

ロボファイト2に行ってきました

27日は朝早くから出発。大阪で行われたロボファイト2に参加してきました。




今回の目的は、Vinsentを沢山動かして楽しむってことの他に、AMATERASブレイブカイザーが見たくて行ってきました。

AMATERASはやっぱりあの外見ですね。どうやって作ってあるんだろうって気になっていました。実物を見た感想ですが、なんというか、本物の人形って感じですね。ロボットビルダーが作った人形じゃなくて、人形作家(って表現はあっているのかな・・・)が作ったロボットって感じ。ちょっと僕の参考にはならない感じ(真似できない・・・)

ブレイブカイザーは外装にも興味があったのですが、それよりも元祖両手での棒術(剣術)使いロボットですからね。盗めるノウハウがあるはず。あるばーとさんから色々な情報が聞けてよかったです。意外と棒の扱いはVinsentと同じ仕組みでした。僕は棒の扱いだけで精一杯ですが、あるばーとさんは手の部分にまで外装してあるんだからすごいです。ああ、それから思ったよりも大きなロボットでした。

さて、ロボファイト2の試合のほうですが、Vinsentは運良く2回勝つことが出来、三回戦で負けてしまいました。準々決勝だったのでBEST8です。
ロボファイト2はなんだか練習会というかお楽しみ会みたいな感じがしています。たくさん試合が出来ていろいろなイベントがあって、実際結構楽しくて結構忙しい。だから負けても悔しくない。ROBO-ONEとはちょっとちがう。そう思うのは僕だけなのかな???

沢山の試合やイベントに参加できたので、Vinsentの改良点を沢山発見することが出来た。やはり、ロボットを作って満足しているだけでは発見できないことが沢山ある。自分のロボットを動かして、他人のロボットを見て、後でビデオで見て気が付くことが多い。これまたロボファイト2の良い所だと思う。
今回気が付いた改良点なのだが、実は大阪からへとへとで帰ってきてビールを飲んで寝てしまったので大部分は忘れてしまった。覚えているのは、
1、ガードポーズ
2、前転モーション
が必要。
実はロボファイト2のリングは結構いいかげん。ひどいときは5mm程度の段差があります。この段差を歩いて乗り越えれるロボットはよいのだが、それは難しそうなので前転で乗り越えるのがベター。前転モーションがあるとよりいっそう楽しめる。

今回、日本橋とういう所に初めて行きました。東京の秋葉原のようなところらしいです。(日本橋も知らないが秋葉原もよく知らない。大須みたいなところなんだろうな(笑))
会場の入り口では、観客の呼び込みを行っていました。
DSCF3329.jpg


さて、次なる大会に向けて、ひとまず休憩かな。(笑)

PS2コントローラで、無線だとOKだが有線だとNGな原因がわかった

今週はPS2コントローラとの通信を改善するぞウィークです。
そんな予定じゃなかったんだけどな・・・。

VinsentはPS2の無線コントローラ(Logitec製)だと正しくキー入力を認識できるのですが、有線コントローラ(Sony製DUALSHOCK2)だと正しくキー入力を認識できず、今日はその調査を行っておりました。で、原因がわかりました。
25日の日記の波形をよーーく見れば気が付くのですが、無線と有線ではコントローラからの入力信号(波形では黄色)のON/OFFタイミングが微妙に違っています。無線時の入力信号はM16Cからの周期信号(波形では紫色)のOFFトリガに同期してキビキビON/OFFしてます。しかし、有線時の入力信号は同期信号のOFFトリガに当然同期はしているのですが、ゆっくりON/OFFします。
そのあとの周期信号のONトリガにて入力信号をM16Cが取り込むのですが、有線だとこの瞬間ではまだ入力信号が安定していないのです。

何が悪いのかと言うと、周期信号のOFFが遅いのです。なぜ遅いかと言うと、OFFする前にコマンド用の出力信号を出しているからです。

いままでのプログラムはこんな感じ。
1行目:p10_2 = ((m_cPadWData[1] & (1 << ((m_cPadCount - 37) / 2))) != 0) ? ON:OFF ;
2行目:p10_0 = OFF ; // PAD_CLK

この1行目と2行目をひっくり返えしたら有線も無線も問題なくキー入力を認識するようになりました。
1行目の処理は、ひいて、割って、シフトして、アンドして、比較して、代入して・・・結構時間がかかるのでこのような症状が出てしまったようです。


これで、明日のロボファイト2の会場で無線トラブルが発生しても、最悪の場合、有線で操作することが出来ます!!(威張れることではない・・・)



追記 19:30

Vinsentがうつむせで倒れた場合にPS2受信機のボタン押下により無線が使用できない問題ですが、うつむせで倒れていることを加速度センサで検出し、自動的に起き上がるようにしました。
心配なのは、ボタンの押下はやっぱり行われてしまうこと。起き上がったはいいが、操作不能になる可能性はまぬがれない・・・。
有線で参加すれば解決なのだが、それぐらいなら負けたほうがいい。と強がってみる。

そろそろ荷物の準備を始めます。ロボットを持参するときにいつもなやむのが、ロボット以外に何を持っていくか。思い当たるのは、
1、コントローラ
2、バッテリー
3、充電器
4、ドライバやテスタ等の小さな工具
5、パソコン
6、ヤスリやトンカチ等の工具
7、予備サーボ

私は日帰りの時は1〜4だけです。宿泊する場合は1〜7。
もちろん、携帯やデジカメは必須ですね。さて明日はどうしようかな。

会場で参加者の持ち物検査して公表できたらおもしろそう・・・。

PS2コントローラとの通信波形

Logitecの無線コントローラとの通信は出来るのだが、有線のDUALSHOCK2コントローラとは通信しない。
通信できるとは、M16Cマイコンがコントローラのキー入力を認識できることをいっています。有線だとキー入力を認識できない・・・というよりも誤認識している気がする。

とりあえず両方の波形をとってみることに。
使っているオシロは
USB接続 12ビット2chオシロ「Stingray」

精度が低いですが、やっぱり2chで安いやつってことで半年ほど前に購入。

Logitec無線コントローラの波形



DUALSHOCK2コントローラの波形
DualShock2PAD.jpg


両方ともレンジは同じです。
黄色の波形はM16CのIN信号
紫色の波形はM16CのOUT信号
コントローラの上方向ボタン押下時の波形です。

うーーん、電圧値がまったく異なっています。

でもM16Cの推奨動作条件表をみると、入力のHIとは0.8V以上となっているので、どちらの波形も同じものと読み取れます。
なぜ、DUALSHOCK2だと動かないのだろ・・・

そうそう、
以前の日記で、Vinsentはうつ伏せで倒れるとコントローラ受信機についているボタンが押下状態になってしまうため、コントローラと通信できなくなってしまい困っていると書きました。
また困ってます。

LogitechPS2パッド受信機のボタンについて Part2

以前の日記で、Vinsentはうつ伏せで倒れるとコントローラ受信機についているボタンが押下状態になってしまうため、コントローラと通信できなくなってしまい困っていると書きました。

結局どうしたかと言うと、ボタンを接着剤で固めてしまいました。(笑)
ボタンが押下されないようにわざわざお腹を膨らませたり、別途代わりの頭を用意する必要も無く、非常に合理的だと思いませんか?だっていままでボタンを活用したことが無いんだもん!


さて、話は変わって11月20日、行ってきました。ロボットバトルIN名古屋モーターショウ。
対戦相手は事前に発表されており、初戦の相手はGUARDIAN。おおっと、今一番対戦したい相手ではないか!!(って主催者の方でも考慮してくれたのかな???)
期待を胸に、いざポートメッセ名古屋へ車で出発。みんなのやすさんが高速道路は渋滞するという情報をブログに載せてくれていたのですが、見なかったことにして高速道路で行きました。(いや、高速道路を使わないとすんごい遠回りなんですよ・・・)渋滞の程度なんですが、まああんなもんでしょう。大きなイベントがあるとポートメッセはあんな感じ。心構えが出来ていたので特に驚きも無く(渋滞中に子供に授乳できたので逆に好都合)会場に到着。
受付をすませて、集合予定時刻まで40分ほどあったので二輪車の館だけ覗きに行ってきました。ブースに戻ってきて、さてVinsentを立ち上げようと思ったのですが、あれ?、通信しない・・・。

ロボットのバッテリーを交換しても、コントローラの電池を交換しても通信しない。ITS関係の館だけあって混信の可能性も高いので、建物を出て数十メートル離れてみたが症状は変わらず。移動中の衝撃で断線でもしたのかと思い、結線チェックしてみたが特に異常なし。さあ困った。
混信が原因ならタイミングがよければ通信するだろうと思い、何度かトライしてみたがやっぱりだめ。棄権。

モーターショウというロボットフリークでない観客のまえでのロボットの披露はとても楽しみにしていたのに・・・
なにより、わざわざ大阪から来ているmabotanさんと対戦できないと言う申し訳ない思い。

もしかしたらと思い、何度か通信のトライをしてみるが改善されず。一応、ロボットバトル終了まで観戦して帰路に着きました。なぜ通信が出来ないのかが気になって情けなくて、観戦に集中は出来ませんでしたが、観客の反応は非常によかったです。
「あのロボットかっこいい」とか「おおっ、起き上がりもできるのか」とか「個人のロボットなの?」とか。子供じゃなくて大人の発言。


帰宅して早速再調査。
やっぱり通信しません。(この時点で混信の説は消えた?)
有線で試してみたが通信しません。(なぜ?)
少し前のプログラムをダウンロードしてみたが通信しません。(プログラムは関係なし)
新品のマイコンで試したが通信しません。(ポートやマイコンの故障ではない)
結線の再確認をしたが問題なし。電圧値もチェックしたが問題ない。
信号線をオシロで当たってみてもなんだか正しい気がする・・・
原因はどこだ〜〜〜〜〜〜〜〜〜〜〜〜〜

一晩寝てよく考えてみた。
そもそも、無線機(この場合はPS2のパッドと受信機)は正常に動作しているのか・・・
プレイステーション2に受信機を差込み電源ON。通信しない・・・。そんな馬鹿な。たまたま、もう一セットある受信機を差し込んでみるとそちらはOK。受信機が壊れているのか、送信機(パッド)が壊れているのかどっちだろうと思っていたとき、はっ!。おもむろに受信機のボタンを押下し、名古屋に持っていったパッドのボタンを押下してみた。つながった(なるほど、こういうときに受信機のボタンは使用するのか・・・)。となると壊れているのは受信機ということになる。

壊れているなら未練も無いので、分解してみました。
IMG_3418.jpg

どうやって開けばよいのかわからなかったので、のこぎりを使用して切断しました。基板にはLogitechのかわいいロゴの印刷がしてあります。
当然、ボタンもあります。押してみます。通信しました。


長かった・・・。ロボファイトも棄権かと脳裏をよぎっていたところでした。
いくつかの原因が絡んでいたようです。推測の粋を出ませんが・・・

1、名古屋でVinsentの電源を入れたときに受信機が混信した。
2、受信機は電源を切っても相手を記憶している。
3、受信機のボタンを接着剤で固定したので相手を切りかえれない。

まだ、有線でも正常に動作しなかった原因がわかっておりませんが(非対応なコマンド発行でもしてるのかな???)、ロボファイトには参加できそうです。

ふう。Vinsentはまたもやバラバラです。

Template Designed by DW99