Skip to content

Instantly share code, notes, and snippets.

@curtkim
Last active February 21, 2020 07:58
Show Gist options
  • Save curtkim/4ffe7ca152618ccbfd81eb099aa56542 to your computer and use it in GitHub Desktop.
Save curtkim/4ffe7ca152618ccbfd81eb099aa56542 to your computer and use it in GitHub Desktop.
apollo bridge
#include "modules/drivers/proto/sensor_image.pb.h"
#include "modules/drivers/proto/pointcloud.pb.h"
#include "modules/drivers/gnss/proto/imu.pb.h"
void Node::publish(const std::string& channel, const std::string& data)
{
auto writer = writers.find(channel);
if (writer == writers.end())
{
AWARN << "No writer registered on channel " << channel;
return;
}
if( writer->second.type == "apollo.drivers.PointCloud") {
apollo::drivers::PointCloud pc;
std::stringstream ss(data, std::ios::in | std::ios::binary);
pc.ParseFromIstream(&ss);
std::cout << pc.width() << " ";
if( pc.point_size() > 0){
apollo::drivers::PointXYZIT pt = pc.point(0);
std::cout << pt.x() << " ";
}
std::cout << std::endl;
}
else if( writer->second.type == "apollo.drivers.gnss.Imu") {
apollo::drivers::gnss::Imu imu;
std::stringstream ss(data, std::ios::in | std::ios::binary);
imu.ParseFromIstream(&ss);
std::cout << imu.linear_acceleration().x() << std::endl;
std::cout << data << std::endl;
}
else if( writer->second.type == "apollo.drivers.CompressedImage") {
apollo::drivers::CompressedImage img;
std::stringstream ss(data, std::ios::in | std::ios::binary);
img.ParseFromIstream(&ss);
std::cout << img.format() << std::endl;
}
std::cout << "publish " << channel << " " << writer->second.type << " " << data.size() << std::endl;
auto message = std::make_shared<apollo::cyber::message::PyMessageWrap>(data, writer->second.type);
writer->second.writer->Write(message);
}
11520 2.16139
publish /apollo/sensor/lidar128/compensator/PointCloud2 apollo.drivers.PointCloud 144105
-0.0901737
�`����A��`����A
�#<" ����`Ѵп ��#�* @��>�r�>�1l
publish /apollo/sensor/gnss/imu apollo.drivers.gnss.Imu 86
publish /apollo/sensor/gnss/corrected_imu apollo.localization.CorrectedImu 109
-0.0901737
�`����A��`����A
�#<" ����`Ѵп ��#�* @��>�r�>�1l
publish /apollo/sensor/gnss/imu apollo.drivers.gnss.Imu 86
publish /apollo/sensor/gnss/corrected_imu apollo.localization.CorrectedImu 109
-0.0901737
�`����A��`����A
�#<" ����`Ѵп ��#�* @��>�r�>�1l
publish /apollo/sensor/gnss/imu apollo.drivers.gnss.Imu 86
publish /apollo/sensor/gnss/corrected_imu apollo.localization.CorrectedImu 109
-0.0901737
�`����A��`����A
�#<" ����`Ѵп ��#�* @��>�r�>�1l
publish /apollo/sensor/gnss/imu apollo.drivers.gnss.Imu 86
publish /apollo/sensor/gnss/corrected_imu apollo.localization.CorrectedImu 109
-0.0901737
�`����A��`����A
�#<" ����`Ѵп ��#�* @��>�r�>�1l
publish /apollo/sensor/gnss/imu apollo.drivers.gnss.Imu 86
publish /apollo/sensor/gnss/corrected_imu apollo.localization.CorrectedImu 109
-0.0901737
�`����A��`����A
�#<" ����`Ѵп ��#�* @��>�r�>�1l
publish /apollo/sensor/gnss/imu apollo.drivers.gnss.Imu 86
publish /apollo/sensor/gnss/corrected_imu apollo.localization.CorrectedImu 109
publish /apollo/sensor/gnss/odometry apollo.localization.Gps 121
publish /apollo/sensor/gnss/best_pose apollo.drivers.gnss.GnssBestPose 115
-0.0901737
�`����A��`����A
�#<" ����`Ѵп ��#�* @��>�r�>�1l
publish /apollo/sensor/gnss/imu apollo.drivers.gnss.Imu 86
publish /apollo/sensor/gnss/corrected_imu apollo.localization.CorrectedImu 109
-0.0901797
`����A�`����A
�#<" ��� ��п ��#�* �a�>�ޥ>Zc
publish /apollo/sensor/gnss/imu apollo.drivers.gnss.Imu 86
publish /apollo/sensor/gnss/corrected_imu apollo.localization.CorrectedImu 109
jpg
publish /apollo/sensor/camera/front_6mm/image/compressed apollo.drivers.CompressedImage 144088
-0.0901699
�b����A��b����A
�#<" �_��@��п@��#�* 0
�>@�>,l
publish /apollo/sensor/gnss/imu apollo.drivers.gnss.Imu 86
publish /apollo/sensor/gnss/corrected_imu apollo.localization.CorrectedImu 109
jpg
publish /apollo/sensor/camera/front_12mm/image/compressed apollo.drivers.CompressedImage 109638
-0.0901652
o8e����A�o8e����A
�#<" @��@˴п���#�* s�> D�>�d�
publish /apollo/sensor/gnss/imu apollo.drivers.gnss.Imu 86
publish /apollo/sensor/gnss/corrected_imu apollo.localization.CorrectedImu 109
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment