Updates use of LaserFan following cartographer. (#114)
This follows changes from googlecartographer/cartographer#62 and googlecartographer/cartographer#64.master
parent
4557d9fd12
commit
8d36c633b8
|
@ -162,11 +162,11 @@ sensor_msgs::PointCloud2 ToPointCloud2Message(
|
|||
|
||||
sensor_msgs::PointCloud2 ToPointCloud2Message(
|
||||
const int64 timestamp, const string& frame_id,
|
||||
const ::cartographer::sensor::proto::LaserFan3D& laser_scan_3d) {
|
||||
CHECK(::cartographer::transform::ToEigen(laser_scan_3d.origin()).norm() == 0)
|
||||
<< "Trying to convert a laser_scan_3d that is not at the origin.";
|
||||
const ::cartographer::sensor::proto::LaserFan& laser_fan) {
|
||||
CHECK(::cartographer::transform::ToEigen(laser_fan.origin()).norm() == 0)
|
||||
<< "Trying to convert a laser_fan that is not at the origin.";
|
||||
|
||||
const auto& point_cloud = laser_scan_3d.point_cloud();
|
||||
const auto& point_cloud = laser_fan.point_cloud();
|
||||
CHECK_EQ(point_cloud.x_size(), point_cloud.y_size());
|
||||
CHECK_EQ(point_cloud.x_size(), point_cloud.z_size());
|
||||
const auto num_points = point_cloud.x_size();
|
||||
|
@ -229,9 +229,9 @@ sensor_msgs::PointCloud2 ToPointCloud2Message(
|
|||
return proto;
|
||||
}
|
||||
|
||||
::cartographer::sensor::proto::LaserFan3D ToCartographer(
|
||||
::cartographer::sensor::proto::LaserFan ToCartographer(
|
||||
const pcl::PointCloud<pcl::PointXYZ>& pcl_points) {
|
||||
::cartographer::sensor::proto::LaserFan3D proto;
|
||||
::cartographer::sensor::proto::LaserFan proto;
|
||||
|
||||
auto* origin = proto.mutable_origin();
|
||||
origin->set_x(0.);
|
||||
|
|
|
@ -50,7 +50,7 @@ sensor_msgs::PointCloud2 ToPointCloud2Message(
|
|||
|
||||
sensor_msgs::PointCloud2 ToPointCloud2Message(
|
||||
int64 timestamp, const string& frame_id,
|
||||
const ::cartographer::sensor::proto::LaserFan3D& laser_scan_3d);
|
||||
const ::cartographer::sensor::proto::LaserFan& laser_fan);
|
||||
|
||||
geometry_msgs::Transform ToGeometryMsgTransform(
|
||||
const ::cartographer::transform::Rigid3d& rigid3d);
|
||||
|
@ -64,7 +64,7 @@ geometry_msgs::Pose ToGeometryMsgPose(
|
|||
::cartographer::sensor::proto::LaserScan ToCartographer(
|
||||
const sensor_msgs::MultiEchoLaserScan& msg);
|
||||
|
||||
::cartographer::sensor::proto::LaserFan3D ToCartographer(
|
||||
::cartographer::sensor::proto::LaserFan ToCartographer(
|
||||
const pcl::PointCloud<pcl::PointXYZ>& pcl_points);
|
||||
|
||||
::cartographer::transform::Rigid3d ToRigid3d(
|
||||
|
|
|
@ -511,13 +511,12 @@ void Node::HandleSensorData(const int64 timestamp,
|
|||
sensor_data->imu.angular_velocity);
|
||||
return;
|
||||
|
||||
case carto::sensor::Data::Type::kLaserFan3D:
|
||||
case carto::sensor::Data::Type::kLaserFan:
|
||||
if (options_.map_builder_options.use_trajectory_builder_2d()) {
|
||||
trajectory_builder->AddHorizontalLaserFan(time,
|
||||
sensor_data->laser_fan_3d);
|
||||
trajectory_builder->AddHorizontalLaserFan(time, sensor_data->laser_fan);
|
||||
} else {
|
||||
CHECK(options_.map_builder_options.use_trajectory_builder_3d());
|
||||
trajectory_builder->AddLaserFan3D(time, sensor_data->laser_fan_3d);
|
||||
trajectory_builder->AddLaserFan3D(time, sensor_data->laser_fan);
|
||||
}
|
||||
return;
|
||||
|
||||
|
|
|
@ -41,9 +41,8 @@ void BuildOccupancyGrid(
|
|||
for (const auto& node : trajectory_nodes) {
|
||||
CHECK(node.constant_data->laser_fan_3d.returns.empty()); // No 3D yet.
|
||||
laser_fan_inserter.Insert(
|
||||
carto::sensor::TransformLaserFan(
|
||||
node.constant_data->laser_fan,
|
||||
carto::transform::Project2D(node.pose).cast<float>()),
|
||||
carto::sensor::TransformLaserFan(node.constant_data->laser_fan_2d,
|
||||
node.pose.cast<float>()),
|
||||
&probability_grid);
|
||||
}
|
||||
|
||||
|
|
|
@ -141,7 +141,7 @@ void SensorBridge::HandlePointCloud2Message(
|
|||
trajectory_id_, carto::common::ToUniversal(time), topic,
|
||||
carto::common::make_unique<::cartographer::sensor::Data>(
|
||||
CheckNoLeadingSlash(msg->header.frame_id),
|
||||
carto::sensor::TransformLaserFan3D(
|
||||
carto::sensor::TransformLaserFan(
|
||||
carto::sensor::FromProto(ToCartographer(pcl_point_cloud)),
|
||||
sensor_to_tracking->cast<float>())));
|
||||
}
|
||||
|
@ -151,7 +151,7 @@ void SensorBridge::HandleLaserScanProto(
|
|||
const string& topic, const ::cartographer::common::Time time,
|
||||
const string& frame_id,
|
||||
const ::cartographer::sensor::proto::LaserScan& laser_scan) {
|
||||
const auto laser_fan = carto::sensor::ToLaserFan3D(
|
||||
const auto laser_fan = carto::sensor::ToLaserFan(
|
||||
laser_scan, options_.horizontal_laser_min_range,
|
||||
options_.horizontal_laser_max_range,
|
||||
options_.horizontal_laser_missing_echo_ray_length);
|
||||
|
@ -161,7 +161,7 @@ void SensorBridge::HandleLaserScanProto(
|
|||
trajectory_id_, carto::common::ToUniversal(time), topic,
|
||||
carto::common::make_unique<::cartographer::sensor::Data>(
|
||||
CheckNoLeadingSlash(frame_id),
|
||||
carto::sensor::TransformLaserFan3D(
|
||||
carto::sensor::TransformLaserFan(
|
||||
laser_fan, sensor_to_tracking->cast<float>())));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue