Skip to content

Kubo: Cameras

Amy Phung edited this page Oct 19, 2019 · 3 revisions

Overview

Kubo has two cameras: 1 PointGrey color camera, 1 FLIR thermal camera. The goal is to use either image processing or machine learning fusion to be able to detect various types of roads and paths using this setup. The FLIR camera only has an analog output, and so needs a Diamond VC500 video capture card which seems to play nicely with Linux and ROS.

Hardware

  • Pointgrey Blackfly Camera: Color analog camera with ROS-interface capabilities (reference)
  • FLIR Thermal Camera: 640x512 pixel thermal camera w/ 19mm lens (reference)
  • Diamond VC500 Video Capture Card: Device to convert from analog output to USB (reference) (documentation)
  • Dual Camera Mount: Stratasys 3D-Printed fixturing mount for both cameras (link)

PointGrey Camera

Computer Setup

  1. Install flycapture by installing the requirements listed on this repository and running the install script https://github.com/RhobanDeps/flycapture
  2. In you src folder run git clone https://github.com/ros-drivers/pointgrey_camera_driver and catkin_make your workspace
  • (DEPRECATED INSTRUCTIONS: Install and set up the Pointgrey Camera Driver using the instructions on the ROS pointgrey_camera_driver page (link)) Install command: sudo apt-get install ros-kinetic-pointgrey-camera-driver
  1. Navigate to your Network Settings, choose your wired connection, and click options. Change your IPv4 settings to match those in the image below:
    Screenshot of proper settings for poolcam
  2. Disable your Ubuntu firewall while using the camera
  • Status check command: sudo ufw status
  • Disable command: sudo ufw disable

Running Camera

  1. Plug the camera USB cable into your computer
  2. In a new Terminal, run rosrun pointgrey_camera_driver list_cameras. Camera should be listed.
  3. Run roslaunch pointgrey_camera_driver camera.launch serial:='serial' to start camera's ROS node. To verify that the node is working, run rostopic list and verify that /camera/ topics are being published.

Troubleshooting

Q: Why is the output a green block with some static?

A: You probably need to change the udev rules. Try the following:

Use lsusb to find the video capture card.

$ lsusb
Bus 001 Device 005: ID 0a5c:5800 Broadcom Corp. BCM5880 Secure Applications Processor
Bus 001 Device 004: ID 0c45:6709 Microdia 
Bus 001 Device 003: ID 8087:0a2a Intel Corp. 
Bus 001 Device 002: ID 8087:8001 Intel Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 004: ID 1f4d:0102 G-Tek Electronics Group 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

The G-Tek Electronics Group is the capture card. Substitute XXX with the Bus number and YYY with the Device number in the following commands (eg: /dev/bus/usb/002/004 in this case).

$ ls -l /dev/bus/usb/XXX/YYY
crw-rw-r-- 1 root usbusers 189, 143 Jun 28 11:02 /dev/bus/usb/002/016
$ sudo chmod a+w /dev/bus/usb/XXX/YYY
$ sudo chmod o+w /dev/bus/usb/XXX/YYY
$ ls -l /dev/bus/usb/XXX/YYY
crw-rw-rw- 1 root usbusers 189, 143 Jun 28 11:02 /dev/bus/usb/002/016

Connor Novak last edited on 10/03/17

Clone this wiki locally