ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

What it is looking for is the name space that the image_raw topic to get images from. This is determined by whatever is launching your camera nodes.

If you already have camera nodes running:

The easiest way to get this is to start your camera nodes and run rostopic list. This will list the topics on your system, so just look for image_raw topics coming from your cameras. That will let you know what the fully-qualified topic name is, which is what you pass to the camhistograms node. If you want to check which topic is which camera, use the image_view package to display the image from the cameras, one at a time, and wave your hand in front of each camera to identify it.

If you do not already have camera nodes running:

You will need to start the nodes for your cameras. According to the pointgrey_camera_driver documentation, you should pass the serial number of the camera (which you have already found) in as the camera_serial argument for roslaunch. (I took a quick look at the code and it looks like it will try to find the serial number itself if you do not provide it.) However this is just for providing camera information. The node name and thus the name space the image_raw topic lives under has a default defined in the camera.launch file, but you can override that by passing the camera_name argument to roslaunch. Since you have two cameras, you will probably need to do this. The wonderful thing here is that you can define what each camera is called, so you know exactly what to pass to ros_flydra/camhistograms. If you name your cameras bob and bill, then the topics will be /bob/image_raw and /bill/image_raw.

What it is looking for is the name space that of the image_raw topic to get images from. This is determined by whatever is launching your camera nodes.

If you already have camera nodes running:

The easiest way to get this is to start your camera nodes and run rostopic list. This will list the topics on your system, so just look for image_raw topics coming from your cameras. That will let you know what the fully-qualified topic name is, which is what you pass to the camhistograms node. If you want to check which topic is which camera, use the image_view package to display the image from the cameras, one at a time, and wave your hand in front of each camera to identify it.

If you do not already have camera nodes running:

You will need to start the nodes for your cameras. According to the pointgrey_camera_driver documentation, you should pass the serial number of the camera (which you have already found) in as the camera_serial argument for roslaunch. (I took a quick look at the code and it looks like it will try to find the serial number itself if you do not provide it.) However this is just for providing camera information. The node name and thus the name space the image_raw topic lives under has a default defined in the camera.launch file, but you can override that by passing the camera_name argument to roslaunch. Since you have two cameras, you will probably need to do this. The wonderful thing here is that you can define what each camera is called, so you know exactly what to pass to ros_flydra/camhistograms. If you name your cameras bob and bill, then the topics will be /bob/image_raw and /bill/image_raw.