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.

IWR6843LEVM: Sense and Direct, python GUI

Part Number: IWR6843LEVM

Hi,

I tried to run sense and direct on the python mmwave visualiser GUI

I have received the following error message:

Python is 64 bit
Python version: sys.version_info(major=3, minor=6, micro=0, releaselevel='final', serial=0)
configType Changed to: Long Range People Detection
configType Changed to: Sense and Detect HVAC Control
Parser type: Sense and Detect HVAC Control
Connected
{'startFreq': 60.0, 'numLoops': 64, 'numTx': 3, 'sensorHeight': 3, 'maxRange': 10, 'az_tilt': 0, 'elev_tilt': 0, 'idle': 93.0, 'adcStart': 7.0, 'rampEnd': 40.0, 'slope': 100.0, 'samples': 192.0, 'sampleRate': 6000.0}
Setting box 0 invisisble
Setting box 1 invisisble
b'% ***************************************************************\n'
b'Skipped\n'
b'\rmmwDemo:/>% Created for SDK ver:03.06\n'
b'Skipped\n'
b'\rmmwDemo:/>% Created using Visualizer ver:3.6.0.0\n'
b'Skipped\n'
b'\rmmwDemo:/>% Frequency:60\n'
b'Skipped\n'
b'\rmmwDemo:/>% Platform:xWR68xx\n'
b'Skipped\n'
b'\rmmwDemo:/>% Scene Classifier:best_range_res\n'
b'Skipped\n'
b'\rmmwDemo:/>% Azimuth Resolution(deg):15\n'
b'Skipped\n'
b'\rmmwDemo:/>% Range Resolution(m):0.047\n'
b'Skipped\n'
b'\rmmwDemo:/>% Maximum unambiguous Range(m):7.29\n'
b'Skipped\n'
b'\rmmwDemo:/>% Maximum Radial Velocity(m/s):4.67\n'
b'Skipped\n'
b'\rmmwDemo:/>% Radial velocity resolution(m/s):0.3\n'
b'Skipped\n'
b'\rmmwDemo:/>% Frame Duration(msec):250\n'
b'Skipped\n'
b'\rmmwDemo:/>% RF calibration data:None\n'
b'Skipped\n'
b'\rmmwDemo:/>% Range Detection Threshold (dB):15\n'
b'Skipped\n'
b'\rmmwDemo:/>% Doppler Detection Threshold (dB):15\n'
b'Skipped\n'
b'\rmmwDemo:/>% Range Peak Grouping:enabled\n'
b'Skipped\n'
b'\rmmwDemo:/>% Doppler Peak Grouping:enabled\n'
b'Skipped\n'
b'\rmmwDemo:/>% Static clutter removal:disabled\n'
b'Skipped\n'
b'\rmmwDemo:/>% Angle of Arrival FoV: Full FoV\n'
b'Skipped\n'
b'\rmmwDemo:/>% Range FoV: Full FoV\n'
b'Skipped\n'
b'\rmmwDemo:/>% Doppler FoV: Full FoV\n'
b'Skipped\n'
b'\rmmwDemo:/>% ***************************************************************\n'
b'Skipped\n'
b'\rmmwDemo:/>sensorStop\n'
b'Done\n'
b'\rmmwDemo:/>flushCfg\n'
b'Done\n'
b'\rmmwDemo:/>dfeDataOutputMode 1\n'
b'Done\n'
b'\rmmwDemo:/>channelCfg 15 5 0\n'
b'Done\n'
b'\rmmwDemo:/>adcCfg 2 1\n'
b'Done\n'
b'\rmmwDemo:/>adcbufCfg -1 0 1 1 1\n'
b'Error: Invalid usage of the CLI command\n'
b'\rError -1\n'
b'\rmmwDemo:/>profileCfg 0 60 93 7 40 0 0 100 1 192 6000 0 0 158\n'
b'Done\n'
b'\rmmwDemo:/>chirpCfg 0 0 0 0 0 0 0 1\n'
b'Done\n'
b'\rmmwDemo:/>chirpCfg 1 1 0 0 0 0 0 4\n'
b'Done\n'
b'\rmmwDemo:/>frameCfg 0 1 32 0 250 1 0\n'
b'Done\n'
b'\rmmwDemo:/>lowPower 0 0\n'
b'Done\n'
b'\rmmwDemo:/>guiMonitor -1 1 1 0 0 0 1\n'
b'Done\n'
b'\rmmwDemo:/>cfarCfg -1 0 2 8 4 3 0 15 1\n'
b'Error: Invalid usage of the CLI command\n'
b'\rError -1\n'
b'\rmmwDemo:/>cfarCfg -1 1 0 8 4 4 1 15 1\n'
b'Error: Invalid usage of the CLI command\n'
b'\rError -1\n'
b'\rmmwDemo:/>multiObjBeamForming -1 1 0.5\n'
b"'multiObjBeamForming' is not recognized as a CLI command\n"
b'\rmmwDemo:/>clutterRemoval -1 0\n'
b"'clutterRemoval' is not recognized as a CLI command\n"
b'\rmmwDemo:/>calibDcRangeSig -1 0 -5 8 256\n'
b"'calibDcRangeSig' is not recognized as a CLI command\n"
b'\rmmwDemo:/>extendedMaxVelocity -1 0\n'
b"'extendedMaxVelocity' is not recognized as a CLI command\n"
b'\rmmwDemo:/>bpmCfg -1 0 0 1\n'
b"'bpmCfg' is not recognized as a CLI command\n"
b'\rmmwDemo:/>lvdsStreamCfg -1 0 0 0\n'
b"'lvdsStreamCfg' is not recognized as a CLI command\n"
b'\rmmwDemo:/>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\n'
b'Done\n'
b'\rmmwDemo:/>measureRangeBiasAndRxChanPhase 0 1.5 0.2\n'
b"'measureRangeBiasAndRxChanPhase' is not recognized as a CLI command\n"
b'\rmmwDemo:/>CQRxSatMonitor 0 3 4 99 0\n'
b"'CQRxSatMonitor' is not recognized as a CLI command\n"
b'\rmmwDemo:/>CQSigImgMonitor 0 95 4\n'
b"'CQSigImgMonitor' is not recognized as a CLI command\n"
b'\rmmwDemo:/>analogMonitor 0 0\n'
b"'analogMonitor' is not recognized as a CLI command\n"
b'\rmmwDemo:/>aoaFovCfg -1 -90 90 -90 90\n'
b"'aoaFovCfg' is not recognized as a CLI command\n"
b'\rmmwDemo:/>cfarFovCfg -1 0 0 7.20\n'
b"'cfarFovCfg' is not recognized as a CLI command\n"
b'\rmmwDemo:/>cfarFovCfg -1 1 -4.69 4.69\n'
b"'cfarFovCfg' is not recognized as a CLI command\n"
b'\rmmwDemo:/>calibData 0 0 0\n'

With the error message, I cannot run the lab.

Thank you for assistance.

  • Also, when I run people counting on the python mmwave demo gui, i received the following message:

    Python is 64 bit
    Python version: sys.version_info(major=3, minor=6, micro=0, releaselevel='final', serial=0)
    Parser type: 3D People Counting
    Connected
    [Errno 2] No such file or directory: ''
    No cfg file selected!
    {'startFreq': 60.0, 'numLoops': 64, 'numTx': 3, 'sensorHeight': 3, 'maxRange': 10, 'az_tilt': 0, 'elev_tilt': 0, 'idle': 343.0, 'adcStart': 7.0, 'rampEnd': 72.73, 'slope': 55.0, 'samples': 496.0, 'sampleRate': 7662.0}
    Setting box 0 invisisble
    Setting box 1 invisisble
    {'startFreq': 60.0, 'numLoops': 16.0, 'numTx': 3.0, 'sensorHeight': 3, 'maxRange': 18.806727272727272, 'az_tilt': 0, 'elev_tilt': 0, 'idle': 343.0, 'adcStart': 7.0, 'rampEnd': 72.73, 'slope': 55.0, 'samples': 496.0, 'sampleRate': 7662.0}
    Setting box 0 invisisble
    Setting box 1 invisisble
    b'% ***************************************************************\n'
    b'Skipped\n'
    b'\rmmwDemo:/>% Created for SDK ver:03.06\n'
    b'Skipped\n'
    b'\rmmwDemo:/>% Created using Visualizer ver:3.6.0.0\n'
    b'Skipped\n'
    b'\rmmwDemo:/>% Frequency:60\n'
    b'Skipped\n'
    b'\rmmwDemo:/>% Platform:xWR68xx\n'
    b'Skipped\n'
    b'\rmmwDemo:/>% Scene Classifier:best_range_res\n'
    b'Skipped\n'
    b'\rmmwDemo:/>% Azimuth Resolution(deg):15 + Elevation\n'
    b'Skipped\n'
    b'\rmmwDemo:/>% Range Resolution(m):0.042\n'
    b'Skipped\n'
    b'\rmmwDemo:/>% Maximum unambiguous Range(m):17.2\n'
    b'Skipped\n'
    b'\rmmwDemo:/>% Maximum Radial Velocity(m/s):1\n'
    b'Skipped\n'
    b'\rmmwDemo:/>% Radial velocity resolution(m/s):0.13\n'
    b'Skipped\n'
    b'\rmmwDemo:/>% Frame Duration(msec):100\n'
    b'Skipped\n'
    b'\rmmwDemo:/>% RF calibration data:None\n'
    b'Skipped\n'
    b'\rmmwDemo:/>% Range Detection Threshold (dB):15\n'
    b'Skipped\n'
    b'\rmmwDemo:/>% Doppler Detection Threshold (dB):15\n'
    b'Skipped\n'
    b'\rmmwDemo:/>% Range Peak Grouping:enabled\n'
    b'Skipped\n'
    b'\rmmwDemo:/>% Doppler Peak Grouping:enabled\n'
    b'Skipped\n'
    b'\rmmwDemo:/>% Static clutter removal:disabled\n'
    b'Skipped\n'
    b'\rmmwDemo:/>% Angle of Arrival FoV: Full FoV\n'
    b'Skipped\n'
    b'\rmmwDemo:/>% Range FoV: Full FoV\n'
    b'Skipped\n'
    b'\rmmwDemo:/>% Doppler FoV: Full FoV\n'
    b'Skipped\n'
    b'\rmmwDemo:/>% ***************************************************************\n'
    b'Skipped\n'
    b'\rmmwDemo:/>sensorStop\n'
    b'Ignored: Sensor is already stopped\n'
    b'\rDone\n'
    b'\rmmwDemo:/>flushCfg\n'
    b'Done\n'
    b'\rmmwDemo:/>dfeDataOutputMode 1\n'
    b'Done\n'
    b'\rmmwDemo:/>channelCfg 15 7 0\n'
    b'Done\n'
    b'\rmmwDemo:/>adcCfg 2 1\n'
    b'Done\n'
    b'\rmmwDemo:/>adcbufCfg -1 0 1 1 1\n'
    b'Done\n'
    b'\rmmwDemo:/>profileCfg 0 60 343 7 72.73 0 0 55 1 496 7662 0 0 158\n'
    b'Done\n'
    b'\rmmwDemo:/>chirpCfg 0 0 0 0 0 0 0 1\n'
    b'Done\n'
    b'\rmmwDemo:/>chirpCfg 1 1 0 0 0 0 0 4\n'
    b'Done\n'
    b'\rmmwDemo:/>chirpCfg 2 2 0 0 0 0 0 2\n'
    b'Done\n'
    b'\rmmwDemo:/>frameCfg 0 2 16 0 100 1 0\n'
    b'Done\n'
    b'\rmmwDemo:/>lowPower 0 0\n'
    b'Done\n'
    b'\rmmwDemo:/>guiMonitor -1 1 1 0 0 0 1\n'
    b"'guiMonitor' is not recognized as a CLI command\n"
    b'\rmmwDemo:/>cfarCfg -1 0 2 8 4 3 0 15 1\n'
    b"'cfarCfg' is not recognized as a CLI command\n"
    b'\rmmwDemo:/>cfarCfg -1 1 0 4 2 3 1 15 1\n'
    b"'cfarCfg' is not recognized as a CLI command\n"
    b'\rmmwDemo:/>multiObjBeamForming -1 1 0.5\n'
    b"'multiObjBeamForming' is not recognized as a CLI command\n"
    b'\rmmwDemo:/>clutterRemoval -1 0\n'
    b"'clutterRemoval' is not recognized as a CLI command\n"
    b'\rmmwDemo:/>calibDcRangeSig -1 0 -5 8 256\n'
    b"'calibDcRangeSig' is not recognized as a CLI command\n"
    b'\rmmwDemo:/>extendedMaxVelocity -1 0\n'
    b"'extendedMaxVelocity' is not recognized as a CLI command\n"
    b'\rmmwDemo:/>bpmCfg -1 0 0 1\n'
    b'Done\n'
    b'\rmmwDemo:/>lvdsStreamCfg -1 0 0 0\n'
    b"'lvdsStreamCfg' is not recognized as a CLI command\n"
    b'\rmmwDemo:/>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\n'
    b'Done\n'
    b'\rmmwDemo:/>measureRangeBiasAndRxChanPhase 0 1.5 0.2\n'
    b"'measureRangeBiasAndRxChanPhase' is not recognized as a CLI command\n"
    b'\rmmwDemo:/>CQRxSatMonitor 0 3 7 113 0\n'
    b"'CQRxSatMonitor' is not recognized as a CLI command\n"
    b'\rmmwDemo:/>CQSigImgMonitor 0 123 8\n'
    b"'CQSigImgMonitor' is not recognized as a CLI command\n"
    b'\rmmwDemo:/>analogMonitor 0 0\n'
    b"'analogMonitor' is not recognized as a CLI command\n"
    b'\rmmwDemo:/>aoaFovCfg -1 -90 90 -90 90\n'
    b"'aoaFovCfg' is not recognized as a CLI command\n"
    b'\rmmwDemo:/>cfarFovCfg -1 0 0 16.71\n'
    b"'cfarFovCfg' is not recognized as a CLI command\n"
    b'\rmmwDemo:/>cfarFovCfg -1 1 -1 1.00\n'
    b"'cfarFovCfg' is not recognized as a CLI command\n"
    b'\rmmwDemo:/>calibData 0 0 0\n'
    b"'calibData' is not recognized as a CLI command\n"
    b'\rmmwDemo:/>sensorStart\n'

  • Hi Ethan,

    Please use a config file based off the examples for people counting/sense and direct. They have different arguments than the config files for out-of-box, which appear to be the ones that you are using. See the detection and tracking layer tuning guides for detailed explanations of each of the arguments in the people counting/sense and direct config files.

    Detection Guide: https://dev.ti.com/tirex/explore/node?node=AEdNr6XV-uJkInkTP0HOAw__VLyFKFf__LATEST

    Tracking Guide: https://dev.ti.com/tirex/explore/node?node=AHZY4H1u04B21l9zTRElvQ__VLyFKFf__LATEST

    Best,

    Nate

  • Thanks Nathan,

    I am able to find the .cfg files for the sense and direct/3D people counting.

    However, during the launching and execution of the lab, sometimes, the program freezes.

    This includes:

    1. Unable to send commands to the evm

    2. freezes after some execution. There is no error message given

    3. for 3d people counting, it freezes with this error message:

    This occurs after execution for a few minutes.

    The configs are taken from sense and detect/3d people counting lab. Is there a way to prevent such issues from happening?

    Thank you for your assistance.

  • Hi Nathan,

    I have also tried to send the output to tera term with baudrate of 921600. The output is as such:

    How do  you decode the data?

    Thank you.

  • 1. Unable to send commands to the evm

    When all the console prints is b'', it's likely because the EVM hasn't been reset, or it's still in flashing mode.

    2. freezes after some execution. There is no error message given

    Sometimes the GUI will freeze if it's unable to keep up with the device. If you run lots of memory intensive programs with the visualizer this is more likely to happen.

    3. for 3d people counting, it freezes with this error message:

    Does this happen every single time? I've been running the visualizer for stretches of 5-10 minutes without it failing. Sometimes it misses a TLV which leads to the parsing error, but that shouldn't crash the program

    I have also tried to send the output to tera term with baudrate of 921600. The output is as such:

    The data is encoded as bytes. I would recommend redirecting the output to a text file, then you can parse it byte-by-byte with the TLV descriptions in the uart output data format user's guide.

    https://dev.ti.com/tirex/explore/node?node=AAyj5s0XcC9JJ8RDnOTvIA__VLyFKFf__LATEST

    Best,

    Nate 

  • Hi Nathan,

    Thanks for the clarification.

    1.As for the data, could you explain how do you output to text file?

    I set the sensor output com port to such configuration at baudrate of 921600.

    Then I ran the device. I got the output on terraterm and downloaded its log into a txt file.

    This is the result I had gotten:

    B
    í»íæÈkS^3IÚ ²¼ú~*?u¿=ÌL¸=>VF2PH­PI(NGÃNRWLkKQAI\Cm?n:;]9C88A)6x4B>33(0[¬/\n.8-FE-X+,]È+G(z?"&Å6³p¢YCZd~'Bn)()×L
    ]4opXknm©^+lij=Û08/züJMû[ûI!ø5ê÷4"÷6Uô ­ô@EôAEð2ð Nð
    ÂèfPèp¸ço¸æ4åg8ä3¤äNøäQ8äqAâzâ,)âM¿áàÃà0öß/ÞnMÝ.¨Ü-cÛ^+×#Ó49лÐÐ ¦Ï
    È.È*JÇKÇ)«Ç@DÅO-ÅRoÄ(NÄ3(Á,¿ÁSJ¾93½N±¼-i¼T:»:(»M­¯,B
    ÷fçàlSr3ï¬ú~*?u¿=ÌL¸=>UF5RI3PG¸PHNcNR*H}A><Y<@18A)7Zy7m05¬4B6/[.W+.X<.\-),F>)G½)]'H#&º{³1IWYqÎ+ZEno'P(Q)æIo÷hJp kki?jMl£m108/zþ3ýI¥ýJeúø47÷5¾÷6Qô@YôA@ó ?ò
    1ð Óð
    ãïçf,çoáçpåNXä3³äQ6äqã.ãM÷ââ?á,-à¥à0öß/ßnÞ.¿Þ^CÛ-lÖÖ4?ÑãÑ¿Ð §Ï
    Ég:ÇaÇ*OÇ@JÇR^Æ1Æ)«ÅO?Ä(NÄf(ÂSHÁ,¯ÀQ,¾95½-f½N½`*ºMŸn.µF°®ljB
    ´ðèÎmSZ3¼ ú~*?u¿=ÌL¸=>UF9Uy-RI@QGÀObOH±HGn*BG=@/;Y8ZZ55mA3B.0XI.0.[ý-F<-\ò*GÊ)]4(Hs"&©µI<-GÅ'ZGXnV(1)âBh<opk3iZjMlîmBm07/zþ3þI¦þJeúø4G÷5µ÷6Cöu-ô@mó óARò

    ð
    Æïéf7èpçoßæQ>åNåq/ä3©äMîã/â?áán°à¤à0ëß/Ý.¶Ý^/Û-gÖÕ4<ÑàÑÁÐ ©Ï

    Ëg7Ç_Ç4Ç*JÇ@QÇA/ÇRSÆ) ÆO/Å(PÃU*Á,À¿92¿S+¿T)½N¨¼-sºMϵ9°B
    V·èÂnSh3jÊgù?ú~*?u¿=ÌL¸=>VF6OHxNnNc2MG?MRKQXI[Ds?mj;]9C39Z87A*5 33,3B:0[F.;.\
    -X1-],F=)G§7à~n]t9ZQ7'E()Ô^ pdo*khlbm¨i?jN08/~üI
    úùJ^÷4÷5÷6.õ@7ô µôAFð>ð gð
    ÏèpÆçf4çoËä)ä3äNiäQ-äg+ãMÕãq4âG-ááà×à0äß/ßnVÝ.ªÜ-aÜ^)××:/Ó4;мÐÐ Ï
    ùÈ2È*OÈA(ÇQÇ)°Ç@LÆR®Ä(PÄO8ÃSOÂ,Ѿ92½Nü-n¼TD»:)»M´¯-B
    PéÂoSp35BÇ`?ú~*?u¿=ÌL¸=>UF?SI;QGÈP_POUOH¶HvBABn6>@.;]9A*9Z[63B/1XS1m8/[Û.2-FD-\©*G×*]'Hw"&ÔyIA-\»ZYT'NnU())á; o9h8prk7iOl+j%mDg/{06þ3þIÑýJpú#ø4C÷5²÷6?ô@hó óASò

    How could I decode the data/ what is the best way to receive the data with open source tools.

    2.Also, when I am running sense and direct lab on the GUI,

    I have encountered the following error:

    After which, the python GUI stops updating. The number of frame stays stagnant too. Only the number of points keeps changing.:

    How can I prevent this from happening?

    3.Is it possible to increase the number of people tracked for 2d sense and direct? What is the maximum number of people the IWR6843levm track? What are some factors to consider?

    Thank you.

  • 1.As for the data, could you explain how do you output to text file?

    I would recommend writing a python script to read from the COM port that is being written to. There are a number of examples of this online that should provide an adequate starting point.

    How can I prevent this from happening?

    You are running the GUI for 47000 frames, which is quite a lot. This is approximately 47 minutes. Does it only happen after quite a while? Or immediately? It may be a limitation of the PC you're running on.

    3.Is it possible to increase the number of people tracked for 2d sense and direct? What is the maximum number of people the IWR6843levm track? What are some factors to consider?

    I believe the maximum number of people to track is 20. However, it's unlikely for you to be able to track that many people accurately just due to the field of view, angle resolution and multipath reflections with many moving targets. There are two classes of factors to consider - signal factors and computing factors. For signal factors, the radar will struggle to track 20 people in a small enclosed space due to multipath reflections and tight spacing of people. In larger areas, these factors will play less of a role. From a computing perspective too, each track requires you to run an update of the Kalman filter running in the tracker. This requires more memory and more time to compute, which will affect the frame rate you can use and the amount of memory available for other tasks.