Extract Messages data from CyberRT To Plot
Hi My System information is below:
- OS: Ubuntu 18.04
- Apollo installed from binary. I mean I am using Docker. Installed using this tutorial to clone the repo, etc: https://www.svlsimulator.com/docs/archive/2020.06/apollo-master-instructions/
- Apollo version: Apollo.Auto 6.0
Hi I need to extract the messages contained inside the Apollo Channels:
Steps to reproduce the issue:
I have already tried to:
- Record the Channels data using the cyber recorder tool:
cyber_recorder record -all
- Parse the recorded files using the parser tool, to get the data on .txt format:
./bazel-bin/modules/tools/record_parse_save/record_parse_save
However this did not work as already discussed in this issue: https://github.com/ApolloAuto/apollo/issues/13948
My attempt resulted in this error: from modules.drivers.proto.contiradarpb2_import ContiRadar ModuleNotFoundError: No module named "modules.drivers"
A similar error appears when modifying the parser_params.yaml file for just extract for the camera or just the lidar.
The issue is that I DO NOT WISH GET THE MESSAGES DATA JUST for these PERCEPTION SENSORS. I WISH TO EXTRACT THE MESSAGES FOR ALL THE OTHER CHANNELS AS I DISPLAYED IN THE FIGURE ABOVE.
Actually I need the channels data TO PLOT CHARTS using MATPLOTLIB or other tool... I need this data in .csv or .txt or even in other programatic structure, such a list, dictionary or Dataframe. I just need this messages data in someway that is possible to Plot.
I took a look already in the realtime_plot.py and the other plots from documentation:
- https://github.com/ApolloAuto/apollo/blob/master/modules/tools/realtime_plot/realtime_plot.py
- https://github.com/ApolloAuto/apollo/tree/master/modules/tools/plot_trace
- https://github.com/ApolloAuto/apollo/tree/master/modules/tools/plot_control
- https://github.com/ApolloAuto/apollo/tree/master/modules/tools/plot_planning
All these modules code plot the data dynamically, However I do Not wish A Dynamic Plot, as the PNC Monitor provides on Dreamview. I need a static Plot, plotted from a specific size of an array of messages, in order to put on my research project.
Could someone please assist me on this issue?
Thanks in advance
Asked by Vini71 on 2021-07-20 18:02:57 UTC
Answers
I have solved and provided the tutorial here on my branch in apollo forked repo, if someone be interested: https://github.com/marcusvinicius178/apollo/tree/extract_chan_data/cyber/python/cyber_py3/channels_data_extraction
I am going to create the code to convert csv to DataFrame and afterwards plot the graphs....then I will update this branche soon.
Asked by Vini71 on 2021-08-06 11:04:30 UTC
Comments
Apollo != ROS. I'm confused as to why you posted your question here on ROS Answers.
Asked by gvdhoorn on 2021-07-23 09:43:19 UTC
Not so different Apollo is ROS based such as Autoware is, but is much bettter. And I used the tag Apollo which is provided by ROS Answers as option.
Asked by Vini71 on 2021-07-23 09:53:18 UTC
that doesn't really mean anything.
It just means someone before you asked a question and applied the
apollo
label to it (if it doesn't exist, ROS Answers will create it for you).The (in)existence of labels does not imply any support, knowledge or applicability.
Apollo may not be "so different", but ROS Answers it not an Apollo support forum. I'm sure the Apollo developers have provided their own support fora, which would be much better venues to ask your question than here on ROS Answers.
Asked by gvdhoorn on 2021-07-23 10:12:10 UTC