This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

LCr 4500 does not project any illumination for some menus of 3D scanning

Hello, 

I am following TI’s user guide TIDA-00254 and other documents for 3D scanning. Only different setup from the documentation is that I am using Grasshopper3 Color camera but this seems to be not a problem because trigger is already working fine with the software (3D_Scanner_LCr4500_PGcam.exe) TI provided.

My problem is that LCr 4500 does not provide any illumination for menu item 4 (Calibration camera), 5 (Calibration system), and 6 (Perform scan) whatever I do while blinking green LED on the device.

As the documentation recommended, I have done menu #1 (Generate camera calibration board) and #2 (Prepare DLP LightCrafter 4500). But I have noticed the problem when menu #4 is selected. The program said "Projecting white pattern to illuminate calibration board" but nothing came out of the projector. This symptom is same for menu #5.

I thought I did something wrong for menu #2 (Prepare DLP LightCrafter 4500) but whenever I selected the menu, it finished the setup without any error message saying "Projector prepared" Actually, projector displayed a pattern at the end of the setup.

I tried GUI application and found no problem with operating the device with the software. Of course, the problem is not due to opened GUI application. Any helpful advise would be appreciated.

  • Hello Tom,

    Can you send the Debug log? If you are compiling the code then can you rebuild the exe with following changes in the main.cpp, this will show what all happening in the projector and camera communication.

    Regards,

    Sanjeev

    int main()

    {    

       // System Variables

       dlp::PG_FlyCap2_C   camera;

       dlp::LCr4500        projector;

       // Strucrtured Light modules

       dlp::GrayCode structured_light_vertical;

       dlp::GrayCode structured_light_horizontal;

       unsigned int total_pattern_count = 0;

       camera.SetDebugEnable(false);

       projector.SetDebugEnable(false);

       camera.SetDebugEnable(true);

       projector.SetDebugEnable(true);

    ....

    ....

    ...

    }

  • Sanjeev,

    Thanks for your response. Well, looking at process of recompiling the source in the document, it could take a whole day to set the development environment and recompile OpenCv and then source with MinGW in order to comment out a few lines of code. I can't help thinking why the program does not have an option to do that. Anyway, I will try what you recommended. :-)

  • Sanjeev

    I've finally done what you suggested. Below is whole content of the recompiled program. As far as I can see, there is no particularly useful information. Please let me know if you have any other idea. Thanks.

    <<<<<<<<<<<<<<<<<<<<<< Connect and Setup Projector >>>>>>>>>>>>>>>>>>>>>>
    Loading projector settings...
    Projector settings loaded
    Connecting to projector...
    LCR4500_DEBUG: USB is NOT connected
    LCR4500_DEBUG: Initializing USB HID interface...
    LCR4500_DEBUG: Opening USB HID interface...
    LCR4500_DEBUG: USB connected successfully
    Projector connected
    Setting up projector...
    LCR4500_DEBUG: USB is connected
    LCR4500_DEBUG: Stopping pattern display
    LCR4500_DEBUG: Setting the default values...
    LCR4500_DEBUG: Setting power mode = 0
    LCR4500_DEBUG: Setting short axis image flip = 0
    LCR4500_DEBUG: Setting long axis image flip = 0
    LCR4500_DEBUG: Setting LED auto sequence = 1
    LCR4500_DEBUG: Setting LED enable red    = 1
    LCR4500_DEBUG: Setting LED enable green  = 1
    LCR4500_DEBUG: Setting LED enable blue   = 1
    Projector setup complete
    
    
    <<<<<<<<<<<<<<<<<<<<<< Connect and Setup Camera >>>>>>>>>>>>>>>>>>>>>>
    Loading camera settings...
    Camera settings loaded
    Connecting to camera...
    PG_FLYCAP2_DEBUG: **** CAMERA INFORMATION ******
    PG_FLYCAP2_DEBUG: Serial Number      = 15122609
    PG_FLYCAP2_DEBUG: Camera Model       = Grasshopper3 GS3-U3-23S6C
    PG_FLYCAP2_DEBUG: Camera Vendor      = Point Grey Research
    PG_FLYCAP2_DEBUG: Camera Sensor      = Sony IMX174 (1/1.2" Color CMOS)
    PG_FLYCAP2_DEBUG: Camera Resolution  = 1920x1200
    Camera connected
    Setting up camera...
    Camera setup completed
    
    Texas Instruments DLP Commandline 3D Scanner
    
    0: Exit
    1: Generate camera calibration board and enter feature measurements
    2: Prepare DLP LightCrafter 4500 (once per projector)
    3: Prepare system for calibration and scanning
    4: Calibrate camera
    5: Calibrate system
    6: Perform scan
    7: Reconnect camera and projector
    
    Select menu item: 1
    
    
    
    <<<<<<<<<<<<<<<<<<<<<< Generate Camera Calibration Board >>>>>>>>>>>>>>>>>>>>>>
    Loading camera calibration settings...
    Setting up camera calibration...
    Generating camera calibration board...
    Saving calibration board...
    
    Please print the camera calibration board and attach to flat surface
    The calibration board image is stored in
    ../output/calibration_camera/camera_calibration_board.bmp
    
    Enter 1 after board has been printed and attached to flat surface: 1
    
    Measure the calibration board...
    Once the calibration image has been printed and attached
    to a flat surface, measure the dimensions of the board
    
    NOTE: Measure the calibration board in the units desired
          for the point cloud! (i.e. mm, in, cm, etc.)
    
    
    Enter the total height of the calibration pattern: 4.5
    Enter the total width of the calibration pattern:  5.5
    
    Saving the new feature distances to the calibration settings file...
    
    
    Texas Instruments DLP Commandline 3D Scanner
    
    0: Exit
    1: Generate camera calibration board and enter feature measurements
    2: Prepare DLP LightCrafter 4500 (once per projector)
    3: Prepare system for calibration and scanning
    4: Calibrate camera
    5: Calibrate system
    6: Perform scan
    7: Reconnect camera and projector
    
    Select menu item: 4
    
    
    
    <<<<<<<<<<<<<<<<<<<<<< Calibrating the Camera >>>>>>>>>>>>>>>>>>>>>>
    LCR4500_DEBUG: USB is connected
    
    Camera calibration data found. Recalibrate the camera if it has been adjusted or
     moved.
    
    
    Recalibrate camera? (0 = no, 1 = yes): 1
    Loading camera calibration settings...
    Setting up camera calibration
    Projecting white pattern to illuminate calibration board
    LCR4500_DEBUG: USB is connected
    LCR4500_DEBUG: USB is connected
    LCR4500_DEBUG: Set pattern trigger mode...
    LCR4500_DEBUG: Sending image lookup table...
    LCR4500_DEBUG: Sending extended pattern lookup table...
    LCR4500_DEBUG: Configure pattern sequence...
    LCR4500_DEBUG: Start pattern sequence...
    Calibrating camera...
    Calibration boards required = 10
    Calibration boards captured = 0
    
    Capture the calibration boards at different angles and move the camera
    location and viewing angle so that the entire camera view is calibrated...
    
    Press SPACE to capture the calibration board position
    Press ESC to end calibration
    
    NOTES: The calibration board should not be moving during capture!
           Before capturing the first position, set the camera aperture!
    
    Enter 1 to start:
    

  • I fixed the problem. In system_settings_projector.txt, I changed

    LCR4500_SETTINGS_PATTERN_TRIGGER = 2

    to

    LCR4500_SETTINGS_PATTERN_TRIGGER = 0

    Because 0 means internal trigger input, I think the default value should be 0 or at least, manual should mention it.
  • Glad you are able to fix the issue. Our 3D SDK uses Camera triggering the Projector, that is the reason why we have put it 2. Since it is the camera which is doing capture, we think it can send trigger to Projector whenever it is ready to grab one frame. Otherway should also work fine.

    Regards,
    Sanjeev