Darkside(https対応しました)

2021年08月の記事

<< 前のページ | 次のページ >>

2021年8月26日(木) 22:47

CSIカメラ2台を使う

 コネクターにカメラを1台だけ取り付けて試してみた。
 例によってラズパイカメラは、使用可能な解像度を設定しないと接続に失敗する。そして、この使用可能な解像度というのが必ずしもはっきりしない。解像度一覧の情報が何かに付けて表示されるのだが、一覧に存在する解像度の1つを選んで設定しても、駄目なことが多いのだ。

 結局のところ、画角が少し狭くなるがデーターが軽量になる 1280*720 と、解像度をフル活用できる 3264*1848 を使い分ければ足りるとの結論。ついでに、可能なフレームレートより小さなフレームレートを明示的に設定しないと後者は失敗する。あれこれ注文(隠れ仕様とも言う)が煩いのだ。

 そしてカメラは、コネクター1だけに挿してもコネクター2だけに挿しても、ちゃんと認識された。どちらでも同じプログラムで表示できた。言い換えると、どちらに挿してもカメラ0として認識された。
 両方のコネクターにカメラをセットすると、コネクター2のカメラだけが認識された。ls /DEV/ すると、ちゃんと video0 と video1 の2つが認識されている。つまり、最初に1つしか認識されなかったのは、単にコネクターへのケーブル取り付けが不完全だったのだ。このコネクターとリボンケーブルは、確実に取り付けるのにコツを要求しやがる。

 こうなると問題は、カメラ1を選択する方法である。
 複数のカメラから1台を選ぶ指定方法が不明で、現状ではカメラ0しか選択できない。そしてカメラ0は、なぜかコネクター2が優先されている。このままでは、B01を買い増した意味が無い。

 これ NVIDIA のサイトに詳細な解説があったにも関わらず nvarguscamerasrc で入力カメラを選択する例が載っておらず、しかし v4l2 だと入力選択可能。でも v4l2 ではカメラコネクターからは読めない。もしかして nvarguscamerasrc はカメラ1台しか読めず、すなわち Gstreamer の使用は断念するしかないのか?
 絶望が深まる中、遂に情報を発見した。

nvarguscamerasrc sensor_id=1

というパラメーターを使うことで、入力ソースを /dev/video1 に出来るのだった。

 これで、ようやく先が見えた。
 ステレオカメラにこそならないが、ほぼ当初予定の機能が実現できる。センサーを読むのは以前に成功しているから、今度はカメラ映像の合成とPIC相手のSPI通信が焦点となる。

 実用上は解像度が低くても充分に有用だし、画像の無線通信は非常に帯域を食ってフレームレートが出ない。だから、最終的には320×240で行う予定である。
 そうなると、広角カメラの中央に望遠カメラの映像を小さくインポーズするよりは、広角カメラと照準用望遠カメラは完全切替にした方が使い易いかもしれない。

written by higashino [Sタンク 1/16] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2021年8月25日(水) 22:20

想定外の落とし穴

 どうやらハードウェアに問題無さそうなので、ヒートシンクを交換する。

 だが、特殊ネジが外せない。前回はプラスドライバーの幅を削って調整し、うまく合うサイズにして外した。しかし当然そんな用途に使うプラスドライバーは安物であり、先端が削れてジャストフィットしなくなったのだ。
 そこで、グラインダーで横溝を掘るという強硬策。これで、普通にマイナスドライバーが使える。

 特殊形状ネジに対する、ファイナルアンサーだ。分解防止のためにネジ穴を潰してあるタイプにも有効。

 ついでに無線モジュールのセット(というか引っ越し)も行い、Apache2 と hostapd と isc-dhcp-server のインストールを行う。
 ヒートシンク交換後の緊張するSSH接続は、無事に成功した。交換作業で壊したりしなかったようだ。

 インストールは何度もやってるからスムーズに、と言いたいがなぜか hostapd で未経験のトラブルが発生した。
 設定ファイル /etc/hostapd/hostapd.conf が認識されない。設定ファイル '' が無い、というエラーが発生する。原因不明だが、これまで成功していた /etc/init.d/hostapd ではなく /etc/default/hostapd に設定ファイル名を記述することで解消できた。

 無事に hostapd と isc-dhcp-server が起動するようになった。起動時間は10秒を切っており、MySQL などをインストールしなくなったことと高速カードの使用が効いていそうだ。

 ちゃんとスマホからWi-Fi 接続も成功した。だが、接続を開始してから接続が完了するまで何十秒も待たされる。接続に失敗することはないのだが、ログインに異様に時間を要している。これでは、10秒で起動しても意味がない。
 今のところ原因不明で、ひとまず放置してある。

 いよいよB01を買い替えた意味、USBを使用しないカメラ2台の同時接続。

 だがここで、真っ青になった。
 ラズパイ互換カメラを2台同時に使うには、どうすれば良いか?
 そんなことハード的には自明だが、ソフト的には不明だった!

 USBカメラを含んだ複数カメラの接続例(重要なのはソフトが公開されていること)は豊富だが、ラズパイ互換カメラだけ2台を同時使用する「ソフトウェア」の前例がどこにも無い!
 USBカメラであれば番号を変えるだけで読めるのだが、ラズパイ互換カメラはパラメーターを詳細記述して与える。そのパラメーターのどこにも、カメラ番号に相当するものがないのだ。やたら詳細なくせに。

 しかも、2台同時接続しているのに、ls /dev/ で確認すると video0 しかない。video1 が見当たらない。

 B01を買えばラズパイ互換カメラ2台が使える。そう安易に考えて買い増したのは勇み足だったのかもしれない。ヤバい!

written by higashino [Sタンク 1/16] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2021年8月24日(火) 23:12

SPI有効化

 Jetson Nano を、買い直すことにした。
 理由は、最新リビジョンB01であれば、USBではないカメラの接続端子が2つ存在すること。つまり、USBカメラが使えなくても2台まではカメラが使える。ステレオカメラは無理でも、操縦用カメラ1台に照準用カメラ1台を搭載できる。
 最初のB01は初期不良だろ?と言いたいが、油断してしまった。買って動作確認する前に、ヒートシンクをSタンク用銅板に交換してしまったのだ。まさかそれぐらいで壊しはしないだろう、と甘く見て最初からウンともスンとも言わなかった。壊れていたのか、壊したのか、分からない。

 無駄と言えば無駄だが、旧 Jetson Nano が死んでいなかったのだからSタンク以外に Jetson Nano で遊べる。

 今回はUSBカメラを使えるようにする必要はないので、最新のジェットパック4.6を入れる。ただし膨大なトラブルに苦しめられたので、最初から入っているソフトのバージョンは上げない。
 最新のジェットパックだと、SFTP接続でSPI有効化の作業が可能だ。

 ところが Jetson-IO を実行しても、一瞬表示されて即座に終了してしまう。調べると、前例ある症状だった。

 エラー発生の行番号が異なるだけで、エラー内容は全く同じ。記事と全く同じように mv /boot/dtb/kernel_tegra210-p3448-0000-p3449-0000-b00.dtb /boot/dtb/kernel_tegra210-p3448-0000-p3449-0000-b00.dtb.bkp を実行すると、解消した。
 jetson-IO 上から、SPI1を有効にする。

 Jetson Nano のSPIは、信号線を5本も使うらしい。

 ひとまず、有効化に成功。

written by higashino [Sタンク 1/16] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2021年8月23日(月) 22:27

製作は一応成功したが

 まずは1つ、サーボシャフトカプラーを銀ロウ付けしたが、想定より苦労した。
 そこで考えた。よし、残りの3つはサーボシャフトカプラー側だけでも銀ロウメッキしておこう。

 ハンダ付けの場合、対象物両方をハンダメッキしておくことでハンダ付けの仕上がりが良くなる。特にステンレスのハンダ付けでは、ハンダメッキは必須である。
 しかし銀ロウ付けの場合はハンダ付けのように簡単にメッキできないし、素材をかなり過熱してしまう。そこで、スプリング側はメッキしないことにした。

 ちょっと余分かと思われるぐらいに過熱して新ロウを盛ってしまい、後から削るという手法を取った。それなりにメッキ成功。

 太さ5ミリのステンレス棒を冶具に使って、現物合わせ。サーボシャフトカプラーの位置を確定させてから銀ロウ付けを行う。
 スプリング端が少し浮いていたりするため、圧力を加える必要もある。ステンレス棒のせいでバイスが端しか押さえつけられないため、非常に厄介。完璧な仕上がりを求めるのは、困難だ。

 それなりの仕上がりで妥協するしかない。

 スプリング端に充分な長さは確保できないため、銀ロウ付けの強度は重要だ。
 何とか強度が確保できるていどの仕上がりには、なったと思う。

 こうして2日がかりで、残る4個が仕上がった。
 決定的な破綻を起こさず、合計8個のスプリングユニットを完成できた。

 だが先行する4個では、サスアームを挿入し切れない問題が発覚している。必要数と同じ8個しか製作できなかったので、個体差を選別によって何とかすることはできない。
 いま存在する8個だけで、何とかすべてのサスアームを取り付けねばならない。

 今回の4個にサスアームを単体で挿してみると、仕上がりは良好。だが、サスアームが挿入できなかった2個も、単体なら難なくサスアームを挿入できる。

written by higashino [Sタンク 1/16] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2021年8月22日(日) 22:20

銀ロウ付け開始

 新品のダブルトーションスプリングF7560を2本用意し、レーザー銃で撃つ。

 いつも通り、太さ1.6ミリのバネ鋼線が1秒で焼き切れる。

 合計4つに別れたスプリングの両端を折り曲げ、組み合わせ相手を決める。

 最初は失敗が続出した折り曲げ作業だが、真鍮パイプを冶具に使うことで容易に成功するようになった。

 今回は、ステンレスストッパー側を先に銀ロウ付けすることにした。
 ミゾを掘っているため固定位置に自由が無い。固定自由度があるサーボシャフトカプラー側を後から銀ロウ付けすることにより、現物合わせを確実に行えるようにする狙いである。

 仕上がりは必ずしも良くないが、強度は足りていると判断。

written by higashino [Sタンク 1/16] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

<< 前のページ | 次のページ >>

Darkside(https対応しました)

Generated by MySketch GE 1.4.1

Remodelling origin is MySketch 2.7.4