nicoros - Vision¶
The Vision class allows the access to the cameras through ROS.
To start the interface run one of the preset launch files:
# old cameras
roslaunch nicoros nicoros_vision_Logitech_C905.launch
# new cameras
roslaunch nicoros nicoros_vision_See3CAM_CU135.launch
or start the node manually using:
rosrun nicoros Vision.py
Many options are available to change the behaviour. For a list of them run:
rosrun nicoros Vision.py -h
most of these also apply to the launch files
Exposed topics¶
The following ROS topics are exposed by the class - where $PREFIX stands for the prefix of the topics/services (Default: /nico/vision):
ROS topic name |
Message type |
Short description |
|---|---|---|
$PREFIX/left |
sensor_msgs/Image |
Video stream of the left camera |
$PREFIX/right |
sensor_msgs/Image |
Video stream of the right camera |
Exposed services¶
The following ROS services are exposed by the class - where $PREFIX stands for the prefix of the topics/services (Default: /nico/vision):
ROS service name |
Service type |
Short description |
|---|---|---|
$PREFIX/setZoom |
nicomsg/SetIntValue |
Sets the zoom of the camera (if any) and returns whether successful |
$PREFIX/setPan |
nicomsg/SetIntValue |
Sets the pan of the camera (if any) and returns whether successful |
$PREFIX/setTilt |
nicomsg/SetIntValue |
Sets the tilt of the camera (if any) and returns whether successful |
Class documentation¶
Stereo Vision¶
Note
The Vision module has been updated and is now capable to stream multiple cameras at once. This section is therefore obsolete.
Both cameras can be launched simultaneously with the stereoVision.launch file. It requires the libuvc_camera package (http://wiki.ros.org/libuvc_camera). To execute it run:
roslaunch nicoros stereoVision.launch serialL:="2DE7B460" serialR:="17E79161"
The arguments serialL and serialR are used to address the left and right camera by their serial. To get the serials of all connected cameras run:
lsusb -v -d 046d:080a | grep -i serial
To change the camera settings edit the parameter values in the camera.launch file or add new parameters to change options that are currently not set. The full list of possible parameters can be found here: http://wiki.ros.org/libuvc_camera#Parameters
Keep in mind however that due to the fact that there is twice as much data, high resolutions are only possible with lower frame rates. The following table shows the highest possible frame rate for the resolutions supported by the webcam (last checked on 23.12.2016):
Resolution |
Maximum fps |
|---|---|
1600x1200, 1600x1000, 1600x904 |
0 |
1280x800, 1280x720, 960x720 |
5 |
864x480, 800x600, 800x504 |
10 |
800x456, 768x480, 640x480 |
15 |
640x400, 640x360 |
20 |
352x288, 320x240 and lower |
30 |
The cameras use the /stereo/left and /stereo/right namespaces for their topics and services. The published topics and services are listed here: http://wiki.ros.org/libuvc_camera#camera_node