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.

Linux/IWR1443BOOST: Update Calibration Parameters

Part Number: IWR1443BOOST
Other Parts Discussed in Thread: IWR1443

Tool/software: Linux

Hi,

I have calibrated my IWR1443BOOST radar and got updated compRangeBiasAndRxChanPhase parameters. However the config file stops working when I overwrite the parameters already there. As I am using ROS, I am using the rosparam set command to input the new values.

Is there a way to update these directly to the cfg file?

Thanks.

  • Hello Rupak,

    You would need to modify the chirp config file used by ROS. For IWR1443 3D config the file would be ti_mmwave_rospkg\cfg\1443_3d.cfg. You may want to save a copy of the original file before modifying it to keep as a reference.

    Regards,
    John
  • Hi John,

    In the cfg file attached, I tried using the new values in the commented line, but roslaunch gives an error. Works fine with the original values.

    0876.1443_3d_calibrated.cfg

  • Hi Rupak,

    Did you try re-configuring the device with the calibrated config after the device was already started with the default config? If so, can you instead try replacing the default config file with the calibrated one so it is loaded when the ROS Visualizer starts? Also, please try pressing the NRST button on the EVM before starting the ROS visualizer to see if it helps.

    If you still see an error message, please copy the full ROS console trace (including the error message into a text file and attach it to this thread.

    Regards,
    John
  • Hi John,

    This is the error message I am getting when I replace the default compRangeBiasAndRxChanPhase parameters-

    [ INFO] [1538496380.002366606]: mmWaveQuickConfig: Ignored blank or comment line: '%compRangeBiasAndRxChanPhase 0.0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0'
    [ INFO] [1538496380.002464988]: mmWaveQuickConfig: Sending command: 'compRangeBiasAndRxChanPhase 0.0929905 -0.76328 -0.47278 -0.70398 -0.61981 -0.81354 -0.58151 -0.55066 -0.55624 -0.69748 -0.49789 -0.62234 -0.63562 -0.73141 -0.61798 -0.48236 -0.57867 -0.87885 -0.05945 -0.83102 -0.20761 -0.88046 -0.12943 -0.75809 -0.30759'
    [ INFO] [1538496380.003412260]: mmWaveCommSrv: Sending command to sensor: 'compRangeBiasAndRxChanPhase 0.0929905 -0.76328 -0.47278 -0.70398 -0.61981 -0.81354 -0.58151 -0.55066 -0.55624 -0.69748 -0.49789 -0.62234 -0.63562 -0.73141 -0.61798 -0.48236 -0.57867 -0.87885 -0.05945 -0.83102 -0.20761 -0.88046 -0.12943 -0.75809 -0.30759'
    [ INFO] [1538496380.015044743]: mmWaveCommSrv: Received response from sensor: 'compRangeBiasAndRxChanPhase 0.0929905 -0.76328 -0.47278 -0.70398 -0.61981 -0.81354 -0.58151 -0.55066 -0.55624 -0.69748 -0.49789 '
    [ INFO] [1538496380.016876365]: mmWaveQuickConfig: Command failed (mmWave sensor did not respond with 'Done')
    [ INFO] [1538496380.016987081]: mmWaveQuickConfig: Response: 'compRangeBiasAndRxChanPhase 0.0929905 -0.76328 -0.47278 -0.70398 -0.61981 -0.81354 -0.58151 -0.55066 -0.55624 -0.69748 -0.49789 '
    [ INFO] [1538496380.026193592]: mmWaveCommSrv: Received (previous) response from sensor: '-0.62234 -0.63562 -0.73141 -0.61798 -0.48236 -0.57867 -0.87885 -0.05945 -0.83102 -0.20761 -0.88046 -0.12943 -0.75809 -0.30759
    Do'
    [ INFO] [1538496380.026264157]: mmWaveCommSrv: Sending command to sensor: 'compRangeBiasAndRxChanPhase 0.0929905 -0.76328 -0.47278 -0.70398 -0.61981 -0.81354 -0.58151 -0.55066 -0.55624 -0.69748 -0.49789 -0.62234 -0.63562 -0.73141 -0.61798 -0.48236 -0.57867 -0.87885 -0.05945 -0.83102 -0.20761 -0.88046 -0.12943 -0.75809 -0.30759'
    [ INFO] [1538496380.027666466]: mmWaveCommSrv: Received response from sensor: 'ne
    mmwDemo:/>'
    [ERROR] [1538496380.030269565]: mmWaveQuickConfig: Command failed (mmWave sensor did not respond with 'Done')
    [ERROR] [1538496380.030295755]: mmWaveQuickConfig: Response: 'ne
    mmwDemo:/>'
    [mmWaveQuickConfig-3] process has died [pid 13818, exit code 1, cmd /home/rupak/patroness_ws/devel/lib/ti_mmwave_rospkg/mmWaveQuickConfig /home/rupak/patroness_ws/src/ti_mmwave_rospkg/cfg/1443_3d_calibrated.cfg __name:=mmWaveQuickConfig __log:=/home/rupak/.ros/log/1959b628-c65d-11e8-b3bb-9cb6d0fedb35/mmWaveQuickConfig-3.log].
    log file: /home/rupak/.ros/log/1959b628-c65d-11e8-b3bb-9cb6d0fedb35/mmWaveQuickConfig-3*.log

    It works properly when I load the values after it has started with the default values, but it's an extra step I'd like to get rid of.

    Thanks.
  • Hi Rupak,

    I may need to try it out myself to try to reproduce the issue. I should be able to allocate some time in the next one to two days and will respond once I have tried it.

    Regards,
    John
  • Hi Rupak,

    I was able to reproduce the issue you reported.  It looks like the serial port readline command in the mmWave ROS driver is only set to read 128 bytes at a time which works fine for the default compRangeBiasAndRxChanPhase config but not for the updated compRangeBiasAndRxChanPhase call since it causes the response from the device to exceed 128 bytes.  You can change the <catkin_ws>/src/ti_mmwave_rospkg/src/mmWaveCommSrv.cpp as follows and then rebuild using catkin_make to resolve the issue.

    In <catkin_ws>/src/ti_mmwave_rospkg/src/mmWaveCommSrv.cpp change both instances of "128" to "1024".

    Specifically, change both instances of the following line (one on line 93 and one on line 104) from:

    mySerialObject.readline(res.resp, 128, ":/>");

    to:

    mySerialObject.readline(res.resp, 1024, ":/>");

    Then rebuild using "catkin_make".  Afterwards, the driver should be able to load the calibrated cfg file with no errors.

    Regards,

    John

  • Works now, thanks John!