IPG CarMaker with Baidu Apollo
Hi, I am trying to bridge between IPG CarMaker and Baidu Apollo to simulate autonomous driving. I am currently stuck and need assistance.
-
How does the Lidar point cloud data for X , Y , Z look like in the message? Is the unit in meters?
-
I have read the bridge module. After serializing the point cloud data and passing it to the point cloud channel
--pointcloud_topic=/apollo/sensor/velodyne64/compensator/PointCloud2, I should be able to see the point cloud in Dreamview, am I right?
Thanks in advance
- How does the Lidar point cloud data for X , Y , Z look like in the message? Is the unit in meters?
Apollo coordinate system is shown in the figure below, the unit is meters
- I have read the bridge module. After serializing the point cloud data and passing it to the point cloud channel --pointcloud_topic=/apollo/sensor/velodyne64/compensator/PointCloud2 , I should be able to see the point cloud in Dreamview, am I right?
Yes, If you are sending point cloud data, by the way you must use version 8.0 or above to select the point cloud to be displayed according to the topic. Lower versions of Apollo only display the point cloud of the default topic.
Another question @daohu527 , may I know which code can I reference from for Serializing pointcloud_pb2 messages?
For example, how would I set the frame_id , measurement_time and so on...
You can ref to c++ protobuf usage, and below is an example in Apollo
https://github.com/ApolloAuto/apollo/blob/e373b206a0dc0360af826152132a61c85cab295c/modules/drivers/lidar/robosense/parser/robosense16_parser.cpp#L60-L65
Thanks for the fast responses.
I wrote a python script to send serialized Point Cloud messages as a UDP client to 127.0.0.1 , port 8900. However, after starting the bridge_receiver, no messages came in based on my cyber_monitor.
Right now, I am writing another simple UDP client to send Chatter messages to Apollo.
But when changing the message type to
Build failed with error that Chatter is not a member of apollo::cyber::proto.
Is the message type incorrect? The link to unit_test.proto is here