35 #include <scl/DataTypes.hpp>
38 #include <scl/robot/data_structs/SRobot.hpp>
39 #include <scl/dynamics/CDynamicsBase.hpp>
40 #include <scl/control/CControllerBase.hpp>
42 #include <sutil/CMappedList.hpp>
114 std::vector<SControllerBase*>& arg_ctrls);
141 {
data_.parsed_robot_data_->flag_apply_gc_pos_limits_ = arg_flag; }
146 const Eigen::VectorXd& arg_min);
151 {
data_.parsed_robot_data_->flag_apply_actuator_force_limits_ = arg_flag; }
156 const Eigen::VectorXd& arg_min);
161 {
data_.parsed_robot_data_->flag_controller_on_ = arg_flag; }
167 const Eigen::VectorXd& getGeneralizedCoordinates()
170 const Eigen::VectorXd& getGeneralizedVelocities()
173 const Eigen::VectorXd& getGeneralizedAccelerations()
176 const Eigen::VectorXd& getGeneralizedForcesMeasured()
179 const Eigen::VectorXd& getGeneralizedForcesCommanded()
182 void setGeneralizedCoordinates(
const Eigen::VectorXd& arg_q)
185 void setGeneralizedVelocities(
const Eigen::VectorXd& arg_dq)
188 void setGeneralizedAccelerations(
const Eigen::VectorXd& arg_ddq)
191 void setGeneralizedForcesMeasured(
const Eigen::VectorXd& arg_f)
194 void setGeneralizedForcesCommanded(
const Eigen::VectorXd& arg_f)
197 void setGeneralizedCoordinatesToZero()
200 void setGeneralizedVelocitiesToZero()
203 void setGeneralizedAccelerationsToZero()
206 void setGeneralizedForcesMeasuredToZero()
209 void setGeneralizedForcesCommandedToZero()
251 const std::string& arg_ctrl_name=
"",
252 const std::string& arg_task_name=
"");
260 const std::string& arg_ctrl_name=
"",
261 const std::string& arg_task_name=
"");
269 const std::string& arg_ctrl_name=
"",
270 const std::string& arg_task_name=
"");
278 const std::string& arg_ctrl_name=
"",
279 const std::string& arg_task_name=
"");
287 const std::string& arg_ctrl_name=
"",
288 const std::string& arg_task_name=
"");
296 const std::string& arg_ctrl_name=
"",
297 const std::string& arg_task_name=
"");
310 sBool logState(
bool arg_log_gc=
true,
bool arg_log_gc_matrices=
true,
311 bool arg_log_task_matrices=
false);
356 std::fstream log_file_;
Eigen::VectorXd force_gc_commanded_
Definition: SRobotIO.hpp:93
CControllerBase * getControllerCurrent()
Definition: CRobot.cpp:457
sBool setLogFile(const std::string &arg_file)
Definition: CRobot.cpp:799
CControllerBase * ctrl_current_
Definition: CRobot.hpp:352
std::string log_file_name_
Definition: CRobot.hpp:355
Definition: SRobotIO.hpp:107
Eigen::VectorXd ddq_
Definition: SRobotIO.hpp:59
sBool getProportionalGain(Eigen::VectorXd &ret_gains, const std::string &arg_ctrl_name="", const std::string &arg_task_name="")
Definition: CRobot.cpp:532
SRobotActuators actuators_
Definition: SRobotIO.hpp:117
sBool setControllerCurrent(std::string arg_ctrl_name)
Definition: CRobot.cpp:472
const CDynamicsBase * getControllerDynamics()
Definition: CRobot.hpp:242
SControllerBase * getControllerDataStruct(const std::string &arg_ctrl_name)
Definition: CRobot.cpp:504
Definition: SRobotParsed.hpp:51
sBool addController(SControllerBase *arg_ctrl_ds)
Definition: CRobot.cpp:378
sBool logState(bool arg_log_gc=true, bool arg_log_gc_matrices=true, bool arg_log_task_matrices=false)
Definition: CRobot.cpp:830
Definition: CMappedList.hpp:85
Definition: SDatabase.hpp:239
CRobot()
Definition: CRobot.cpp:883
void setFlagControllerOn(sBool arg_flag)
Definition: CRobot.hpp:160
void setFlagApplyGcPosLimits(sBool arg_flag)
Definition: CRobot.hpp:140
Definition: SRobot.hpp:54
sBool setActuatorForceLimits(const Eigen::VectorXd &arg_max, const Eigen::VectorXd &arg_min)
Definition: CRobot.cpp:361
sutil::CMappedList< std::string, CControllerBase * > ctrl_
Definition: CRobot.hpp:349
SRobot * getData()
Definition: CRobot.hpp:125
Definition: CDynamicsBase.hpp:55
sBool getIntegralGain(Eigen::VectorXd &ret_gains, const std::string &arg_ctrl_name="", const std::string &arg_task_name="")
Definition: CRobot.cpp:626
void computeServo()
Definition: CRobot.cpp:51
sBool setGcPosLimits(const Eigen::VectorXd &arg_max, const Eigen::VectorXd &arg_min)
Definition: CRobot.cpp:347
bool sBool
Definition: DataTypes.hpp:54
sBool setIntegralGain(const Eigen::VectorXd &arg_ki, const std::string &arg_ctrl_name="", const std::string &arg_task_name="")
Definition: CRobot.cpp:757
SRobot data_
Definition: CRobot.hpp:332
virtual ~CRobot()
Definition: CRobot.cpp:894
void setFlagApplyActuatorForceLimits(sBool arg_flag)
Definition: CRobot.hpp:150
Eigen::VectorXd dq_
Definition: SRobotIO.hpp:56
sBool initFromDb(std::string arg_robot_name, CDynamicsBase *arg_dynamics, CDynamicsBase *arg_integrator)
Definition: CRobot.cpp:184
sUInt dof_
Definition: SRobotParsed.hpp:83
sBool has_been_init_
Definition: SObject.hpp:72
Definition: CControllerBase.hpp:59
CDynamicsBase * integrator_
Definition: CRobot.hpp:346
sBool getDerivativeGain(Eigen::VectorXd &ret_gains, const std::string &arg_ctrl_name="", const std::string &arg_task_name="")
Definition: CRobot.cpp:579
SRobotSensors sensors_
Definition: SRobotIO.hpp:113
CDynamicsBase * dynamics_
Definition: CRobot.hpp:340
sBool setDerivativeGain(const Eigen::VectorXd &arg_kv, const std::string &arg_ctrl_name="", const std::string &arg_task_name="")
Definition: CRobot.cpp:714
void setFlagApplyDamping(sBool arg_flag)
Definition: CRobot.hpp:130
void computeDynamics()
Definition: CRobot.cpp:74
Definition: CRobot.hpp:63
void computeNonControlOperations()
Definition: CRobot.cpp:90
sBool init(std::string arg_robot_name, CDynamicsBase *arg_dynamics, CDynamicsBase *arg_integrator, SRobotParsed *arg_robot, SRobotIO *arg_io_data, std::vector< SControllerBase * > &arg_ctrls)
Definition: CRobot.cpp:232
sBool setDamping(const Eigen::VectorXd &arg_d)
Definition: CRobot.cpp:336
Eigen::VectorXd q_
Definition: SRobotIO.hpp:53
sBool setProportionalGain(const Eigen::VectorXd &arg_kp, const std::string &arg_ctrl_name="", const std::string &arg_task_name="")
Definition: CRobot.cpp:671
Eigen::VectorXd force_gc_measured_
Definition: SRobotIO.hpp:62
sBool hasBeenInit()
Definition: CRobot.hpp:117
sBool flag_apply_gc_damping_
Definition: SRobotParsed.hpp:94
void integrateDynamics()
Definition: CRobot.cpp:109