Tool/software:
I am trying to read point cloud data from the TI AWR1843Boost using ROS2 Humble on Ubuntu 22.04. I followed the configuration guide for the ROS2 driver provided at this link: https://dev.ti.com/tirex/explore/node?node=A__AFIEVaaBoBCgo.VCtJenZQ__radar_toolbox__1AslXXD__LATEST. The compilation process completed without any errors.
However, when I attempt to execute the command `ros2 launch 1843_Standard.py`
in the terminal, no data is returned. The terminal displays the following error message: cannot publish data, at ./src/rmw_publish.cpp:62 during '__function__'
.
More detailed terminal output is as follows:
$ ros2 launch 1843_Standard.py [INFO] [launch]: All log files can be found below /home/shu/.ros/log/2024-08-12-20-20-34-235342-mahalia-38381 [INFO] [launch]: Default logging verbosity is set to INFO [INFO] [mmWaveCommSrv-2]: process started with pid [38384] [INFO] [mmWaveQuickConfig-3]: process started with pid [38386] [INFO] [ParameterParser-4]: process started with pid [38388] [INFO] [DataHandlerClass-5]: process started with pid [38390] [INFO] [ConfigParameterServer-1]: process started with pid [38382] [mmWaveQuickConfig-3] [INFO] [1723486834.449115529] [rclcpp]: [mmWaveQuickConfig-3] [mmWaveQuickConfig-3] ============================== [mmWaveQuickConfig-3] mmWave ROS Driver is starting [mmWaveQuickConfig-3] ============================== [mmWaveQuickConfig-3] [mmWaveQuickConfig-3] [INFO] [1723486834.449163929] [rclcpp]: mmWaveQuickConfig: Configuring mmWave device using config file: /home/shu/Documents/myRos2/mmwave_ti_ros/ros2_driver/install/ti_mmwave_rospkg/share/ti_mmwave_rospkg/cfg/1843_Standard.cfg [DataHandlerClass-5] [INFO] [1723486834.458111373] [rclcpp]: DataUARTHandler Read Thread: Port is open [mmWaveQuickConfig-3] [INFO] [1723486834.509560491] [rclcpp]: File was opened [mmWaveCommSrv-2] [INFO] [1723486834.513696105] [rclcpp]: mmWaveCommSrv: Sending command to sensor: 'sensorStop' [mmWaveCommSrv-2] [INFO] [1723486834.617079686] [rclcpp]: mmWaveCommSrv: Received response from sensor: 'sensorStop [mmWaveCommSrv-2] Done mmwDemo:/>'Srv-2] [mmWaveCommSrv-2] [INFO] [1723486834.619375704] [rclcpp]: mmWaveCommSrv: Sending command to sensor: 'flushCfg' [mmWaveCommSrv-2] [INFO] [1723486834.622195624] [rclcpp]: mmWaveCommSrv: Received response from sensor: 'flushCfg [mmWaveCommSrv-2] Done mmwDemo:/>'Srv-2] [mmWaveCommSrv-2] [INFO] [1723486834.624400961] [rclcpp]: mmWaveCommSrv: Sending command to sensor: 'dfeDataOutputMode 1' [mmWaveCommSrv-2] [INFO] [1723486834.628139579] [rclcpp]: mmWaveCommSrv: Received response from sensor: 'dfeDataOutputMode 1 [mmWaveCommSrv-2] Done mmwDemo:/>'Srv-2] [mmWaveCommSrv-2] [INFO] [1723486834.630281685] [rclcpp]: mmWaveCommSrv: Sending command to sensor: 'channelCfg 15 7 0' [mmWaveCommSrv-2] [INFO] [1723486834.633875823] [rclcpp]: mmWaveCommSrv: Received response from sensor: 'channelCfg 15 7 0 [mmWaveCommSrv-2] Done mmwDemo:/>'Srv-2] [mmWaveCommSrv-2] [INFO] [1723486834.636080355] [rclcpp]: mmWaveCommSrv: Sending command to sensor: 'adcCfg 2 1' [mmWaveCommSrv-2] [INFO] [1723486834.638911340] [rclcpp]: mmWaveCommSrv: Received response from sensor: 'adcCfg 2 1 [mmWaveCommSrv-2] Done mmwDemo:/>'Srv-2] [mmWaveCommSrv-2] [INFO] [1723486834.641220464] [rclcpp]: mmWaveCommSrv: Sending command to sensor: 'adcbufCfg -1 0 1 1 1' [mmWaveCommSrv-2] [INFO] [1723486834.645059750] [rclcpp]: mmWaveCommSrv: Received response from sensor: 'adcbufCfg -1 0 1 1 1 [mmWaveCommSrv-2] Done mmwDemo:/>'Srv-2] [mmWaveCommSrv-2] [INFO] [1723486834.647239064] [rclcpp]: mmWaveCommSrv: Sending command to sensor: 'profileCfg 0 77 267 7 57.14 0 0 70 1 256 5209 0 0 30' [mmWaveCommSrv-2] [INFO] [1723486834.653868321] [rclcpp]: mmWaveCommSrv: Received response from sensor: 'profileCfg 0 77 267 7 57.14 0 0 70 1 256 5209 0 0 30 [mmWaveCommSrv-2] Done mmwDemo:/>'Srv-2] [mmWaveCommSrv-2] [INFO] [1723486834.656037347] [rclcpp]: mmWaveCommSrv: Sending command to sensor: 'chirpCfg 0 0 0 0 0 0 0 1' [mmWaveCommSrv-2] [INFO] [1723486834.660184709] [rclcpp]: mmWaveCommSrv: Received response from sensor: 'chirpCfg 0 0 0 0 0 0 0 1 [mmWaveCommSrv-2] Done mmwDemo:/>'Srv-2] [mmWaveCommSrv-2] [INFO] [1723486834.662774474] [rclcpp]: mmWaveCommSrv: Sending command to sensor: 'chirpCfg 1 1 0 0 0 0 0 4' [mmWaveCommSrv-2] [INFO] [1723486834.666881428] [rclcpp]: mmWaveCommSrv: Received response from sensor: 'chirpCfg 1 1 0 0 0 0 0 4 [mmWaveCommSrv-2] Done mmwDemo:/>'Srv-2] [mmWaveCommSrv-2] [INFO] [1723486834.669166383] [rclcpp]: mmWaveCommSrv: Sending command to sensor: 'chirpCfg 2 2 0 0 0 0 0 2' [mmWaveCommSrv-2] [INFO] [1723486834.673292613] [rclcpp]: mmWaveCommSrv: Received response from sensor: 'chirpCfg 2 2 0 0 0 0 0 2 [mmWaveCommSrv-2] Done mmwDemo:/>'Srv-2] [mmWaveCommSrv-2] [INFO] [1723486834.675435439] [rclcpp]: mmWaveCommSrv: Sending command to sensor: 'frameCfg 0 2 16 0 100 1 0' [mmWaveCommSrv-2] [INFO] [1723486834.679616704] [rclcpp]: mmWaveCommSrv: Received response from sensor: 'frameCfg 0 2 16 0 100 1 0 [mmWaveCommSrv-2] Done mmwDemo:/>'Srv-2] [mmWaveCommSrv-2] [INFO] [1723486834.681545685] [rclcpp]: mmWaveCommSrv: Sending command to sensor: 'lowPower 0 0' [mmWaveCommSrv-2] [INFO] [1723486834.684632718] [rclcpp]: mmWaveCommSrv: Received response from sensor: 'lowPower 0 0 [mmWaveCommSrv-2] Done mmwDemo:/>'Srv-2] [mmWaveCommSrv-2] [INFO] [1723486834.686774188] [rclcpp]: mmWaveCommSrv: Sending command to sensor: 'guiMonitor -1 1 1 0 0 0 1' [mmWaveCommSrv-2] [INFO] [1723486834.690968691] [rclcpp]: mmWaveCommSrv: Received response from sensor: 'guiMonitor -1 1 1 0 0 0 1 [mmWaveCommSrv-2] Done mmwDemo:/>'Srv-2] [mmWaveCommSrv-2] [INFO] [1723486834.693469370] [rclcpp]: mmWaveCommSrv: Sending command to sensor: 'cfarCfg -1 0 2 8 4 3 0 15 1' [mmWaveCommSrv-2] [INFO] [1723486834.697852441] [rclcpp]: mmWaveCommSrv: Received response from sensor: 'cfarCfg -1 0 2 8 4 3 0 15 1 [mmWaveCommSrv-2] Done mmwDemo:/>'Srv-2] [mmWaveCommSrv-2] [INFO] [1723486834.699965824] [rclcpp]: mmWaveCommSrv: Sending command to sensor: 'cfarCfg -1 1 0 4 2 3 1 15 1' [mmWaveCommSrv-2] [INFO] [1723486834.704372169] [rclcpp]: mmWaveCommSrv: Received response from sensor: 'cfarCfg -1 1 0 4 2 3 1 15 1 [mmWaveCommSrv-2] Done mmwDemo:/>'Srv-2] [mmWaveCommSrv-2] [INFO] [1723486834.706870639] [rclcpp]: mmWaveCommSrv: Sending command to sensor: 'multiObjBeamForming -1 1 0.5' [mmWaveCommSrv-2] [INFO] [1723486834.711367050] [rclcpp]: mmWaveCommSrv: Received response from sensor: 'multiObjBeamForming -1 1 0.5 [mmWaveCommSrv-2] Done mmwDemo:/>'Srv-2] [mmWaveCommSrv-2] [INFO] [1723486834.713835817] [rclcpp]: mmWaveCommSrv: Sending command to sensor: 'clutterRemoval -1 0' [mmWaveCommSrv-2] [INFO] [1723486834.717541729] [rclcpp]: mmWaveCommSrv: Received response from sensor: 'clutterRemoval -1 0 [mmWaveCommSrv-2] Done mmwDemo:/>'Srv-2] [mmWaveCommSrv-2] [INFO] [1723486834.719679430] [rclcpp]: mmWaveCommSrv: Sending command to sensor: 'calibDcRangeSig -1 0 -5 8 256' [mmWaveCommSrv-2] [INFO] [1723486834.724238560] [rclcpp]: mmWaveCommSrv: Received response from sensor: 'calibDcRangeSig -1 0 -5 8 256 [mmWaveCommSrv-2] Done mmwDemo:/>'Srv-2] [mmWaveCommSrv-2] [INFO] [1723486834.727142703] [rclcpp]: mmWaveCommSrv: Sending command to sensor: 'extendedMaxVelocity -1 0' [mmWaveCommSrv-2] [INFO] [1723486834.731314167] [rclcpp]: mmWaveCommSrv: Received response from sensor: 'extendedMaxVelocity -1 0 [mmWaveCommSrv-2] Done mmwDemo:/>'Srv-2] [mmWaveCommSrv-2] [INFO] [1723486834.733774524] [rclcpp]: mmWaveCommSrv: Sending command to sensor: 'lvdsStreamCfg -1 0 0 0' [mmWaveCommSrv-2] [INFO] [1723486834.737830786] [rclcpp]: mmWaveCommSrv: Received response from sensor: 'lvdsStreamCfg -1 0 0 0 [mmWaveCommSrv-2] Done mmwDemo:/>'Srv-2] [mmWaveCommSrv-2] [INFO] [1723486834.740543786] [rclcpp]: mmWaveCommSrv: Sending command to sensor: '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' [mmWaveCommSrv-2] [INFO] [1723486834.749267820] [rclcpp]: mmWaveCommSrv: Received response from sensor: '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 [mmWaveCommSrv-2] Done mmwDemo:/>'Srv-2] [mmWaveCommSrv-2] [INFO] [1723486834.751333040] [rclcpp]: mmWaveCommSrv: Sending command to sensor: 'measureRangeBiasAndRxChanPhase 0 1.5 0.2' [mmWaveCommSrv-2] [INFO] [1723486834.756844416] [rclcpp]: mmWaveCommSrv: Received response from sensor: 'measureRangeBiasAndRxChanPhase 0 1.5 0.2 [mmWaveCommSrv-2] Done mmwDemo:/>'Srv-2] [mmWaveCommSrv-2] [INFO] [1723486834.759036203] [rclcpp]: mmWaveCommSrv: Sending command to sensor: 'CQRxSatMonitor 0 3 5 121 0' [mmWaveCommSrv-2] [INFO] [1723486834.763364598] [rclcpp]: mmWaveCommSrv: Received response from sensor: 'CQRxSatMonitor 0 3 5 121 0 [mmWaveCommSrv-2] Done mmwDemo:/>'Srv-2] [mmWaveCommSrv-2] [INFO] [1723486834.765970228] [rclcpp]: mmWaveCommSrv: Sending command to sensor: 'CQSigImgMonitor 0 127 4' [mmWaveCommSrv-2] [INFO] [1723486834.769778865] [rclcpp]: mmWaveCommSrv: Received response from sensor: 'CQSigImgMonitor 0 127 4 [mmWaveCommSrv-2] Done mmwDemo:/>'Srv-2] [mmWaveCommSrv-2] [INFO] [1723486834.772160102] [rclcpp]: mmWaveCommSrv: Sending command to sensor: 'analogMonitor 0 0' [mmWaveCommSrv-2] [INFO] [1723486834.775666460] [rclcpp]: mmWaveCommSrv: Received response from sensor: 'analogMonitor 0 0 [mmWaveCommSrv-2] Done mmwDemo:/>'Srv-2] [mmWaveCommSrv-2] [INFO] [1723486834.778664537] [rclcpp]: mmWaveCommSrv: Sending command to sensor: 'aoaFovCfg -1 -90 90 -90 90' [mmWaveCommSrv-2] [INFO] [1723486834.783023922] [rclcpp]: mmWaveCommSrv: Received response from sensor: 'aoaFovCfg -1 -90 90 -90 90 [mmWaveCommSrv-2] Done mmwDemo:/>'Srv-2] [mmWaveCommSrv-2] [INFO] [1723486834.785835495] [rclcpp]: mmWaveCommSrv: Sending command to sensor: 'cfarFovCfg -1 0 0 8.92' [mmWaveCommSrv-2] [INFO] [1723486834.789790551] [rclcpp]: mmWaveCommSrv: Received response from sensor: 'cfarFovCfg -1 0 0 8.92 [mmWaveCommSrv-2] Done mmwDemo:/>'Srv-2] [mmWaveCommSrv-2] [INFO] [1723486834.791804259] [rclcpp]: mmWaveCommSrv: Sending command to sensor: 'cfarFovCfg -1 1 -1 1.00' [mmWaveCommSrv-2] [INFO] [1723486834.795611285] [rclcpp]: mmWaveCommSrv: Received response from sensor: 'cfarFovCfg -1 1 -1 1.00 [mmWaveCommSrv-2] Done mmwDemo:/>'Srv-2] [mmWaveCommSrv-2] [INFO] [1723486834.797984370] [rclcpp]: mmWaveCommSrv: Sending command to sensor: 'calibData 0 0 0' [mmWaveCommSrv-2] [INFO] [1723486834.801047061] [rclcpp]: mmWaveCommSrv: Received response from sensor: 'calibData 0 0 0 [mmWaveCommSrv-2] Done mmwDemo:/>'Srv-2] [mmWaveCommSrv-2] [INFO] [1723486834.803435018] [rclcpp]: mmWaveCommSrv: Sending command to sensor: 'sensorStart' [mmWaveCommSrv-2] [INFO] [1723486834.811951939] [rclcpp]: mmWaveCommSrv: Received response from sensor: 'sensorStart [mmWaveCommSrv-2] Done mmwDemo:/>'Srv-2] [INFO] [mmWaveCommSrv-2]: process has finished cleanly [pid 38384] [ParameterParser-4] [INFO] [1723486836.527985544] [rclcpp]: [ParameterParser-4] [ParameterParser-4] ============================== [ParameterParser-4] List of parameters [ParameterParser-4] ============================== [ParameterParser-4] Number of range samples: 256 [ParameterParser-4] Number of chirps: 16 [ParameterParser-4] f_s: 5.209 MHz [ParameterParser-4] f_c: 79.210 GHz [ParameterParser-4] Bandwidth: 3440.200 MHz [ParameterParser-4] PRI: 324.140 us [ParameterParser-4] Frame time: 100.000 ms [ParameterParser-4] Max range: 11.154 m [ParameterParser-4] Range resolution: 0.044 m [ParameterParser-4] Max Doppler: +-0.973 m/s [ParameterParser-4] Doppler resolution: 0.122 m/s [ParameterParser-4] ============================== [ParameterParser-4] [ParameterParser-4] cannot publish data, at ./src/rmw_publish.cpp:62 during '__function__' [ParameterParser-4] destroy_client() failed to delete datareader, at ./src/rmw_client.cpp:92 during '__function__' [ERROR] [ParameterParser-4]: process has died [pid 38388, exit code -11, cmd '/home/shu/Documents/myRos2/mmwave_ti_ros/ros2_driver/install/ti_mmwave_rospkg/lib/ti_mmwave_rospkg/ParameterParser --ros-args -r __node:=ParameterParser --params-file /tmp/launch_params_arsot4_1 --params-file /tmp/launch_params_fysk3674 --params-file /tmp/launch_params_15j9aptx'].
Note: I could directly communicate (send commands and receive data) with the TI1843Boost in the terminal through `screen /dev/ttyACM0 115200` and `screen /dev/ttyACM1 921600`
Additionally, I have tested the radar using the mmWave Demo Visualizer by loading the example configuration file provided in the driver, and the radar functions correctly, displaying point cloud data without any issues.