ROSでUSBカメラを表示させる
ROSをインストールしたので、早速使っていきたいです。
最初はUSBカメラの画像を表示させようと思います。
※この記事では最終的にカメラ表示できません。失敗談です.
カメラはLOGICOOL ウェブカム HD画質 120万画素 C270です。
UVC対応なのでlinuxでもすぐに認識してくれます。
確認は方法は以下。
lsusb
つらつら表示される中にありました。
「Bus 003 Device 003: ID 046d:0825 Logitech, Inc. Webcam C270」
これで認識されてることがわかりました。
次はuvcカメラのパッケージをインストールします。
sudo apt install ros-melodic-libuvc-camera
kineticとかではuvc-cameraで良かったが、melodicではlibuvc-cameraになったようだ。
参考:libuvc_camera - ROS Wiki
動くか試してみる。
1つめの端末
roscore
2つめの端末で
rosrun libuvc_camera camera_node
たぶん、エラーになります。
- デバイスに書き込み権限を与える
004のところは先程のエラー画面を確認する。
sudo chmod o+w /dev/bus/usb/001/004
- /etc/udev/rules.d/99-uvc.rulesにベンダーとプロダクトIDを記載しておく。
lsusbで表示されたデバイス情報を参照。
sudo gedit /etc/udev/rules.d/99-uvc.rules
# UVC cameras
SUBSYSTEMS=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="0825", MODE="0666"
- カメラを起動できるように解像度やフレームレートを調整する
表示可能なカメラスペックの確認はv4l2-ctlを使用する。
インストール
sudo apt install v4l2-ctl sudo apt install uvccapture
動作確認したけど、ダメだった。
パッケージはアンインストールした。
sudo apt remove ros-melodic-libuvc-camera