[ros-users] Fwd: [Pr2-users] How to calibrate camera_synchronizer_node?

Blaise Gassend blaise at willowgarage.com
Wed Sep 22 19:53:26 UTC 2010


Hi Ulrich,

After rereading your original email some more, I am wondering if I
correctly understood the trouble you are having. Is the following
understanding correct?

Most of the time things are good. Every once in a while (every few
seconds?) you get one (many?) frames where the textured and untextured
channels are swapped.

Is that accurate? If not, could you possibly post a bag with the
offending image_raw camera output so that I can be sure of my
understanding of the problem. Keep it short as these bags get big very
fast. A single camera is probably sufficient, no need to send both,
unless something extra is illustrated.

Could you try killing the following code from
pr2_camera_synchronizer/synchronizer_classes.py?

{{{
         # In case the controllers got restarted, refresh their state.
         controller_update_count += 1
         if controller_update_count >= 10:
             controller_update_count = 0
             for controller in self.controllers:
                 controller.update();
}}}

It causes a problem similar to my understanding of your problem in the
tests I have been doing.

On Wed, Sep 22, 2010 at 3:13 AM, Ulrich Friedrich Klank <klank at in.tum.de> wrote:
> Hi Blaise,
>
> sorry for posting the last email twice.
>
> Thanks for the quick response. Unfortunately, neither the trunk version
> nor "projector tweak" could solve the problem.
>
> Here is the dynamic-reconfigure-dump which gives the leasts corrupted
> images in the no-texture topic (but still a significant amount of empty
> point clouds):
>
> {camera_reset: false, forearm_l_rate: 30.0, forearm_l_trig_mode: 1,
> forearm_r_rate: 30.0,
>   forearm_r_trig_mode: 1, narrow_stereo_trig_mode: 5, projector_mode:
> 2, projector_pulse_length: 0.001,
>   projector_pulse_shift: 0.0, projector_rate: 40.0, projector_tweak:
> 0.0, prosilica_projector_inhibit: false,
>   stereo_rate: 20.0, wide_stereo_trig_mode: 2}
>
> Regarding projector tweak i tried "rosparam set projector_tweak -0.001".
> Is this what you meant? I could not see any effect.
>
> Best regards,
> Ulrich Klank
>
> On 09/22/10 07:09, Blaise Gassend wrote:
>> One thing I forgot to mention is that you can relatively easily set
>> your own waveforms for the camera and projector by directly calling
>> the set_waveform services and dynamically reconfiguring the cameras.
>> If you want one particular waveform, that is a good approach. For
>> something more generic, the right thing is to get the bugs out of
>> pr2_camera_synchronizer.
>>
>> Have you tried the projector_tweak? From the symptoms you describe,
>> that should get you going.
>>
>> There is an updated version pr2_camera_synchronizer in trunk
>> (https://code.ros.org/svn/wg-ros-pkg/stacks/pr2_robot/trunk/pr2_camera_synchronizer)
>> that eliminates some problems with low frame rates. If you were
>> experimenting with low frame rates, this fix and projector_tweak
>> should get you going.
>>
>> On Tue, Sep 21, 2010 at 12:13 PM, Blaise Gassend
>> <blaise at willowgarage.com>  wrote:
>>
>>> I see that my previous reply to Dejan didn't go to the whole list, so
>>> here it is.
>>>
>>> There aren't currently any calibration knobs other than
>>> projector_tweak. Have you tried setting projector_tweak to -0.001?
>>> (Described here
>>> http://www.ros.org/wiki/pr2_camera_synchronizer/Troubleshooting). This
>>> should get you going when grabbing images when the camera frame rate
>>> is half the projector frame rate, but apparently not when the camera
>>> frame rate is less than that.
>>>
>>> Since these problems seem to be coming to a head the past couple of
>>> weeks, I think it is time for me to finally stop and fix them.
>>>
>>> Can you send me the output of dynparam dump on the synchronizer node?
>>>
>>> On Tue, Sep 21, 2010 at 6:36 AM, Ulrich Friedrich Klank<klank at in.tum.de>  wrote:
>>>
>>>> Hi pr2-users,
>>>>
>>>> On our PR2, we are experiencing currently a temporal offset between
>>>> emitted textured light and labeled data in the narrow+wide point cloud
>>>> and images. We get images with texture on it in the wrong topic and some
>>>> empty point clouds.
>>>>
>>>> While filtering out empty point clouds is easy, it is  difficult to
>>>> detect in non-colored images if the pattern is visible or not.  (Which
>>>> makes image processing based on edges impossible)
>>>>
>>>> So I wanted to ask, if and how it is possible to influence the time when
>>>> the textured light is emitted. Or even better, can it be calibrated with
>>>> the exposure of the cameras in "AlternatingProjector" mode?
>>>>
>>>> Are there any settings beyond the parameters available in
>>>> camera_synchronizer_node? (Those parameter did not help)
>>>>
>>>> Thanks in advance,
>>>>
>>>> Ulrich Klank
>>>>
>>>>
>>>> --
>>>> Ulrich Klank                        klank at in.tum.de
>>>> Technische Universität München | Boltzmannstr 3 |
>>>> 85748 Garching bei München  | Germany
>>>> ias.in.tum.de/people/klank | Tel: +49 89 289 - 26909
>>>>
>>>> _______________________________________________
>>>> PR2-users mailing list
>>>> PR2-users at lists.willowgarage.com
>>>> http://lists.willowgarage.com/cgi-bin/mailman/listinfo/pr2-users
>>>>
>>>>
>>>
>
>
> --
> Ulrich Klank                        klank at in.tum.de
> Technische Universität München | Boltzmannstr 3 |
> 85748 Garching bei München  | Germany
> ias.in.tum.de/people/klank | Tel: +49 89 289 - 26909
>
> _______________________________________________
> PR2-users mailing list
> PR2-users at lists.willowgarage.com
> http://lists.willowgarage.com/cgi-bin/mailman/listinfo/pr2-users
>



More information about the ros-users mailing list