Skip to content
Snippets Groups Projects
Commit 7d928ee4 authored by Joaquim Casals Buñuel's avatar Joaquim Casals Buñuel
Browse files

Adapt to changes in core #298

parent 87404a17
No related branches found
No related tags found
2 merge requests!18Release after RAL,!17After 2nd RAL submission
......@@ -5,24 +5,24 @@
#include <core/processor/processor_motion.h>
namespace wolf {
WOLF_STRUCT_PTR_TYPEDEFS(ProcessorParamsForceTorquePreint);
WOLF_STRUCT_PTR_TYPEDEFS(ParamsProcessorForceTorquePreint);
struct ProcessorParamsForceTorquePreint : public ProcessorParamsMotion
struct ParamsProcessorForceTorquePreint : public ParamsProcessorMotion
{
std::string sensor_ikin_name;
std::string sensor_angvel_name;
ProcessorParamsForceTorquePreint() = default;
ProcessorParamsForceTorquePreint(std::string _unique_name, const ParamsServer& _server):
ProcessorParamsMotion(_unique_name, _server)
ParamsProcessorForceTorquePreint() = default;
ParamsProcessorForceTorquePreint(std::string _unique_name, const ParamsServer& _server):
ParamsProcessorMotion(_unique_name, _server)
{
sensor_ikin_name = _server.getParam<std::string>(_unique_name + "/sensor_ikin_name");
sensor_angvel_name = _server.getParam<std::string>(_unique_name + "/sensor_angvel_name");
}
virtual ~ProcessorParamsForceTorquePreint() = default;
virtual ~ParamsProcessorForceTorquePreint() = default;
std::string print() const
{
return "\n" + ProcessorParamsMotion::print() + "\n"
return "\n" + ParamsProcessorMotion::print() + "\n"
+ "sensor_ikin_name: " + sensor_ikin_name + "\n"
+ "sensor_angvel_name: " + sensor_angvel_name + "\n";
......@@ -34,11 +34,11 @@ WOLF_PTR_TYPEDEFS(ProcessorForceTorquePreint);
//class
class ProcessorForceTorquePreint : public ProcessorMotion{
public:
ProcessorForceTorquePreint(ProcessorParamsForceTorquePreintPtr _params_motion_force_torque_preint);
ProcessorForceTorquePreint(ParamsProcessorForceTorquePreintPtr _params_motion_force_torque_preint);
virtual ~ProcessorForceTorquePreint();
virtual void configure(SensorBasePtr _sensor) override;
WOLF_PROCESSOR_CREATE(ProcessorForceTorquePreint, ProcessorParamsForceTorquePreint);
WOLF_PROCESSOR_CREATE(ProcessorForceTorquePreint, ParamsProcessorForceTorquePreint);
protected:
virtual void computeCurrentDelta(const Eigen::VectorXd& _data,
......@@ -77,7 +77,7 @@ class ProcessorForceTorquePreint : public ProcessorMotion{
CaptureBasePtr _capture_origin) override;
protected:
ProcessorParamsForceTorquePreintPtr params_motion_force_torque_preint_;
ParamsProcessorForceTorquePreintPtr params_motion_force_torque_preint_;
SensorBasePtr sensor_ikin_;
SensorBasePtr sensor_angvel_;
......
......@@ -8,24 +8,24 @@
#include "bodydynamics/capture/capture_inertial_kinematics.h"
namespace wolf {
WOLF_STRUCT_PTR_TYPEDEFS(ProcessorParamsInertialKinematics);
WOLF_STRUCT_PTR_TYPEDEFS(ParamsProcessorInertialKinematics);
struct ProcessorParamsInertialKinematics : public ProcessorParamsBase
struct ParamsProcessorInertialKinematics : public ParamsProcessorBase
{
std::string sensor_angvel_name;
double pb_rate_stdev;
ProcessorParamsInertialKinematics() = default;
ProcessorParamsInertialKinematics(std::string _unique_name, const ParamsServer& _server):
ProcessorParamsBase(_unique_name, _server)
ParamsProcessorInertialKinematics() = default;
ParamsProcessorInertialKinematics(std::string _unique_name, const ParamsServer& _server):
ParamsProcessorBase(_unique_name, _server)
{
sensor_angvel_name = _server.getParam<std::string>(_unique_name + "/sensor_angvel_name");
pb_rate_stdev = _server.getParam<double>(_unique_name + "/pb_rate_stdev");
}
virtual ~ProcessorParamsInertialKinematics() = default;
virtual ~ParamsProcessorInertialKinematics() = default;
std::string print() const
{
return "\n" + ProcessorParamsBase::print() + "\n"
return "\n" + ParamsProcessorBase::print() + "\n"
+ "sensor_angvel_name: " + sensor_angvel_name + "\n"
+ "pb_rate_stdev: " + std::to_string(pb_rate_stdev) + "\n";
}
......@@ -36,9 +36,9 @@ WOLF_PTR_TYPEDEFS(ProcessorInertialKinematics);
//class
class ProcessorInertialKinematics : public ProcessorBase{
public:
ProcessorInertialKinematics(ProcessorParamsInertialKinematicsPtr _params_ikin);
ProcessorInertialKinematics(ParamsProcessorInertialKinematicsPtr _params_ikin);
virtual ~ProcessorInertialKinematics() = default;
WOLF_PROCESSOR_CREATE(ProcessorInertialKinematics, ProcessorParamsInertialKinematics);
WOLF_PROCESSOR_CREATE(ProcessorInertialKinematics, ParamsProcessorInertialKinematics);
virtual void configure(SensorBasePtr _sensor) override;
......@@ -53,7 +53,7 @@ class ProcessorInertialKinematics : public ProcessorBase{
virtual bool voteForKeyFrame() const override;
const ProcessorParamsInertialKinematicsPtr& getParamsIkin() const
const ParamsProcessorInertialKinematicsPtr& getParamsIkin() const
{
return params_ikin_;
}
......@@ -79,7 +79,7 @@ class ProcessorInertialKinematics : public ProcessorBase{
}
protected:
ProcessorParamsInertialKinematicsPtr params_ikin_;
ParamsProcessorInertialKinematicsPtr params_ikin_;
ProcessorInertialKinematicsPtr proc_ikin_;
ProcessorMotionPtr proc_motion_;
CaptureBasePtr cap_origin_ptr_;
......
......@@ -10,9 +10,9 @@ namespace wolf {
using namespace Eigen;
ProcessorForceTorquePreint::ProcessorForceTorquePreint(ProcessorParamsForceTorquePreintPtr _params_motion_force_torque_preint) :
ProcessorForceTorquePreint::ProcessorForceTorquePreint(ParamsProcessorForceTorquePreintPtr _params_motion_force_torque_preint) :
ProcessorMotion("ProcessorForceTorquePreint", "CDLO", 3, 13, 13, 12, 32, 6, _params_motion_force_torque_preint),
params_motion_force_torque_preint_(std::make_shared<ProcessorParamsForceTorquePreint>(*_params_motion_force_torque_preint))
params_motion_force_torque_preint_(std::make_shared<ParamsProcessorForceTorquePreint>(*_params_motion_force_torque_preint))
{
// Set constant parts of Jacobians
jacobian_delta_preint_.setIdentity(12,12); // delta composition / CURRENT delta
......@@ -184,8 +184,8 @@ void ProcessorForceTorquePreint::deltaPlusDelta(const Eigen::VectorXd& _delta_pr
} // namespace wolf
// Register in the SensorFactory
#include "core/processor/processor_factory.h"
// Register in the FactorySensor
#include "core/processor/factory_processor.h"
namespace wolf
{
......
......@@ -18,9 +18,9 @@
namespace wolf{
inline ProcessorInertialKinematics::ProcessorInertialKinematics(ProcessorParamsInertialKinematicsPtr _params_ikin) :
inline ProcessorInertialKinematics::ProcessorInertialKinematics(ParamsProcessorInertialKinematicsPtr _params_ikin) :
ProcessorBase("ProcessorInertialKinematics", 3, _params_ikin),
params_ikin_(std::make_shared<ProcessorParamsInertialKinematics>(*_params_ikin)),
params_ikin_(std::make_shared<ParamsProcessorInertialKinematics>(*_params_ikin)),
cap_origin_ptr_(nullptr)
{
}
......@@ -199,8 +199,8 @@ Eigen::Matrix9d computeIKinCov(const Eigen::Matrix3d& Qp,
} /* namespace wolf */
// Register in the ProcessorFactory
#include "core/processor/processor_factory.h"
// Register in the FactoryProcessor
#include "core/processor/factory_processor.h"
namespace wolf {
WOLF_REGISTER_PROCESSOR("ProcessorInertialKinematics", ProcessorInertialKinematics);
WOLF_REGISTER_PROCESSOR_AUTO("ProcessorInertialKinematics", ProcessorInertialKinematics);
......
......@@ -32,8 +32,8 @@ SensorForceTorque::SensorForceTorque(const Eigen::VectorXd& _extrinsics, ParamsS
} // namespace wolf
// Register in the SensorFactory
#include "core/sensor/sensor_factory.h"
// Register in the FactorySensor
#include "core/sensor/factory_sensor.h"
namespace wolf {
WOLF_REGISTER_SENSOR("SensorForceTorque", SensorForceTorque)
} // namespace wolf
......@@ -28,8 +28,8 @@ SensorInertialKinematics::~SensorInertialKinematics()
} // namespace wolf
// Register in the SensorFactory
#include "core/sensor/sensor_factory.h"
// Register in the FactorySensor
#include "core/sensor/factory_sensor.h"
namespace wolf {
WOLF_REGISTER_SENSOR("SensorInertialKinematics", SensorInertialKinematics)
} // namespace wolf
......@@ -41,7 +41,7 @@ class FeatureForceTorquePreint_test : public testing::Test
ForceTorque_extrinsics << 0,0,0, 0,0,0,1;
ParamsSensorForceTorquePreintPtr sen_imu_params = std::make_shared<ParamsSensorForceTorquePreint>();
SensorBasePtr sensor_ptr = problem_->installSensor("SensorForceTorquePreint", "Main FTPreint", ForceTorque_extrinsics, sen_imu_params);
ProcessorParamsForceTorquePreintPtr prc_imu_params = std::make_shared<ProcessorParamsForceTorquePreint>();
ParamsProcessorForceTorquePreintPtr prc_imu_params = std::make_shared<ParamsProcessorForceTorquePreint>();
prc_imu_params->max_time_span = 0.5;
prc_imu_params->max_buff_length = 10;
processor_ptr_ = problem_->installProcessor("ProcessorForceTorquePreint", "FT pre-integrator", sensor_ptr, prc_imu_params);
......
......@@ -97,7 +97,7 @@ public:
// SensorBasePtr sen_ikin_base = problem_->installSensor("SensorInertialKinematics", "SenIK", extr, bodydynamics_root_dir + "/demos/sensor_inertial_kinematics.yaml"); // TODO: does not work!
sen_ikin_ = std::static_pointer_cast<SensorInertialKinematics>(sen_ikin_base);
ProcessorParamsInertialKinematicsPtr params_ik = std::make_shared<ProcessorParamsInertialKinematics>();
ParamsProcessorInertialKinematicsPtr params_ik = std::make_shared<ParamsProcessorInertialKinematics>();
params_ik->sensor_angvel_name = "SenImu";
params_ik->pb_rate_stdev = 1e-2;
ProcessorBasePtr proc_ikin_base = problem_->installProcessor("ProcessorInertialKinematics", "PInertialKinematics", sen_ikin_, params_ik);
......@@ -118,7 +118,7 @@ public:
SensorBasePtr sen_ft_base = problem_->installSensor("SensorForceTorque", "SenFT", VectorXd(0), intr_ft);
// SensorBasePtr sen_ft_base = problem_->installSensor("SensorForceTorque", "SenFT", VectorXd(0), bodydynamics_root_dir + "/demos/sensor_ft.yaml");
sen_ft_ = std::static_pointer_cast<SensorForceTorque>(sen_ft_base);
ProcessorParamsForceTorquePreintPtr params_sen_ft = std::make_shared<ProcessorParamsForceTorquePreint>();
ParamsProcessorForceTorquePreintPtr params_sen_ft = std::make_shared<ParamsProcessorForceTorquePreint>();
params_sen_ft->sensor_ikin_name = "SenIK";
params_sen_ft->sensor_angvel_name = "SenImu";
params_sen_ft->time_tolerance = 0.25;
......
......@@ -90,7 +90,7 @@ class FactorInertialKinematics_2KF : public testing::Test
ProcessorParamsInertialKinematicsPtr params_ik = std::make_shared<ProcessorParamsInertialKinematics>();
ParamsProcessorInertialKinematicsPtr params_ik = std::make_shared<ParamsProcessorInertialKinematics>();
params_ik->sensor_angvel_name = "SenImu";
params_ik->pb_rate_stdev = 0.01;
ProcessorBasePtr proc_ikin_base = problem_->installProcessor("ProcessorInertialKinematics", "PInertialKinematics", sen_ikin_, params_ik);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment