2017年7月31日月曜日

RCJ世界大会のスタッフ参加前半

ということで、6日間スタッフとして、RCJのテクニカルボランティアとして、参加してきました。
結論を先に言うと、とても楽しかったです。本当に、良い経験ができたと思います。
では、レポートを。

Day -1
競技の2日前なのでday-1です。この日から参加で、この日は午後のみの参加です。

到着

私はレスキューLine担当ですが、この日はMazeの台を作っていました。あと、審判講習会や、スタッフ内での軽い英語での自己紹介などがありました。この日はイベントとかはないので特に書くことはないですね。
ちなみに、できていたLineの練習フィールドはこんな感じ。
色々と試せそうで、練習には良さげ
Day0
この日は午前は空いていたので、周辺を歩いて見ました。まだどこも準備段階であり、何があるかの確認程度です。
ルール説明会的なものを聞き、昼食を済ませまたウロウロしていたら、amazon robotics challengeが目に留まりました。ここは凄いですよ。技術力の高さに唖然としてました。あと、運良く実際にやっている人から話が聞けたので、良かったです。ちなみにその話を伺ったチームは日本の中でトップだったようです。
この日は選手は調整日でした。私はプレゼンテーションポスターを見ていました。どこのチームも大きく、アピールしていて、良いなと思いました。

Day1
この日から、いよいよ競技開始です。この日のフィールドはこんな感じ(3種類のうち、1つです)。


私はこのフィールド担当でした。1日目であり、世界大会にしては交差点もなくやりやすそうなコースかなと思いきや、環境に対応しきれていないロボットや、動きながら壊れだす(固定頑張って…)ロボットもいて、楽勝ということもなさげでした。強いロボットは、安定していました。
この日はround1,2,3と行い、計20試合くらい行いました。
あ、あとこの日は時間に余裕があったので色々なブースに行きました。maxonさんからカタログ貰っちゃいました!あと、amazonroboticsも競技を見ました。とても難しそうに見えました。

Day2
この日は、一番ハードで、roundがDay1の2倍あり、その上スコアリングシステムの不具合で45分遅延…昼休みが15分、大変でした。
ただ、その代わりロボットはたくさん見れました。確かこの日に、なるほどなーと思った機体があり、これは知ロボに活かせるなーと思っていました。
また、この日は前の日よりもどこのチームも調子が良さそうに見えました。知ロボでも1次予選から1日で皆進化しますが、それはどこも同じなのでしょう。ちなみにコースはこんな感じ。この日は6種類あります。


私は前半後半で2種類のコースを担当しました。そのうちの1つです。
意外なことに、このコース、1箇所致命的に成功率が低かった場所があります。最初の坂バンプです。私が見た20チームくらいの中で、成功チームおそらく0。そんなに難しいのか、と思いました。確かに1日目に比べて、コースもロボットもレベルアップしていますが。

長くなってきたので、Day3,4,感想は今度別記事で書きます。
今日はこの辺で。

2017年7月24日月曜日

明日からはスタッフ

えーと、まぁ、近況はまぁまぁです。

ジャイロは、だいたい解決しています。設定はCSの上げ下げが途中で途切れているという単なるコードのミスでした。割り込みでも値が見れているので、良いのではないでしょうか。
基板も再発注しました。多分ミスは無くしたと思いますが…。変な新しいミスとかないと、良いですね。
センサの値がおかしいのは、発光時間が短かっただけでした。

次は、制御でしょうか。ただ、難しいですね。エンコーダの値を回転数に変換するわけですが、位相計数で出る値は0から65535。それを1回転のパルス数512で割れば良いと思いますが、65535を超えると0に戻って来るのでそこが厄介だなという感じです。
どうにかDCモータをFF制御でそこそこ動かせるようになりたいです。
少し長い目で考えると、来月中に、FF制御、FB制御(エンコーダ、ジャイロ)、センサの外乱除去と距離化、壁制御くらいは出来るようになりたいところですね。DCマウスは、直進が本当に難しいです。出来れば、探索も。ただ、難しいのでどこまで出来るかは知りませんが、やっていきます。

さて、明日からはRCJのスタッフに行ってきます。しばらく作業は出来ません。
ということで、今年のルールを読んでいます。レスキューLineです。ブログでRCJの話をするのは久しぶりでしょうか。
色々ルール、変わっているのですね。行き止まり、2つのボール、2種類のゴール、脱出ボーナス的なもの、タイルごとの得点から対象物ごとの得点に、などなど。どんなロボットが見れるのか、そもそもどんな感じなのかわかりませんが、楽しんでこようと思います。

今日はこの辺で。


2017年7月22日土曜日

近況

進捗はイマイチだったりします。

まず、故障が多発しています。

哀愁漂う部品達

上は、モーターマウントです。調子に乗って机で直進させようとしたら落ちて割れました。割れたのは薄い部分で、割れたのは納得ですね。アクリルはやはり強度ないなーと。管理しっかりしないとなという感じですね。ま、大会直前とかではなかったので、かえって耐久試験ができたということでよしとします。
下は、ファン用のモーター。なんか気付いたらケーブルが切れてました。根元から。これはなんか対策打たないと面倒そうです。多分運んでいるどっかのタイミングで切れたのでしょう。どうしようかな。

あと、何故かセンサの値が1つおかしいです。明らかに値が低い上、壁近づけると値下がるとか、意味分かりません。フォトリフレクタかなんか死んだのでしょうか?他の3つは動いているから、ソフトとは思えないです。

ジャイロの方も難ありです。一応値は取れるようになったのですが、設定がうまくいっていないです。感度の変更が出来ていません。おかしいなー。±2000deg/sにしているつもりが、初期設定250deg/sになってしまっています。値は読めていて、基板を回してみると値は出ているので、通信ができていないわけではないと思うのですが、少しよく分からないです。

今はこんな感じで結構問題がありますね。進捗はないわけではなく、バッテリーチェックとエンコーダでモード選択は出来るようになっています。あ、基板も再発注用に修正したものを作ったので、そろそろ発注するつもりでいます。

知ロボのステッパも届きました。オリエンタルモーターさんには感謝を。知ロボはまだアイデアを固めている段階です。

とりあえず基板再発注して、ジャイロをどうにか使えるようにならないとなーという感じです。そうしたらDCの制御(FFとFB)にトライですね。今年のマウスは新しいことが多く、なかなか大変です。

今日はこの辺で。

2017年7月18日火曜日

ジャイロとの死闘に勝利!

これはこれまでのものに比べ、はるかに大変でした。

0x71 = 113、勝利の瞬間

多分10時間は普通にかけたと思います。でも、ようやくWHO_AM_I(0x75にアクセスすると0x71が返ってくる)が読み取れました!
ということで、やったことを時系列に書いていきます。
まず、始めるときはそもそもSPIの仕組みが良く分かっていない状況からのスタート。とりあえず、RSPIというものを使えばよいことを知りました。データシートを読みますが、まあどこをどうしたらよいかがわからん状態でした。そんなとき、ルネサスが周辺機能についていろいろと解説しているページを見つけました。授業みたいなスライドがあり、そこである程度のことを理解しつつ、設定のあたりを書きました。
が、「アドレスにアクセス」この一言が全く分からない状態がしばらく続きました。要するに、最初にアドレスを指定(アドレスにあったシリアル通信を送る)して、そのあとなんか適当にダミー送ってデータを受け取るということでした。
それを理解するも、色々おかしい。クロックは出ているのですが、マイコンから信号が出てこない…しばらく悩みましたが、アクセスをロングワードアクセスに直したら、動きました(なんででしょう、多分SPDRをLONGで指定しているから?)。
でも、ジャイロの反応がなく、またまた?でした。とりあえずオシロでクロックとMOSIを同時に見てみて、それを紙に適当に写してみました。そうしたら、一応正しい信号になっていることが、確認出来ました。
しばらくオシロで見てみると、MISOが不安定(ハイインピーダンス状態?)になっていることに気づきました。そこで、もしやと思い、モジュールのデータシートを読んで見たら、ここに罠がありました。ジャンパを切り替えなくてはならなかったのです。
切り替えたところ値は安定しているけれども、0のままという状態。でもかなりなんとかなりそうだなーと適当にいじっていたら、CSの切り替えタイミングがあっていない箇所があったようで、そこを直したら、MISOが動くようになり、値が返ってきました。

ざっと書いてこんな感じで悪戦苦闘してました。書いてみると短いと感じるかもしれませんが、SPIについて調べて理解するのにはかなりの時間がかかりました…。
といっても、ようやくジャイロと繋がり、これで回路の確認は、全て完了しました!
基板を再発注できます。あとは、ジャイロの実測値を読み取れるか確認してみます。ようやく、ようやくマウスが形になりそうです。

7/22追記 画像のはjyroじゃなく、gyroですね…(笑)。

今日はこの辺で。

2017年7月15日土曜日

エンコーダ読めた!

今日も、確認の続きです。

まず付けていなかったブザーを付けて鳴らしました。これは割と一瞬でした。
その後、エンコーダに挑みました。TPUの設定をして、位相計数モードにしたら、なんと…
エンコーダ読めました!意外とあっさりでしたね。位相計数。その後はシリアル通信を実装しました。最初は文字化けして、は?という感じでしたが、Teratermのボートレート設定が遅すぎることが原因でした。その結果、エンコーダの値を実際に見れました。エンコーダってこんな感じで動くのか、ということがピンと来ました。
PWMが出来ないと言っていましたね。今日もやろうとして、少し苦戦しましたがなんのことはなかったです。ピンの設定を違うところにしてました。直したらPWMがはけるようになり、モーターをduty比を変えて動かすことが出来るようになりました。よーし。

さて、あとは最後。ジャイロセンサです。初SPI。これが出来れば、回路確認全て完了ということで基板を再発注できます。ここを乗り越えて、マウスを走らせたいですね!頑張ります。

今日はこの辺で。

2017年7月14日金曜日

センサ読めた

今日は、ひとまず部品をすべてつけて(といってもブザー未搭載ですが…)、センサのテストをしました。
一応、A/D変換はできました。これで壁が見れるようになりました。

あとは、エンコーダとジャイロですね。ここからが結構大変なんでしょう…。まずはエンコーダ、頑張ります。

今日はこの辺で。

2017年7月13日木曜日

回路確認順調

さて、回路の確認がある程度出来て来ました。

今日は、まずPWMをやろうとしましたが、少しよく分からないので、中断して、タイマー割り込みで確認をすることにしました。
そのかわり、というわけではないですが、A/D変換が出来ました。これでバッテリーチェックが出来るようになりました。やったね。
その後、モータードライバのテスト。動きました。ここにミスはなかったようです。良かったです。そして、ファンのFETの方を試してみたら、回らない…と思っていたら、間違えたFETのパッドに、正しくしたつもりが間違えた向きで付けていたからで、直したらこれも動きました。
センサのLEDも、なんとか光りました。FETの向きを間違えて大変でしたが、なんとか光らせることができました。

あとは、センサ自身、そして難関エンコーダとジャイロです。あと、PWMでモーター回せるかもですね。とりあえず今日ある程度出来たので、良かったです。

今日はこの辺で。

2017年7月12日水曜日

吸引実験

知ロボではなく、マウスの方の吸引を適当に実験しました。

思ったのは、2次スカート強し、という感じでしょうか。適当に(本当に雑です)、ヒラヒラさせてみたら普通に100gf、良いと110gfくらい吸えている感じです。虫みたいです。張り付きます。
これを今年中に使うか知りませんが、こういうことすると楽しいので。

ま、今はそれよりも回路のテストですよね。ようやく復活したので、落ち着いて一つずつ確認しようかと思います。

今日はこの辺で。

2017年7月11日火曜日

復活!!

今日から、作業再開です。

さて、例の新作が急に書き込めなくなって、頭を抱えていたわけですが、ようやく原因が分かりました。
ズバリ、SHコネクタでした。自作が良くなかった…。既製品を使って書き込み回路を作り直したら、ようやく書き込めました。小さいコネクタの自作は良くないというのと、急な故障はケーブルが可能性が高いという教訓を得ました。
良かったです。これで滞っていたマウスの作業が、進められます。

あ、あと知ロボもステッパ頼みました。優勝商品のものです。オリエンタルモーターさんには改めて感謝です。

とりあえず、マウスを頑張っていきたいです。

今日はこの辺で。