diff --git a/include/core/sensor/sensor_diff_drive.h b/include/core/sensor/sensor_diff_drive.h index a36356ed87a3c793a4a8464e4b2a43c16e65043c..8c6de5fed471b7ec6648b01c41b2e537e9aefe3a 100644 --- a/include/core/sensor/sensor_diff_drive.h +++ b/include/core/sensor/sensor_diff_drive.h @@ -53,15 +53,20 @@ class SensorDiffDrive : public SensorBase { public: SensorDiffDrive(const Eigen::VectorXs& _extrinsics, - const IntrinsicsDiffDrivePtr& _intrinsics); + const IntrinsicsDiffDrivePtr& _intrinsics); WOLF_SENSOR_CREATE(SensorDiffDrive, IntrinsicsDiffDrive, 3); virtual ~SensorDiffDrive(); - IntrinsicsDiffDriveConstPtr getParams() const {return params_diff_drive_;} + IntrinsicsDiffDriveConstPtr getParams() const; - protected: + private: IntrinsicsDiffDrivePtr params_diff_drive_; }; +inline wolf::IntrinsicsDiffDriveConstPtr SensorDiffDrive::getParams() const +{ + return params_diff_drive_; +} + } /* namespace wolf */ #endif /* SENSOR_SENSOR_DIFF_DRIVE_H_ */ diff --git a/src/sensor/sensor_diff_drive.cpp b/src/sensor/sensor_diff_drive.cpp index d8c29515a1113fa65c88fb6ec83ceb29546030f8..2eb2c10403b727d94ae497b65f4e72941de876d0 100644 --- a/src/sensor/sensor_diff_drive.cpp +++ b/src/sensor/sensor_diff_drive.cpp @@ -12,13 +12,13 @@ namespace wolf { SensorDiffDrive::SensorDiffDrive(const Eigen::VectorXs& _extrinsics, - const IntrinsicsDiffDrivePtr& _intrinsics) : - SensorBase("DIFF DRIVE", - std::make_shared<StateBlock>(_extrinsics.head(2), true), - std::make_shared<StateAngle>(_extrinsics(2), true), - std::make_shared<StateBlock>(3, false), - 2), - params_diff_drive_(_intrinsics) + const IntrinsicsDiffDrivePtr& _intrinsics) : + SensorBase("DIFF DRIVE", + std::make_shared<StateBlock>(_extrinsics.head(2), true), + std::make_shared<StateAngle>(_extrinsics(2), true), + std::make_shared<StateBlock>(3, false), + 2), + params_diff_drive_(_intrinsics) { params_diff_drive_->radians_per_tick = 2.0*M_PI / params_diff_drive_->ticks_per_wheel_revolution; getIntrinsic()->setState(Eigen::Vector3s(_intrinsics->radius_left,_intrinsics->radius_right,_intrinsics->wheel_separation));