Closed kathy-lee closed 1 year ago
Hi, your updated parameters are correct for the indoor config. However, you shouldn't need to set these yourself. If you have ROS setup, playing back the ros bags will allow you to read the config parameters.
Alternatively, a function in the ros node code will convert the radar commands to a Python dictionary for easier use. Check cfg_list_to_dict()
. This dictionary is the what's read from ROS hereparams = rospy.get_param('iwr_cfg')
.
Hope this helps! It's a little messy as there's a need to convert between serial commands that the radar firmware uses and convenient datatypes to work with in Python.
Thanks a lot for the info, that's very helpful for my understanding!
Hi @moodoki , according to your info(https://github.com/moodoki/radical_sdk/issues/2) and the info in
radarcfg.tar.gz
, I wrote the following code to parse the radar messages in raw ros bag file, also used the function definition "reshape_frame" you mentioned iniwr_raw_rosnode
project and tried with the following parameters. But from the result range-azimuth plots below it seems not so correct like yours in https://github.com/moodoki/radical_sdk/blob/master/nbs/Beamforming.ipynb. Could you help me to get the right parsing please, many thanks to you again!As you see, I used the following parameter values, not sure if they're all correct.
(I tried also with
samples_per_chirp
= 304,n_receivers
=4,n_tdm
=2,n_chirps_per_frame
= 32 but this is not valid input toreshape_frame
func) Range-Azimuth results of the 1st message:Updated: I think I figured out the parsing:
complex_arr = np.reshape(complex_arr, (32, 8, 304))
tocomplex_arr = np.swapaxes(complex_arr, 1, 2)
Please correct me if I'm wrong. Thanks!