Flea3のカメラをKinectをROSで動かすときにpointgrey-camera-driverを使いますが,dockerの中でどのように使うのかイマイチわからなかったので書いておきます.ついでにKinectも同じ手法でdocker内から動かせました.

ま、ROSで使うなら,docker run –net=host *** でpointgrey-camera-driverをdocker外から動かせばdocker内でtopicをサブスクライブできるんだけど,ちょっと特殊な理由でdocker内で動かしたかったのです.

何がわからなかったのか:docker run –device=/dev/hogehoge *** の/dev/hogehogeがどれとflea3のカメラが対応しているのかわからなかった

解決策

USBデバイス関連のデバイスファイル(/dev以下にあるファイル)は/dev/bus/usb以下にあるようです.なので,この下のファイルがそれぞれどのデバイスに対応しているのかを調べました.

Ubuntuゴミ初心者の私は中のファイルを1つづつ
lsusb -D /dev/bus/usb/002/004
みたいに全部みていきました・ω・

全部で8ファイルくらいだったから今回はこれで出来ましたが、もっとスマートな方法あるでしょ( ‘д‘⊂彡☆))Д´) パーン

で、lsusb -Dで表示される情報にどのデバイスなのかが書いてあるので,
Device: ID 9999:1111 Point Grey Research, Inc.
みたいに表示されるファイルが対応しているデバイスファイルです.(ここのIDは適当)

Kinectも同じ感じでデバイスファイルを確認します.v1しか試してないけど,4つあるはずです.Microsoftなんちゃらが3つとHighSpeed Hubが1つ.

そのファイルをdocker run の時に指定してあげれば解決です!(Kinectの場合は4つ全部指定)


Categories:

No responses yet

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA