SSブログ
OS X用GigE Vision ブログトップ
前の10件 | 次の10件

OS X用GigE Visionカメラドライバ - その15 [OS X用GigE Vision]

今週も安曇野の工場。しかし今日でひと段落。

ここ2ヶ月ほどかかずらっている自動光学調整機の新バージョンがとうとう動いた。調整不能を減らしてさらに調整精度を上げるため、光学検出部分をアップグレードして本体にあるシーケンサから主導権を奪うことにした。それに対応したプログラミングをずっとしていたけど、なかなか満足に動かなかった。口の悪い営業の連中は「装置の中にあんたが入って手で動かせばいいんですよ。蓋をして外からは見えないようにすれば、あとは僕らが『ほら、完全自動で動いてます!』と言いますから」なんて言ってた。ようするにぜんぜん信用していない。

昨日致命的なバグがやっととれて思った通りに動き出した。周りで見ている連中にとってはほとんどガラクタと思っていたものが急にまともに動き出したように見えたので「うわ!なにこれ?」とか言ってた。でも急に変わったわけではなくて、もちろん地道な作業の結果。

個人的には色々勉強になった。広大なカメラ視野から特定の特徴を持った場所を効率よく探す方法、カメラ画像というS/Nのあまり良くないデータから高精度に強度分布をフィットする方法、ヒステリシスや大きな非線形性を持っているメカの制御の仕方などなど、関連する古いペーパを読んだり、自分でアルゴリズムを考えて試してみたりした。それなりに面白かった。とりあえず思った通りに動くけど、改善の余地はいっぱいある。まだたまにクラッシュするし。

まあ、それはいいとして、前回から始めたGEN<i>CAMの規格の抄訳。続きをやる。

続きを読む


OS X用GigE Visionカメラドライバ - その14 [OS X用GigE Vision]

今週もやっぱり工場に来ている。こないだやってたRaspberry Piを使った評価装置はバラックの状態だけどちゃんと動くようになって、データが出せるようになった。これはひと段落で、バラックをもう少しスマートなかたちにまとめて、精度や再現性の確認をする。

それと、ずっと前からやってる大掛かりな(僕のいる会社にしては、という意味だけど)調整装置の光学部分。調整精度を上げるために光学系とフォトディテクタを新しくして、ソフトウェアを改良している。こちらもひと段落させたいと思ってたんだけど、なかなかうまくいかない。その原因のひとつは、ソフトウェアの全体設計がイマイチだった、ということ。もともとヘッドレスのMac miniでホストからの指令を受けて、繋がっているフォトディテクタとカメラからの光学データを測定して返すようなつもりでいた。ところが、幾つかの経緯があって結局自分でホストの役をしなければならなくなった。

ホストからの要求があるとその仕事をする、というようなイベントドリブン型のいちばん単純な動作をするように書いてあったのを、シーケンサ経由でユーザからの指示に従ってデータをとって、その結果に従ってシーケンサに動作要求するような、もう一層レイヤをかぶせたような書き方をしないといけない。しかも、結局ヘッドレスではなくてユーザに対する表示もやれ、ということになって、どんどんぐちゃぐちゃになってきた。そんなもんまったく想定してなかった。

ちまちま手直ししてたんではスパゲティになってしまいそうなので、上層部を書き換えたいんだけど、なんだかめんどくさくてなかなか気が乗らない。夜ネットに繋がらないせいもあってつい、仕事中に徘徊してしまう。い、いかん。これでは帰れない。



と、いうことで(何がや)GigE Visionの続き。前回まででGEN<i>CAM仕様のカメラ記述ファイルが手に入った。これに従ってカメラを制御すればいい。ところがどっこい、それが簡単ではない。

続きを読む


OS X用GigE Visionカメラドライバ - その13 [OS X用GigE Vision]

最晩年のキリコってなんか諸星大二郎みたい。キリコやってるのを知らなかったので終わる前にぜひとも見に行かなければ。ところで、ここんとこ週のほとんどは安曇野の工場で作業している。シーズンは登山客や観光客が押し寄せて宿の確保に苦労するので、この夏から会社でアパートを借り上げてそこに寝泊まりしている。しかしホテルと違って必要最低限の設備しかない。なによりネットがないのが致命的。僕はスマホなんかのテザリングの手段も持ってないので、工場を出ると目耳がないのと一緒。つらい。

ところで、前回までで、シャッタやゲインの設定やデータ転送の開始などといったカメラの制御のためにはそのカメラの機能を記述したGEN<i>CAM仕様のXMLファイルを読まないといけなくて、その場所はカメラの標準的なブートストラップレジスタに書いてある、ということがわかった。おそらく最も多いパターンはカメラの不揮発性メモリ領域にzip圧縮されて入っている、という場合だろう(XMLファイルなので圧縮効率は高い)。

zip圧縮されたデータの場合いわゆる解凍という作業をしないといけない。zipは一般的な形式なので解凍はできるが、僕が使っているカメラでは問題が発生した。

続きを読む


OS X用GigE Visionカメラドライバ - その12 [OS X用GigE Vision]

最近ショスタコーヴィチの交響曲15番の第2楽章に出てくるトロンボーンのフレーズが頭の中で鳴っているのに気がつくことがよくある。しかもいつの間にか一緒に鼻歌みたいにして歌ってたりする。なんとなく不吉な感じがするな....たまたま近くにいて僕の鼻歌を聞いた人は不吉というよりちょっと怖かったかもしれないけど。

ところで、前回までの話でUDPブロードキャストに対する応答からカメラを特定することができたとする。これで画像が撮れるかというとそうではない。

続きを読む


OS X用GigE Visionカメラドライバ - その11 [OS X用GigE Vision]

前回まででGigE Visionカメラのデバイス探索はUDPのブロードキャストを投げてカメラから応答することで完了することをまとめた。今回はブロードキャストするときの問題について。

続きを読む


OS X用GigE Visionカメラドライバ - その10 [OS X用GigE Vision]

また今週も工場に来ていて、またもや待ち時間になっている。どうしても量産とそれに付随する作業が最優先になるのでしょうがない。待ち時間の間に続きを書く。

こないだまでで、カメラ探索のためにUDPのブロードキャストを流すこと、そのブロードキャストにはどんなデータを詰め込むのかということをざっくりおさらいした。今日は、そのブロードキャストによってカメラからどんなデータが返ってくるかについて。

続きを読む


OS X用GigE Visionカメラドライバ - その9 [OS X用GigE Vision]

昨日はデバイス探索のためにUDPのブロードキャストを流す、というコードを書いてみた。今日は、ではどんなデータをブロードキャストすればいいのかと、カメラはそのときどう答えるのか、ということについて。

10/29追記:コードに間違いがあった。修正。

続きを読む


OS X用GigE Visionカメラドライバ - その8 [OS X用GigE Vision]

こないだからやってるGigE Vison準拠カメラをOS Xで動かすためのおさらい。前回まででUDPを使って通信するんだあ、ネットワーク上のカメラを探すのにUDPのブロードキャストを使うんだあ、あとはカメラのレジスタに書き込むことで動作を起動することができるんだあ、画像データはやっぱりUDPのパケットで送られてくるんだあ、ということまではわかった。

概要を追いかけているだけでは退屈してきた。あんまり仕様をちまちま追いかけていてもわかった気にならないので、実際にコードを書いていこうと思う。まずカメラ探索....

続きを読む


OS X用GigE Visionカメラドライバ - その7 [OS X用GigE Vision]

まだ工場にいて、他人の作業の合間に、先週見つかった問題の解決のための実験をしている。どうもメカが怪しいと思うんだけどまだよくわからない。作業のための装置が取り合いになるせいで待ち時間が多いが、まもなく一段落するはずなので、その後は集中的にできることになっている。

ところでGigEカメラをOS Xで使いたいという欲求から、こないだからGigE Visionの規格のおおまかなところをおさらしている。GigE Visionは1000Base T接続のカメラをホストコンピュータから制御して画像データを転送するための規格である。昨日までで、通信にはUDPをそのまま使うこと、DHCPのようにUDPブロードキャストを使って到達可能なカメラのIPアドレスを探すようになっていること、ホストはカメラの特定のメモリアドレスにアクセスすることでコマンドを発行しカメラは書き込まれた内容に従って動作を開始すること、どこのアドレスがどういう機能に対応するかというのはGEN<i>CAMというGigE Visionとは別の規格に従ったXMLファイルに書かれていること、などといった概要をおさらいした。

概要のおさらいも飽きてきたので、そろそろ何かしたい時期ではあるんだけど、今日はホストとカメラの間のデータのやりとりのためのチャンネルと言う概念について。

続きを読む


OS X用GigE Visionカメラドライバ - その6 [OS X用GigE Vision]

昨日からまた工場に来て先週の問題のおさらいをしている。ちょっとした測定機が欲しい。またバラックで組もうと思う。前の会社はデカかったので、汎用の測定機なんてどんなもんでもその辺に転がっていたけど、今度の会社はほとんど何もない。ちゃんとした測定機メーカの製品を新しく買うのはなかなか難しいので、いきおい自分で作ろうか、と考えてしまう。例によって待ち時間が多いので、いろいろ妄想している。

ということで続き。今日はGEN<i>CAMというGigE Visionとは別の規格の話。GigE Visionカメラを動かすにはこれを避けて通れないらしい。でもこの規格、どうも僕はあまり好きになれない。まあ、その話はおいおいするとして.....

続きを読む


前の10件 | 次の10件 OS X用GigE Vision ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。