Function readMessages(from ROS toolbox) can't read message type "nmea_msgs/Sentence".
조회 수: 6 (최근 30일)
이전 댓글 표시
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);
댓글 수: 0
답변 (1개)
Karthik Reddy Vennapureddy
2021년 3월 29일
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
참고 항목
카테고리
Help Center 및 File Exchange에서 Network Connection and Exploration에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!