mac + docker でrosを設定できるところまでやる
概要
macとdockerを使ってrosを立ち上げる時の備忘録
ros image + ubuntu vnc
ここを参考にしてVNCを用いてrosイメージのubuntu環境を触ることができる。
docker 環境にusbデバイスを認識させる
そもそもmacがどうusbデバイスを認識しているのかがわかっていないが、
docker コンテナにusbデバイスを認識させるためにはvirtualbox ベースのdocker hyperviser を使用する必要がある。
https://github.com/jlhonora/lsusb
ここを使いmacからlsusbコマンドを実行できるようにすると便利。
ハイパーバイザを用いる時のvncへのポートフォーワーディング
https://qiita.com/hnakamur/items/3640825cf2c5d2d4a52a
ここを参考にし、VMにポートフォーワーディングを設定する。
よくわからないところ
vnc でros環境のubuntuに接続し、
/dev/video
などのデバイスドライバを確認しようとしても、見つからないこと。
使ったコマンド
docker-machine ls
eval $(docker-machine env docker-host-default)
vboxmanage controlvm "docker-host-default" natpf1 "test,tcp,127.0.0.1,6080,,6080"
docker run --rm --device /dev/usbmon0 --device /dev/usbmon1 --device /dev/usbmon2 -p 6080:80 --shm-size=512m tiryoh/ros-desktop-vnc:kinetic
docker run -p 6080:80 --shm-size=512m tiryoh/ros-desktop-vnc:kinetic
sudo apt-get update
sudo apt-get install -y usbutils
$ lsusb
$ sudo apt-get install ros-kinetic-uvc-camera
(console-1) $ roscore
$ rosparam set usb_cam/video_device "/dev/video1"
$ rosparam set usb_cam/pixel_format yuyv
(console-2) $ rosrun usb_cam usb_cam_node
(console-3) $ rosrun image_view image_view image:=/usb_cam/image_raw
(console-2) $ rosrun uvc_camera uvc_camera_node _device:=/dev/video1
camera callibration
(console-1) $ roscore
(console-2) $ rosrun usb_cam usb_cam_node
(console-3) $ rosrun camera_calibration cameracalibrator.py --size 9x6 --square 0.024 image:=/usb_cam/image_raw
$ cp /tmp/calibrationdata.tar.gz /path/to/destination
Author And Source
この問題について(mac + docker でrosを設定できるところまでやる), 我々は、より多くの情報をここで見つけました https://qiita.com/kenmaro/items/9edda5d3eee63d70a2bc著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .