Function readMessages(from ROS toolbox) can't read message type "nmea_msgs/Sentence".
Mostra commenti meno recenti
To reproduce this BUG:
>> bag = rosbag('any bag contains nmea sentence')
>> nmea = select(bag,"MessageType","nmea_msgs/Sentence")
>> readMessages(nmea,3)
When using readMessages, no matter which row you try to read, you will get this error:
Reference to non-existent field 'Sentence_'.
Error in ros.BagSelection/copyFromStruct (line 661)
cobj.(fc) = objArray(:);
Error in ros.BagSelection/getClassFromStruct (line 630)
ros1msg{k,1} = obj.copyFromStruct(ros1msg{k,1},msgStructs{k});
Error in ros.BagSelection/readMessages (line 275)
msgs = obj.getClassFromStruct(msgStructs);
Risposte (1)
Karthik Reddy Vennapureddy
il 29 Mar 2021
Hello Kevin Tarn,
Thanks for reporting the issue. May I know which version of MATLAB are you using? Here are the quick workarounds, which can circumvent this error.
workaround 1: you can try to use 'DataFormat', 'struct' options to read messages from the bag file. I would recommend changing the following line
readMessages(nmea,3)
to
readMessages(nmea, 3, 'DataFormat', 'struct')
This reads messages much faster compared to reading class objects.
workaround 2: If you do not want to use 'DataFormat','struct' options for reading messages, please reach out to Tech Support team.
Thanks,
Karthik Reddy
1 Commento
Kevin Tarn
il 30 Mar 2021
Modificato: Kevin Tarn
il 30 Mar 2021
Categorie
Scopri di più su ROS 2 Bag File Logging and Analysis in Centro assistenza e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!