Add sensor::OdometryData. (#442)
parent
f60b2cbb16
commit
8732e43f16
|
@ -0,0 +1,37 @@
|
|||
/*
|
||||
* Copyright 2017 The Cartographer Authors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#include "cartographer/sensor/odometry_data.h"
|
||||
|
||||
#include "cartographer/transform/transform.h"
|
||||
|
||||
namespace cartographer {
|
||||
namespace sensor {
|
||||
|
||||
proto::OdometryData ToProto(const OdometryData& odometry_data) {
|
||||
proto::OdometryData proto;
|
||||
proto.set_timestamp(common::ToUniversal(odometry_data.time));
|
||||
*proto.mutable_pose() = transform::ToProto(odometry_data.pose);
|
||||
return proto;
|
||||
}
|
||||
|
||||
OdometryData FromProto(const proto::OdometryData& proto) {
|
||||
return OdometryData{common::FromUniversal(proto.timestamp()),
|
||||
transform::ToRigid3(proto.pose())};
|
||||
}
|
||||
|
||||
} // namespace sensor
|
||||
} // namespace cartographer
|
|
@ -0,0 +1,41 @@
|
|||
/*
|
||||
* Copyright 2017 The Cartographer Authors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef CARTOGRAPHER_SENSOR_ODOMETRY_DATA_H_
|
||||
#define CARTOGRAPHER_SENSOR_ODOMETRY_DATA_H_
|
||||
|
||||
#include "cartographer/common/time.h"
|
||||
#include "cartographer/sensor/proto/sensor.pb.h"
|
||||
#include "cartographer/transform/rigid_transform.h"
|
||||
|
||||
namespace cartographer {
|
||||
namespace sensor {
|
||||
|
||||
struct OdometryData {
|
||||
common::Time time;
|
||||
transform::Rigid3d pose;
|
||||
};
|
||||
|
||||
// Converts 'odometry_data' to a proto::OdometryData.
|
||||
proto::OdometryData ToProto(const OdometryData& odometry_data);
|
||||
|
||||
// Converts 'proto' to an OdometryData.
|
||||
OdometryData FromProto(const proto::OdometryData& proto);
|
||||
|
||||
} // namespace sensor
|
||||
} // namespace cartographer
|
||||
|
||||
#endif // CARTOGRAPHER_SENSOR_ODOMETRY_DATA_H_
|
|
@ -20,22 +20,28 @@ option java_outer_classname = "Sensor";
|
|||
|
||||
import "cartographer/transform/proto/transform.proto";
|
||||
|
||||
// Compressed collection of 3D 'points'.
|
||||
// Compressed collection of a 3D point cloud.
|
||||
message CompressedPointCloud {
|
||||
optional int32 num_points = 1;
|
||||
repeated int32 point_data = 3 [packed = true];
|
||||
}
|
||||
|
||||
// Proto representation of ::cartographer::sensor::ImuData
|
||||
// Proto representation of ::cartographer::sensor::ImuData.
|
||||
message ImuData {
|
||||
optional int64 timestamp = 1;
|
||||
optional transform.proto.Vector3d linear_acceleration = 2;
|
||||
optional transform.proto.Vector3d angular_velocity = 3;
|
||||
}
|
||||
|
||||
// Proto representation of ::cartographer::sensor::CompressedRangeData
|
||||
// Proto representation of ::cartographer::sensor::CompressedRangeData.
|
||||
message CompressedRangeData {
|
||||
optional transform.proto.Vector3f origin = 1;
|
||||
optional CompressedPointCloud returns = 2;
|
||||
optional CompressedPointCloud misses = 3;
|
||||
}
|
||||
|
||||
// Proto representation of ::cartographer::sensor::OdometryData.
|
||||
message OdometryData {
|
||||
optional int64 timestamp = 1;
|
||||
optional transform.proto.Rigid3d pose = 2;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue