In ROS, the support for computer vision is provided by means of camera drivers, the integration of OpenCV libraries, tools to set the frame transform (tf
) of the camera optical frame with respect to our robot, and a good number of third-party tools, which comprise algorithms for visual odometry, augmented reality, object detection, and perception, among others.
The first capability that ROS offers us when working with vision is the ability to manage FireWire (IEEE1394a or IEEE1394b) cameras. Indeed, a package in the main ROS framework contains the drivers for such cameras. In the case of USB or gigabit Ethernet cameras, we must install third-party drivers or use our own. In this chapter, we will list USB drivers that come as ROS packages, and we will also provide a driver source code implemented with the OpenCV video capture API. USB cameras are pretty inexpensive and easy to find on the market, so they follow the goal of this book: learn by practice.
This chapter...