ros-drivers / pointgrey_camera_driver

ROS driver for Pt. Grey cameras, based on the official FlyCapture2 SDK.
128 stars 180 forks source link

Can't externally trigger faster than 27Hz #72

Open dwes7 opened 7 years ago

dwes7 commented 7 years ago

We are trying to trigger the CM3-U3-13S2C-CS camera at 30Hz (which is it's limit) but when triggering the camera at 30 Hz, it ends up taking only every other pulse, resulting in a speed of about 15Hz. With an external trigger, the camera only runs up to 27 Hz and above that runs at half speed.

The command we are using is:

rosrun pointgrey_camera_driver camera_node _enable_trigger:=true

How can we trigger the camera at 30Hz?

k88joshi commented 5 years ago

Were you able to figure out a solution to this problem? I beleive that whenever I cover the camera the framerate goes down. Even when I set the exposure time and shutter speed to a constant I can not get it to run at the triggering speed. However, when I put it in free run mode it runs fine under any condition.

I have a similar problem with the following launch file.

<group ns="$(arg camera0_name)">
    <node pkg="nodelet" type="nodelet" name="camera_nodelet_manager" args="manager" />

    <node pkg="nodelet" type="nodelet" name="camera_nodelet"
          args="load pointgrey_camera_driver/PointGreyCameraNodelet camera_nodelet_manager" >
      <param name="frame_id" value="$(arg camera0_name)" />
      <param name="serial" value="$(arg camera0_serial)" />

      <!-- When unspecified, the driver will use the default framerate as given by the
           camera itself. Use this parameter to override that value for cameras capable of
           other framerates. -->
      <param name="frame_rate"     value="40" />
      <param name="format7_color_coding" value="Mono8" />

      <param name="enable_trigger" value="True"/>
      <param name="trigger_source" value="gpio0"/>
      <param name="trigger_mode" value="mode0"/>
      <!--<param name="trigger_polarity" value="1"/>-->

      <!-- <param name="auto_exposure" value="False" />
      <param name="exposure" value="1.35" />

      <param name="auto_shutter" value="False" />
      <param name="shutter_speed" value="0.025" />

      <param name="auto_gain" value="False" /> -->

    </node> 

    <node pkg="nodelet" type="nodelet" name="image_proc_debayer"
          args="load image_proc/debayer camera_nodelet_manager">
    </node>
  </group>

Please advise.