知ロボから半年たっていることもあり,ハード,ソフトともに大幅改善して挑むことができました。ボール1つを(マシン上に)残してあとはすべて正しく仕分けることができ,結果は3位。(知ロボだったらもはやパーフェクト前提なのでここまでの順位にはならないですね。)センサ配置が悪いのか,ボールを検知するために使用しているVL53L0の誤検知の影響でタイムロスしてます。フィールド中央の島の角で何か見えちゃうんですよねぇ。知ロボの時点ではVL6180Xを使用していました。測定距離が短いので誤検知は特になかったと記憶していますが,これはこれで,途中でフリーズする?問題があって曲者でした。I2Cでデータは取れるものの,内部ステータス,距離値ともに変化しなくなるという状態です。数秒ごとにリセットかけることで回避していましたが,その間にボールに突っ込んでしまうこともしばしば。カメラ?ロボットの概要は下記スライドにて。Hashimoto2017年の知ロボ記事はそのうち。ロボット/電子工作ルンバでTRUTHを再生してみました。音を出す系のコマンドではまったポイント。Specification」によると、SongNumberは0~4で設定できると書いてあるが、ルンバ770で試した所、4に設定すると再生されない。0~3のみを使うようにして実装した。・Matlabスクリプトでmidiファイルを読み込んで変換してます。・和音出せないので、そういう曲だとちゃんと再生できない。ロボット/電子工作これをインストール。スクリプトでCubifyを操作する的な何かっぽいhttp://www.wizotools.com/wizoscriptんでこのスクリプトを実行する。ロボット/電子工作ルンバ770のボタン仕様について。Buttonsで返ってくる値に癖があったのでメモ。結果的には、状態によって立つビットが違うってこと。普通に使う場合の表示に合わせて対応したビットが立つ。ROIの仕様書にはこうあります。Cleanんで、ルンバ上の表記はこう。Spotこの状態でClockボタンを押すと、2の状態へ移行します。OKここでOKを押すと1の状態に戻ります。Scheduleを押した時も同様。Buttonsで返ってくる値は、1の状態では対応したビットのみが立つ。2の状態では、何も押していない場合はClockのビットがたった状態。何かしらボタンを押すと、対応したビットに加えて、Clockのビットも立った値が返ってくる。OKを押した時はClockのみが立った状態。押したことを判別できない。Cleanボタンを押すと0が返ってきて、状態は1に戻る。ClockとScheduleボタンがこんな挙動。ルンバ770だとボタンが4つ(Clean除いて)あるのですが、Buttonsで返される値のビットとの対応は状態によって変わるわけですね。状態によっては読めない一番右のボタンと、Cleanボタンの扱いをどうするか。2016/06/11追記ROIの資料だと下4bitしか載ってないので調査。139)のコマンドで送る1バイト目の4bit目でCleanボタンのon/offを設定。続く2バイトはクリーンボタンでなく、バッテリ表示の色と明るさの設定となる。・・・けど、明るさは変えられないっぽい。例によってルンバと戯れています。光る3コマンド送信間隔どこまで早く出来る?受信は15msごとモード切り替えてすぐは指令効かないみたい。(→20ms間は効かないっぽい?(2016/03/26))4タイヤの回転方向変えた時にエンコーダずれないかな?エンコーダのカウント方向はタイヤへの回転方向指令によるため5音コマンド受け付けない...ただただプログラムミスってた6miniDinコネクタのL字のやつってないかな。