忍者ブログ

FrostyDesign

自分用にさまざまなものを作るページです

カテゴリー「未選択」の記事一覧

Vitis 2019.2 で QSPI Flashに書き込み失敗する問題について

限られた人の問題だとは思いますが、困っている人はとても困る話なので
ググってたどり着けるよう記録を残しておきます。
そもそもの話はVivadoSDK2017.3からQSPI Flashでブートした場合QSPIの書き換えができないように仕様が変わったことです。これはQSPI Flashに書き込まれたプログラムを誤って上書きしないようにするためのようです。このためQSPI Flashを書き換える際はJTAGモードでブートしてねというのが公式仕様です。
ですが、それ以前に製造されたボードでは明示的なJTAGモードに切り替えられるようなディップスイッチやジャンパを設けていないものがあります。また、ジャンパやスイッチは積みたくないこともあると思います。私の使っているtrenz electronicのTE0720も同様です。
Xilinxはそういったユーザー向けに書き込み時専用のFSBLファイルを用意して、
これをメモリにロードしてJTAGモードでブートすることで、書き込み可能にする仕組みを用意しました。trenz electronicもこれに沿ったFSBLファイルを用意していて、ビルド済みのfsbl_flash.elfファイルを配布しています。
が、vitis2019.2では不具合?でこの手法を使っても書き込み失敗します。
最初設定ミスかとさんざん悩みましたが、trenz electoronicのfourmへの書き込みをみると
不具合の可能性が高いように思います。
https://forum.trenz-electronic.de/index.php/topic,1286.msg6139.html#msg6139
不具合なのでそのうちXilinxが直すと思いますがいつになるかわかりません。
で、代替手段として、古いバージョンのvivadoをインストールしたいところですが
ディスク容量が馬鹿にならないです。
vivado 2016.4 Lab Editionを入れると2.5GBぐらいでインストールできます。
これでQSPI Flash memoryを消去し、
消去した状態からであればVitis2019.2でfsbl_flash.elfを使って書き込みできます。

PR

ひでみのアイデア帳 Let's Vitis目次

vivado2019.2になってSDKがVitisに統合され移行する必要に迫られ調べ始めたのですが、ひでみさんが参考になる記事をいろいろ書かれていて、自分用に目次とリンク作りました。

勉強になります。

Let's Vitis(1) - Vitisとは?

Let's Vitis(2) - Vitisの使い方

Let's Vitis(3) - Linuxディストリビューションの構築

Let's Vitis(4) - ZynqMPSoCのブート

Let's Vitis(5) - FSBLのビルド

Let's Vitis(6) - FSBLの別のビルド方法

Let's Vitis(7) - fsblをデバッグするための設定方法

Let's Vitis(8) - PMU Firmwareのビルド

Let's Vitis(9) - Linuxディストリビューションのビルド

Let's Vitis(10) - BOO.BINの生成

Let's Vitis(11) - 「SDカードの生成」

Let's Vitis(12) - Platformの作成

Let's Vitis(13) - SDKの構築

Let's Vitis(14) - Platformの作成(続き)

Let's Vitis(15) - VitisでHello World

Let's Vitis(16) - FPGAアクセラレーション環境を構築

Let's Vitis(17) - FPGAアクセラレーションするプロジェクト

Let's Vitis(18) - Ultra96V2で動かしてみよう

robo-one 28th予選1位 & zynq制御コントローラ

2/13にrobo-one 28thの予選が開催され、記録更新して1位になりました。
今回からzynqを使った新しい制御コントローラになりました。
&バッテリーをLiHVに変更しました。

下記は予選の動画です。
4.5m走で記録は3.79秒でした。

4.5mを23歩で完走しました。計算上の実走行時間は3.68秒で
若干フライング気味でスタートして、計測装置側の反応遅れがあるので3.79秒という記録になったようです。
以前より加速度が20%程度、最高速度が3%程度上がってます。

下記が新しいzynqの制御コントローラです。
 
zynqはxilinx製で、CPUとFPGAが同一チップに入ったものです。
ドイツのTrenz Electornic社のTE0720というzynqのモジュールを使っています。
ARM Cortex-A9 dual-core 667MHz
1GByteDRAM,32MB Flash memory,1GbE
自作のIFボードにて下記IFを実装しています。
ICS 1.25Mbps x 6ch
RS485(kondo B3Mシリーズサーボ対応)3Mbps x 5ch
TTLレベル UART x 3ch
SPI(PS2コントローラ用)x 1ch
電源は9~24V対応で
大きさは40mm x 71mmです。

今回はICS 1.25Mbps x 6chを使って1ms周期で制御しています。
このボードの性能を使い切るにはまだだいぶかかりそうですが、
制御周期が上がっただけで応答が良くなったのは体感できますね。

下記は新しいバッテリーです。

hobbykingのTurnigy Bolt 1000mAh 4S 15.2V 65~130C High Voltage Lipoly Pack (LiHV)
ハイボルテージと言っても仕様上1セルあたり0.1v高いだけで、
充電完了電圧でも0.15v高いだけなので、電圧3.5%アップです。
充電電圧が異なるため、充電器から買い直しになってしまうのですが、
バッテリーチェッカーがハイボルテージ対応のものがまだ無くて
非常に不便なので、まだお勧めはできません。
が、3.5%でもまあ違うのは体感できました。

あ、そういえば前回のrobo-one 27thも予選1位だったのにブログ書いてないや。
まあ、その前に完走したときと同じ仕様だったので良いかな。


DARPA Robotics Challenge 行ってきました

 

そんなわけで? ロボット持ってDRC行ってきました。
ガレージで動かしたり、写真撮らせてもらったりして来ました。
 
 
ロボット屋さんだらけなので色々関心を持ってもらって面白かったです。
そんな様子が主催者の耳に入ったのかDRCの競技の合間のBreakTimeでのデモの依頼を受けましたw
BreakTimeには3つのロボットがデモしていたのですが、Boston DynamicsのSpot、MITのCheetah、Oregon State UniversityのATRIASに並んでのデモということで光栄なお話をうけました。
デモ自体は、路面はアスファルトでガタガタだし、レポーターのお姉さんの英語が聞き取れず上手く答えられなかったりとグダグダでしたが、貴重な体験をさせてもらって楽しかったです。
デモの後にガレージにロボット見に来て話しかけてくれる人がいたりして、海外の人にも受けたようで良かったです。(下記動画の5:06:10あたりから)



再生開始位置の埋め込みがうまくいかないのでリンクはこちら

robo-one 25th予選1位

先週9/13にrobo-one25thの予選が開催され久々?に完走し1位を獲得しました。
今回は脚長(302mm)に対する足裏の長さ(88mm)を人間と同等にしてチャレンジし、
4.5mを完走しタイムは6.67秒でした。
下記の映像はrobo-one公式のyoutube映像からのFrostyの走行部分のみの引用です。
4.5m を40歩でゴールしています。3つ目のゴムの障害物を左足で踏んだあたりからバランス崩し始めてぎりぎりゴールして直後に倒れました。ログの取得期間の設定 を間違えていて34歩めまでしかログが取れてなくて障害物のせいかどうかはよくわからず。大会の1週間前にちょっと小さい足で試してみたら割と歩けたの で、robo-one本選で試してみたくなりそのまま出場しました。会場でテストした時は1m程度で転んでいて、直前にパラメータを変更したぐらいだった ので完走できてラッキーでした。

次 の映像は足裏を元の大きさに戻して予選終了後に主催者にお願いしてエキシビジョンとして走行したものです。4.5mを25歩で完走しタイムは4.43秒で した。こちらの方も最後の方はバランスが若干乱れているのですがそのままゴールになだれ込んで完走できました。レーザーポインターを積んでいますが、これはスタート位置で方向を正確に合わせるためのものです。機体の方向を正確にゴールの中心に合わせ、 IMUで計測し軌道修正しながら走行します。それでも右側にちょっとずつずれています。計測精度が低いわけではなく、速度が上がると方向制御の効きが 悪くなったり、姿勢が乱れた影響で方向がずれたりといった現象が起きていて起動修正しきれていないという感じです。
ちなみに25歩の実走行時間は4.00秒で、審判がスタートの合図をしてから私が反応してスタートボタンを押すまでが約200ms、ゴールで左足がゴールラ インを踏んでから計測装置が停止するまでに約200msかかっているようです。計測装置は光遮断を見てるので足先だけ伸ばしてゴールラインを踏んでも反応しないのと、光をさえぎってから停止するまでにも若干タイムラグがあるようです(^^; この競技の運営には十分な精度なので批判するつもりはありませんが、そういうのが気になる領域に来たなってことで。(^^;;;
あと、事前のコンディションがあまり良くなかったので完走すると思っておらず準備が不十分で、運営の方がゴールでキャッチしてくれたのですが、ちょっと危険な行為でした。ロボットをつかむ場所などをレクチャーした方に待機してもらうようにすべきでした。すいません。

カレンダー

06 2020/07 08
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

プロフィール

HN:
FrostyDesign
性別:
男性
自己紹介:
こんなロボット作ってます。
http://frostyorange.blog.shinobi.jp/Entry/28/

最新TB

(03/12)

ブログ内検索

バーコード

アクセス解析

カウンター

アクセス解析

Copyright ©  -- FrostyDesign --  All Rights Reserved

Design by CriCri / Photo by momo111 / Powered by [PR]

 / 忍者ブログ