From 24e8013b497a3fef815087696ed5dbd6314367aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joan=20Sol=C3=A0?= <jsola@iri.upc.edu> Date: Sun, 23 Oct 2016 23:22:58 +0200 Subject: [PATCH] All tests use shared_ptr to all StateBlocks --- src/examples/solver/test_iQR_wolf2.cpp | 8 ++++---- src/examples/test_analytic_odom_constraint.cpp | 6 +++--- src/examples/test_autodiff.cpp | 8 ++++---- src/examples/test_ceres_2_lasers.cpp | 8 ++++---- src/examples/test_ceres_2_lasers_polylines.cpp | 8 ++++---- src/examples/test_constraint_AHP.cpp | 4 ++-- src/examples/test_image.cpp | 6 +++--- src/examples/test_motion_2d.cpp | 6 +++--- src/examples/test_processor_image_landmark.cpp | 6 +++--- src/examples/test_processor_imu.cpp | 4 ++-- src/examples/test_processor_tracker_feature.cpp | 6 +++--- src/examples/test_processor_tracker_landmark.cpp | 6 +++--- src/examples/test_state_quaternion.cpp | 6 +++--- src/examples/test_wolf_autodiffwrapper.cpp | 6 +++--- src/examples/test_wolf_imported_graph.cpp | 6 +++--- src/examples/test_wolf_prunning.cpp | 6 +++--- src/examples/test_wolf_tree.cpp | 4 ++-- 17 files changed, 52 insertions(+), 52 deletions(-) diff --git a/src/examples/solver/test_iQR_wolf2.cpp b/src/examples/solver/test_iQR_wolf2.cpp index e872c5c03..07aba80d4 100644 --- a/src/examples/solver/test_iQR_wolf2.cpp +++ b/src/examples/solver/test_iQR_wolf2.cpp @@ -165,10 +165,10 @@ int main(int argc, char *argv[]) Eigen::Vector4s laser_1_pose, laser_2_pose; //xyz + theta laser_1_pose << 1.2, 0, 0, 0; //laser 1 laser_2_pose << -1.2, 0, 0, M_PI; //laser 2 - SensorOdom2D odom_sensor(new StateBlock(odom_pose.head(2)), new StateBlock(odom_pose.tail(1)), odom_std_factor, odom_std_factor); - SensorGPSFix gps_sensor(new StateBlock(gps_pose.head(2)), new StateBlock(gps_pose.tail(1)), gps_std); - SensorLaser2D laser_1_sensor(new StateBlock(laser_1_pose.head(2)), new StateBlock(laser_1_pose.tail(1)), laserscanutils::LaserScanParams({M_PI/2,-M_PI/2, -M_PI/720,0.01,0.2,100,0.01,0.01})); - SensorLaser2D laser_2_sensor(new StateBlock(laser_2_pose.head(2)), new StateBlock(laser_2_pose.tail(1)), laserscanutils::LaserScanParams({M_PI/2,-M_PI/2, -M_PI/720,0.01,0.2,100,0.01,0.01})); + SensorOdom2D odom_sensor(std::make_shared<StateBlock>(odom_pose.head(2)), std::make_shared<StateBlock>(odom_pose.tail(1)), odom_std_factor, odom_std_factor); + SensorGPSFix gps_sensor(std::make_shared<StateBlock>(gps_pose.head(2)), std::make_shared<StateBlock>(gps_pose.tail(1)), gps_std); + SensorLaser2D laser_1_sensor(std::make_shared<StateBlock>(laser_1_pose.head(2)), std::make_shared<StateBlock>(laser_1_pose.tail(1)), laserscanutils::LaserScanParams({M_PI/2,-M_PI/2, -M_PI/720,0.01,0.2,100,0.01,0.01})); + SensorLaser2D laser_2_sensor(std::make_shared<StateBlock>(laser_2_pose.head(2)), std::make_shared<StateBlock>(laser_2_pose.tail(1)), laserscanutils::LaserScanParams({M_PI/2,-M_PI/2, -M_PI/720,0.01,0.2,100,0.01,0.01})); // Initial pose pose_odom << 2, 8, 0; diff --git a/src/examples/test_analytic_odom_constraint.cpp b/src/examples/test_analytic_odom_constraint.cpp index 26234f4fd..08fa577a1 100644 --- a/src/examples/test_analytic_odom_constraint.cpp +++ b/src/examples/test_analytic_odom_constraint.cpp @@ -61,7 +61,7 @@ int main(int argc, char** argv) // Wolf problem ProblemPtr wolf_problem_autodiff = new Problem(FRM_PO_2D); ProblemPtr wolf_problem_analytic = new Problem(FRM_PO_2D); - SensorBasePtr sensor = new SensorBase(SEN_ODOM_2D, "ODOM 2D", new StateBlock(Eigen::VectorXs::Zero(2)), new StateBlock(Eigen::VectorXs::Zero(1)), new StateBlock(Eigen::VectorXs::Zero(2)), 2); + SensorBasePtr sensor = new SensorBase(SEN_ODOM_2D, "ODOM 2D", std::make_shared<StateBlock>(Eigen::VectorXs::Zero(2)), std::make_shared<StateBlock>(Eigen::VectorXs::Zero(1)), std::make_shared<StateBlock>(Eigen::VectorXs::Zero(2)), 2); // Ceres wrapper ceres::Solver::Options ceres_options; @@ -128,8 +128,8 @@ int main(int argc, char** argv) bNum.clear(); // add frame to problem - FrameBasePtr vertex_frame_ptr_autodiff = new FrameBase(TimeStamp(0), new StateBlock(vertex_pose.head(2)), new StateBlock(vertex_pose.tail(1))); - FrameBasePtr vertex_frame_ptr_analytic = new FrameBase(TimeStamp(0), new StateBlock(vertex_pose.head(2)), new StateBlock(vertex_pose.tail(1))); + FrameBasePtr vertex_frame_ptr_autodiff = new FrameBase(TimeStamp(0), std::make_shared<StateBlock>(vertex_pose.head(2)), std::make_shared<StateBlock>(vertex_pose.tail(1))); + FrameBasePtr vertex_frame_ptr_analytic = new FrameBase(TimeStamp(0), std::make_shared<StateBlock>(vertex_pose.head(2)), std::make_shared<StateBlock>(vertex_pose.tail(1))); wolf_problem_autodiff->getTrajectoryPtr()->addFrame(vertex_frame_ptr_autodiff); wolf_problem_analytic->getTrajectoryPtr()->addFrame(vertex_frame_ptr_analytic); // store diff --git a/src/examples/test_autodiff.cpp b/src/examples/test_autodiff.cpp index 24362aab4..c027f9fcc 100644 --- a/src/examples/test_autodiff.cpp +++ b/src/examples/test_autodiff.cpp @@ -121,10 +121,10 @@ int main(int argc, char** argv) Eigen::Vector4s laser_1_pose, laser_2_pose; //xyz + theta laser_1_pose << 1.2, 0, 0, 0; //laser 1 laser_2_pose << -1.2, 0, 0, M_PI; //laser 2 - SensorOdom2D odom_sensor(new StateBlock(odom_pose.head(2)), new StateBlock(odom_pose.tail(1)), odom_std_factor, odom_std_factor); - SensorGPSFix gps_sensor(new StateBlock(gps_pose.head(2)), new StateBlock(gps_pose.tail(1)), gps_std); - SensorLaser2D laser_1_sensor(new StateBlock(laser_1_pose.head(2)), new StateBlock(laser_1_pose.tail(1))); - SensorLaser2D laser_2_sensor(new StateBlock(laser_2_pose.head(2)), new StateBlock(laser_2_pose.tail(1))); + SensorOdom2D odom_sensor(std::make_shared<StateBlock>(odom_pose.head(2)), std::make_shared<StateBlock>(odom_pose.tail(1)), odom_std_factor, odom_std_factor); + SensorGPSFix gps_sensor(std::make_shared<StateBlock>(gps_pose.head(2)), std::make_shared<StateBlock>(gps_pose.tail(1)), gps_std); + SensorLaser2D laser_1_sensor(std::make_shared<StateBlock>(laser_1_pose.head(2)), std::make_shared<StateBlock>(laser_1_pose.tail(1))); + SensorLaser2D laser_2_sensor(std::make_shared<StateBlock>(laser_2_pose.head(2)), std::make_shared<StateBlock>(laser_2_pose.tail(1))); laser_1_sensor.addProcessor(new ProcessorLaser2D()); laser_2_sensor.addProcessor(new ProcessorLaser2D()); diff --git a/src/examples/test_ceres_2_lasers.cpp b/src/examples/test_ceres_2_lasers.cpp index 016363379..1bc45cf0b 100644 --- a/src/examples/test_ceres_2_lasers.cpp +++ b/src/examples/test_ceres_2_lasers.cpp @@ -221,10 +221,10 @@ int main(int argc, char** argv) laser_2_pose << -1.2, 0, 0, M_PI; //laser 2 Problem problem(FRM_PO_2D); - SensorOdom2D* odom_sensor = new SensorOdom2D(new StateBlock(odom_pose.head(2), true), new StateBlock(odom_pose.tail(1), true), odom_std_factor, odom_std_factor); - SensorGPSFix* gps_sensor = new SensorGPSFix(new StateBlock(gps_pose.head(2), true), new StateBlock(gps_pose.tail(1), true), gps_std); - SensorLaser2D* laser_1_sensor = new SensorLaser2D(new StateBlock(laser_1_pose.head(2), true), new StateBlock(laser_1_pose.tail(1), true), laserscanutils::LaserScanParams({M_PI/2,-M_PI/2, -M_PI/720,0.01,0.2,100,0.01,0.01})); - SensorLaser2D* laser_2_sensor = new SensorLaser2D(new StateBlock(laser_2_pose.head(2), true), new StateBlock(laser_2_pose.tail(1), true), laserscanutils::LaserScanParams({M_PI/2,-M_PI/2, -M_PI/720,0.01,0.2,100,0.01,0.01})); + SensorOdom2D* odom_sensor = new SensorOdom2D(std::make_shared<StateBlock>(odom_pose.head(2), true), std::make_shared<StateBlock>(odom_pose.tail(1), true), odom_std_factor, odom_std_factor); + SensorGPSFix* gps_sensor = new SensorGPSFix(std::make_shared<StateBlock>(gps_pose.head(2), true), std::make_shared<StateBlock>(gps_pose.tail(1), true), gps_std); + SensorLaser2D* laser_1_sensor = new SensorLaser2D(std::make_shared<StateBlock>(laser_1_pose.head(2), true), std::make_shared<StateBlock>(laser_1_pose.tail(1), true), laserscanutils::LaserScanParams({M_PI/2,-M_PI/2, -M_PI/720,0.01,0.2,100,0.01,0.01})); + SensorLaser2D* laser_2_sensor = new SensorLaser2D(std::make_shared<StateBlock>(laser_2_pose.head(2), true), std::make_shared<StateBlock>(laser_2_pose.tail(1), true), laserscanutils::LaserScanParams({M_PI/2,-M_PI/2, -M_PI/720,0.01,0.2,100,0.01,0.01})); ProcessorTrackerLandmarkCorner* laser_1_processor = new ProcessorTrackerLandmarkCorner(laserscanutils::LineFinderIterativeParams({0.1, 5, 1, 2}), 3, 10); ProcessorTrackerLandmarkCorner* laser_2_processor = new ProcessorTrackerLandmarkCorner(laserscanutils::LineFinderIterativeParams({0.1, 5, 1, 2}), 3, 10); ProcessorOdom2D* odom_processor = new ProcessorOdom2D(1,1,100); diff --git a/src/examples/test_ceres_2_lasers_polylines.cpp b/src/examples/test_ceres_2_lasers_polylines.cpp index b42b4da08..b2be568b0 100644 --- a/src/examples/test_ceres_2_lasers_polylines.cpp +++ b/src/examples/test_ceres_2_lasers_polylines.cpp @@ -221,10 +221,10 @@ int main(int argc, char** argv) laser_2_pose << -1.2, 0, 0, M_PI; //laser 2 Problem problem(FRM_PO_2D); - SensorOdom2D* odom_sensor = new SensorOdom2D(new StateBlock(odom_pose.head(2), true), new StateBlock(odom_pose.tail(1), true), odom_std_factor, odom_std_factor); - SensorGPSFix* gps_sensor = new SensorGPSFix(new StateBlock(gps_pose.head(2), true), new StateBlock(gps_pose.tail(1), true), gps_std); - SensorLaser2D* laser_1_sensor = new SensorLaser2D(new StateBlock(laser_1_pose.head(2), true), new StateBlock(laser_1_pose.tail(1), true), laserscanutils::LaserScanParams({M_PI/2,-M_PI/2, -M_PI/720,0.01,0.2,100,0.01,0.01})); - SensorLaser2D* laser_2_sensor = new SensorLaser2D(new StateBlock(laser_2_pose.head(2), true), new StateBlock(laser_2_pose.tail(1), true), laserscanutils::LaserScanParams({M_PI/2,-M_PI/2, -M_PI/720,0.01,0.2,100,0.01,0.01})); + SensorOdom2D* odom_sensor = new SensorOdom2D(std::make_shared<StateBlock>(odom_pose.head(2), true), std::make_shared<StateBlock>(odom_pose.tail(1), true), odom_std_factor, odom_std_factor); + SensorGPSFix* gps_sensor = new SensorGPSFix(std::make_shared<StateBlock>(gps_pose.head(2), true), std::make_shared<StateBlock>(gps_pose.tail(1), true), gps_std); + SensorLaser2D* laser_1_sensor = new SensorLaser2D(std::make_shared<StateBlock>(laser_1_pose.head(2), true), std::make_shared<StateBlock>(laser_1_pose.tail(1), true), laserscanutils::LaserScanParams({M_PI/2,-M_PI/2, -M_PI/720,0.01,0.2,100,0.01,0.01})); + SensorLaser2D* laser_2_sensor = new SensorLaser2D(std::make_shared<StateBlock>(laser_2_pose.head(2), true), std::make_shared<StateBlock>(laser_2_pose.tail(1), true), laserscanutils::LaserScanParams({M_PI/2,-M_PI/2, -M_PI/720,0.01,0.2,100,0.01,0.01})); wolf::ProcessorParamsPolyline laser_processor_params; laser_processor_params.line_finder_params = laserscanutils::LineFinderIterativeParams({0.1, 5, 1, 2}); diff --git a/src/examples/test_constraint_AHP.cpp b/src/examples/test_constraint_AHP.cpp index 5e79a6cae..991380bc0 100644 --- a/src/examples/test_constraint_AHP.cpp +++ b/src/examples/test_constraint_AHP.cpp @@ -55,7 +55,7 @@ int main() frame_pos_ori[6] = 0.83666; //qw const Eigen::VectorXs frame_val = frame_pos_ori; - FrameBasePtr last_frame = std::make_shared<FrameBase>(t,new StateBlock(frame_val.head(3)), new StateQuaternion(frame_val.tail(4))); + FrameBasePtr last_frame = std::make_shared<FrameBase>(t,std::make_shared<StateBlock>(frame_val.head(3)), std::make_shared<StateQuaternion>(frame_val.tail(4))); std::cout << "Last frame" << std::endl; wolf_problem_ptr_->getTrajectoryPtr()->addFrame(last_frame); @@ -75,7 +75,7 @@ int main() std::shared_ptr<FeaturePointImage> feat_point_image_ptr = std::make_shared<FeaturePointImage>(kp, desc, Eigen::Matrix2s::Identity()); image_ptr->addFeature(feat_point_image_ptr); - FrameBasePtr anchor_frame = std::make_shared< FrameBase>(t,new StateBlock(frame_val.head(3)), new StateQuaternion(frame_val.tail(4))); + FrameBasePtr anchor_frame = std::make_shared< FrameBase>(t,std::make_shared<StateBlock>(frame_val.head(3)), std::make_shared<StateQuaternion>(frame_val.tail(4))); //FrameBasePtr anchor_frame = wolf_problem_ptr_->getTrajectoryPtr()->getLastFramePtr(); diff --git a/src/examples/test_image.cpp b/src/examples/test_image.cpp index 7494922ef..c1cad9a1c 100644 --- a/src/examples/test_image.cpp +++ b/src/examples/test_image.cpp @@ -81,9 +81,9 @@ int main(int argc, char** argv) // // SENSOR // Eigen::Vector4s k = {320,240,320,320}; - // SensorCamera* sen_cam_ = new SensorCamera(new StateBlock(Eigen::Vector3s::Zero()), - // new StateBlock(Eigen::Vector3s::Zero()), - // new StateBlock(k,false),img_width,img_height); + // SensorCamera* sen_cam_ = new SensorCamera(std::make_shared<StateBlock>(Eigen::Vector3s::Zero()), + // std::make_shared<StateBlock>(Eigen::Vector3s::Zero()), + // std::make_shared<StateBlock>(k,false),img_width,img_height); // // wolf_problem_->getHardwarePtr()->addSensor(sen_cam_); // diff --git a/src/examples/test_motion_2d.cpp b/src/examples/test_motion_2d.cpp index 0fa0ee6b2..55a017c71 100644 --- a/src/examples/test_motion_2d.cpp +++ b/src/examples/test_motion_2d.cpp @@ -51,9 +51,9 @@ int main() // Create Wolf tree nodes ProblemPtr problem_ptr = std::make_shared<Problem>(FRM_PO_2D); - SensorBasePtr sensor_odom_ptr = std::make_shared< SensorBase>(SEN_ODOM_2D, "ODOM 2D", new StateBlock(Eigen::Vector2s::Zero(), true), - new StateBlock(Eigen::Vector1s::Zero(), true), - new StateBlock(Eigen::VectorXs::Zero(0), true), 0); + SensorBasePtr sensor_odom_ptr = std::make_shared< SensorBase>(SEN_ODOM_2D, "ODOM 2D", std::make_shared<StateBlock>(Eigen::Vector2s::Zero(), true), + std::make_shared<StateBlock>(Eigen::Vector1s::Zero(), true), + std::make_shared<StateBlock>(Eigen::VectorXs::Zero(0), true), 0); SensorBasePtr sensor_fix_ptr = std::make_shared< SensorBase>(SEN_ABSOLUTE_POSE, "ABSOLUTE POSE", nullptr, nullptr, nullptr, 0); ProcessorOdom2D::Ptr odom2d_ptr = std::make_shared< ProcessorOdom2D>(100,100,100); // Assemble Wolf tree by linking the nodes diff --git a/src/examples/test_processor_image_landmark.cpp b/src/examples/test_processor_image_landmark.cpp index e436b7ec7..649e6d82b 100644 --- a/src/examples/test_processor_image_landmark.cpp +++ b/src/examples/test_processor_image_landmark.cpp @@ -77,9 +77,9 @@ int main(int argc, char** argv) // // SENSOR // Eigen::Vector4s k = {320,240,320,320}; - // SensorCamera* sensor_ptr_ = new SensorCamera(new StateBlock(Eigen::Vector3s::Zero()), - // new StateBlock(Eigen::Vector3s::Zero()), - // new StateBlock(k,false),img_width,img_height); + // SensorCamera* sensor_ptr_ = new SensorCamera(std::make_shared<StateBlock>(Eigen::Vector3s::Zero()), + // std::make_shared<StateBlock>(Eigen::Vector3s::Zero()), + // std::make_shared<StateBlock>(k,false),img_width,img_height); // wolf_problem_ptr_->getHardwarePtr()->addSensor(sensor_ptr_); diff --git a/src/examples/test_processor_imu.cpp b/src/examples/test_processor_imu.cpp index c0962cec4..0abde52f5 100644 --- a/src/examples/test_processor_imu.cpp +++ b/src/examples/test_processor_imu.cpp @@ -195,8 +195,8 @@ int main(int argc, char** argv) problem_ptr_->check(); // problem_ptr_->getTrajectoryPtr()->getFrameList().front()->remove(); - problem_ptr_->getTrajectoryPtr()->getFrameList().front()->getCaptureList().front()->remove(); - problem_ptr_->getTrajectoryPtr()->getFrameList().front()->remove(); +// problem_ptr_->getTrajectoryPtr()->getFrameList().front()->getCaptureList().front()->remove(); +// problem_ptr_->getTrajectoryPtr()->getFrameList().front()->remove(); // problem_ptr_->getTrajectoryPtr()->getFrameList().front()->getCaptureList().front()->remove(); problem_ptr_->check(); diff --git a/src/examples/test_processor_tracker_feature.cpp b/src/examples/test_processor_tracker_feature.cpp index f49cfe028..fea62093c 100644 --- a/src/examples/test_processor_tracker_feature.cpp +++ b/src/examples/test_processor_tracker_feature.cpp @@ -27,9 +27,9 @@ int main() // Wolf problem ProblemPtr wolf_problem_ptr_ = make_shared<Problem>(FRM_PO_2D); - SensorBasePtr sensor_ptr_ = make_shared<SensorBase>(SEN_ODOM_2D, "ODOM 2D", new StateBlock(Eigen::VectorXs::Zero(2)), - new StateBlock(Eigen::VectorXs::Zero(1)), - new StateBlock(Eigen::VectorXs::Zero(2)), 2); + SensorBasePtr sensor_ptr_ = make_shared<SensorBase>(SEN_ODOM_2D, "ODOM 2D", std::make_shared<StateBlock>(Eigen::VectorXs::Zero(2)), + std::make_shared<StateBlock>(Eigen::VectorXs::Zero(1)), + std::make_shared<StateBlock>(Eigen::VectorXs::Zero(2)), 2); shared_ptr<ProcessorTrackerFeatureDummy> processor_ptr_ = make_shared<ProcessorTrackerFeatureDummy>(); diff --git a/src/examples/test_processor_tracker_landmark.cpp b/src/examples/test_processor_tracker_landmark.cpp index ad0061c42..1acbfa9a3 100644 --- a/src/examples/test_processor_tracker_landmark.cpp +++ b/src/examples/test_processor_tracker_landmark.cpp @@ -62,9 +62,9 @@ int main() // Wolf problem ProblemPtr wolf_problem_ptr_ = Problem::create(FRM_PO_2D); - SensorBasePtr sensor_ptr_ = std::make_shared< SensorBase>(SEN_ODOM_2D, "ODOM 2D", new StateBlock(Eigen::VectorXs::Zero(2)), - new StateBlock(Eigen::VectorXs::Zero(1)), - new StateBlock(Eigen::VectorXs::Zero(2)), 2); + SensorBasePtr sensor_ptr_ = std::make_shared< SensorBase>(SEN_ODOM_2D, "ODOM 2D", std::make_shared<StateBlock>(Eigen::VectorXs::Zero(2)), + std::make_shared<StateBlock>(Eigen::VectorXs::Zero(1)), + std::make_shared<StateBlock>(Eigen::VectorXs::Zero(2)), 2); std::shared_ptr<ProcessorTrackerLandmarkDummy> processor_ptr_ = std::make_shared< ProcessorTrackerLandmarkDummy>(5); diff --git a/src/examples/test_state_quaternion.cpp b/src/examples/test_state_quaternion.cpp index 22b8061d1..ec23b9e0f 100644 --- a/src/examples/test_state_quaternion.cpp +++ b/src/examples/test_state_quaternion.cpp @@ -17,9 +17,9 @@ int main (void) using namespace wolf; // 3D - StateBlockPtr pp = new StateBlock(3); - StateQuaternion* op = new StateQuaternion; - StateBlockPtr vp = new StateBlock(3); + StateBlockPtr pp = std::make_shared<StateBlock>(3); + StateQuaternionPtr op = std::make_shared<StateQuaternion>(); + StateBlockPtr vp = std::make_shared<StateBlock>(3); TimeStamp t; diff --git a/src/examples/test_wolf_autodiffwrapper.cpp b/src/examples/test_wolf_autodiffwrapper.cpp index fbc02d74c..50ad28454 100644 --- a/src/examples/test_wolf_autodiffwrapper.cpp +++ b/src/examples/test_wolf_autodiffwrapper.cpp @@ -47,7 +47,7 @@ int main(int argc, char** argv) // Wolf problem ProblemPtr wolf_problem_ceres_diff = new Problem(FRM_PO_2D); ProblemPtr wolf_problem_wolf_diff = new Problem(FRM_PO_2D); - SensorBasePtr sensor = new SensorBase(SEN_ODOM_2D, "ODOM 2D", new StateBlock(Eigen::VectorXs::Zero(2)), new StateBlock(Eigen::VectorXs::Zero(1)), new StateBlock(Eigen::VectorXs::Zero(2)), 2); + SensorBasePtr sensor = new SensorBase(SEN_ODOM_2D, "ODOM 2D", std::make_shared<StateBlock>(Eigen::VectorXs::Zero(2)), std::make_shared<StateBlock>(Eigen::VectorXs::Zero(1)), std::make_shared<StateBlock>(Eigen::VectorXs::Zero(2)), 2); // Ceres wrappers ceres::Solver::Options ceres_options; @@ -114,8 +114,8 @@ int main(int argc, char** argv) bNum.clear(); // add frame to problem - FrameBasePtr vertex_frame_ptr_ceres_diff = new FrameBase(TimeStamp(0), new StateBlock(vertex_pose.head(2)), new StateBlock(vertex_pose.tail(1))); - FrameBasePtr vertex_frame_ptr_wolf_diff = new FrameBase(TimeStamp(0), new StateBlock(vertex_pose.head(2)), new StateBlock(vertex_pose.tail(1))); + FrameBasePtr vertex_frame_ptr_ceres_diff = new FrameBase(TimeStamp(0), std::make_shared<StateBlock>(vertex_pose.head(2)), std::make_shared<StateBlock>(vertex_pose.tail(1))); + FrameBasePtr vertex_frame_ptr_wolf_diff = new FrameBase(TimeStamp(0), std::make_shared<StateBlock>(vertex_pose.head(2)), std::make_shared<StateBlock>(vertex_pose.tail(1))); wolf_problem_ceres_diff->getTrajectoryPtr()->addFrame(vertex_frame_ptr_ceres_diff); wolf_problem_wolf_diff->getTrajectoryPtr()->addFrame(vertex_frame_ptr_wolf_diff); // store diff --git a/src/examples/test_wolf_imported_graph.cpp b/src/examples/test_wolf_imported_graph.cpp index a2668f05b..f4c2e1d72 100644 --- a/src/examples/test_wolf_imported_graph.cpp +++ b/src/examples/test_wolf_imported_graph.cpp @@ -64,7 +64,7 @@ int main(int argc, char** argv) // Wolf problem ProblemPtr wolf_problem_full = new Problem(FRM_PO_2D); ProblemPtr wolf_problem_prun = new Problem(FRM_PO_2D); - SensorBasePtr sensor = new SensorBase(SEN_ODOM_2D, "ODOM 2D", new StateBlock(Eigen::VectorXs::Zero(2)), new StateBlock(Eigen::VectorXs::Zero(1)), new StateBlock(Eigen::VectorXs::Zero(2)), 2); + SensorBasePtr sensor = new SensorBase(SEN_ODOM_2D, "ODOM 2D", std::make_shared<StateBlock>(Eigen::VectorXs::Zero(2)), std::make_shared<StateBlock>(Eigen::VectorXs::Zero(1)), std::make_shared<StateBlock>(Eigen::VectorXs::Zero(2)), 2); Eigen::SparseMatrix<Scalar> Lambda(0,0); @@ -133,8 +133,8 @@ int main(int argc, char** argv) bNum.clear(); // add frame to problem - FrameBasePtr vertex_frame_ptr_full = new FrameBase(KEY_FRAME, TimeStamp(0), new StateBlock(vertex_pose.head(2)), new StateBlock(vertex_pose.tail(1))); - FrameBasePtr vertex_frame_ptr_prun = new FrameBase(KEY_FRAME, TimeStamp(0), new StateBlock(vertex_pose.head(2)), new StateBlock(vertex_pose.tail(1))); + FrameBasePtr vertex_frame_ptr_full = new FrameBase(KEY_FRAME, TimeStamp(0), std::make_shared<StateBlock>(vertex_pose.head(2)), std::make_shared<StateBlock>(vertex_pose.tail(1))); + FrameBasePtr vertex_frame_ptr_prun = new FrameBase(KEY_FRAME, TimeStamp(0), std::make_shared<StateBlock>(vertex_pose.head(2)), std::make_shared<StateBlock>(vertex_pose.tail(1))); wolf_problem_full->getTrajectoryPtr()->addFrame(vertex_frame_ptr_full); wolf_problem_prun->getTrajectoryPtr()->addFrame(vertex_frame_ptr_prun); // store diff --git a/src/examples/test_wolf_prunning.cpp b/src/examples/test_wolf_prunning.cpp index 3e3981224..40fbc13be 100644 --- a/src/examples/test_wolf_prunning.cpp +++ b/src/examples/test_wolf_prunning.cpp @@ -78,7 +78,7 @@ int main(int argc, char** argv) // Wolf problem ProblemPtr wolf_problem_full = new Problem(FRM_PO_2D); ProblemPtr wolf_problem_prun = new Problem(FRM_PO_2D); - SensorBasePtr sensor = new SensorBase(SEN_ODOM_2D, "ODOM 2D", new StateBlock(Eigen::VectorXs::Zero(2)), new StateBlock(Eigen::VectorXs::Zero(1)), new StateBlock(Eigen::VectorXs::Zero(2)), 2); + SensorBasePtr sensor = new SensorBase(SEN_ODOM_2D, "ODOM 2D", std::make_shared<StateBlock>(Eigen::VectorXs::Zero(2)), std::make_shared<StateBlock>(Eigen::VectorXs::Zero(1)), std::make_shared<StateBlock>(Eigen::VectorXs::Zero(2)), 2); Eigen::SparseMatrix<Scalar> Lambda(0,0); @@ -149,8 +149,8 @@ int main(int argc, char** argv) bNum.clear(); // add frame to problem - FrameBasePtr vertex_frame_ptr_full = new FrameBase(KEY_FRAME, TimeStamp(0), new StateBlock(vertex_pose.head(2)), new StateBlock(vertex_pose.tail(1))); - FrameBasePtr vertex_frame_ptr_prun = new FrameBase(KEY_FRAME, TimeStamp(0), new StateBlock(vertex_pose.head(2)), new StateBlock(vertex_pose.tail(1))); + FrameBasePtr vertex_frame_ptr_full = new FrameBase(KEY_FRAME, TimeStamp(0), std::make_shared<StateBlock>(vertex_pose.head(2)), std::make_shared<StateBlock>(vertex_pose.tail(1))); + FrameBasePtr vertex_frame_ptr_prun = new FrameBase(KEY_FRAME, TimeStamp(0), std::make_shared<StateBlock>(vertex_pose.head(2)), std::make_shared<StateBlock>(vertex_pose.tail(1))); wolf_problem_full->getTrajectoryPtr()->addFrame(vertex_frame_ptr_full); wolf_problem_prun->getTrajectoryPtr()->addFrame(vertex_frame_ptr_prun); // store diff --git a/src/examples/test_wolf_tree.cpp b/src/examples/test_wolf_tree.cpp index b215cd203..9a0075a93 100644 --- a/src/examples/test_wolf_tree.cpp +++ b/src/examples/test_wolf_tree.cpp @@ -17,8 +17,8 @@ int main(int argc, char** argv) //Welcome message std::cout << std::endl << " ========= WOLF TREE test ===========" << std::endl << std::endl; - SensorOdom2D* odom_sensor_ptr_ = new SensorOdom2D(new StateBlock(Eigen::Vector3s::Zero()), - new StateBlock(Eigen::Vector1s::Zero()), 0.1, 0.1); + SensorOdom2D* odom_sensor_ptr_ = new SensorOdom2D(std::make_shared<StateBlock>(Eigen::Vector3s::Zero()), + std::make_shared<StateBlock>(Eigen::Vector1s::Zero()), 0.1, 0.1); //std::cout << " odom sensor created!" << std::endl; WolfManager* wolf_manager_ = new WolfManager(FRM_PO_2D, //frame structure -- GitLab