Closed kingfolk closed 8 years ago
One question. May I?
I launch stereo_node but both left and right image_raw topics return pitch black image. All 0. I have also try ros point grey driver to use two cameras at the same time. but only the first one streaming correctly. I have setup the usbfs again and again... 1000 or 256... kernel version 3.19... flycapture sdk 2.6 and 2.8, both are not working properly... Do you have a clue what is going wrong?
I can recommend a couple of things to try.
Great! Thanks!
Step 1 is good.
Step 2. I got (FlyCap2:15664): libglade-WARNING **: unknown attribute swapped' for <signal>.
when i start camera in second flycap. But this warning does not terminate the process. The second camera is not started. So i guess this is some sort of analogy to what happen in real situation. Two process start one after another but just the first one get the desired result.
When i using the ros pointgrey_camera_driver, if i launch two nodelet manager, each managing one camera node, the second one does not get any image. This is the launch file. https://github.com/ros-drivers/pointgrey_camera_driver/issues/8#issuecomment-70251545 But if i just start one nodelet manager(remove the namespace and reduce on manager), which however cause two camera nodes publish msg to the same topics and thus conflicting, the result /image_color
flicker between left and right camera view. which means both cameras are streaming. i am a ros newbie... can i call nodelet manager which is outside my current namespace?
Step 3 all usb ports are usb3 standard. however, i use a usb2 hub and test it with 2.6.4. single node works but stereo still not.
many thanks!
I will take a look at this issue this afternoon and let you know. I will not have time to look at the pointgrey_camera_driver though, but I think you do not need two nodelet manager. So you will have 1 nodelet manager and two camera nodelets.
Ok, I looked at it.
Turned out the stereo_node doesn't work because the launch file is not up to date with the latest change.
It is still using the old enable_trigger
parameter instead of the new trigger_source
parameter.
Be aware that this stereo node only implement software sync, which means the node fires two software triggers, one to each camera, the delay is very small, but not as good as hardware sync. If that is good enough for you, then I will leave it that way.
If you do require hardware sync, you might need to modify the node a bit yourself.
Great work! I can now launch stereo properly! Could you point out where should i modify if i want hardware sync. I know there is 2 to 1 cable that could make one camera host and the other slave.
The easiest thing to do is to use a common source to trigger both cameras. In this case, you simply set the trigger_source
to the correct gpio pin and trigger_polarity
to high for rising edge and low for falling edge. This requires no modification to the driver.
If you want to have a master/slave type of thing, this is a bit tricky. You will have to set one camera's strobe_source
to some pin and the other camera's trigger_source
to some pin. This cannot easily done through the dynamic reconfigure server as it copies the config and set it to both cameras. My workaround for this (as I did in bluefox2) is just manually set those settings in the Flea3Ros constructor. see: https://github.com/KumarRobotics/bluefox2/blob/master/src/bluefox2_ros.cpp
Obviously this is very ugly and I hope you can find a better way to deal with it. I would admit that some of the design of the base classes are flawed and do not work very well with this kind of situation. But since we are always using a imu as a trigger source for our cameras, this is not a problem for us.
Cool. Though I do not understand the details... Thanks for your work! One other thing is how can I get the tf of stereo camera? Because the lib rtabmap i am using require a valid tf for camera.
The camera node does not publish a tf, it only has a frame id, the default is stereo
, you can change it to anything you want.
Hi,
I install flea3 via catkin_make with camera_base. I can't run any launch file. It seems the system has trouble to find flea3's executable lib, like flea3_single_node. i try
rosrun flea3 flea3_list_cameras
got[rosrun] Couldn't find executable named flea3_list_cameras below /home/coman/catkin_ws/src/flea3
i can successfully run the other package under catkin_ws dir. my ros version is indigo and os is ubuntu 14.04.many thanks.
EDIT: false alert... it found after rebuild. please close it.