1414// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1515
1616Model::Model (const Parameters ¶ms, std::shared_ptr<DebugVisualiser> debug_visualiser)
17- : params_(params), debug_visualiser_(debug_visualiser), leg_count_(params_.leg_id.data.size()), time_delta_(params_.time_delta.data), current_pose_(Pose::Identity()), default_pose_(Pose::Identity())
17+ : params_(params)
18+ , debug_visualiser_(debug_visualiser)
19+ , leg_count_(params_.leg_id.data.size())
20+ , time_delta_(params_.time_delta.data)
21+ , current_pose_(Pose::Identity())
22+ , default_pose_(Pose::Identity())
1823{
1924 imu_data_.orientation = UNDEFINED_ROTATION;
2025 imu_data_.linear_acceleration = Eigen::Vector3d::Zero ();
@@ -24,7 +29,13 @@ Model::Model(const Parameters ¶ms, std::shared_ptr<DebugVisualiser> debug_vi
2429// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2530
2631Model::Model (std::shared_ptr<Model> model)
27- : params_(model->params_), debug_visualiser_(model->debug_visualiser_), leg_count_(model->leg_count_), time_delta_(model->time_delta_), current_pose_(model->current_pose_), default_pose_(model->default_pose_), imu_data_(model->imu_data_)
32+ : params_(model->params_)
33+ , debug_visualiser_(model->debug_visualiser_)
34+ , leg_count_(model->leg_count_)
35+ , time_delta_(model->time_delta_)
36+ , current_pose_(model->current_pose_)
37+ , default_pose_(model->default_pose_)
38+ , imu_data_(model->imu_data_)
2839{
2940}
3041
@@ -156,7 +167,13 @@ Eigen::Vector3d Model::estimateGravity(void)
156167// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
157168
158169Leg::Leg (std::shared_ptr<Model> model, const int &id_number, const Parameters ¶ms)
159- : model_(model), params_(params), id_number_(id_number), id_name_(params_.leg_id.data.at(id_number)), joint_count_(params_.leg_DOF.data.at(id_name_)), leg_state_(WALKING), admittance_delta_(Eigen::Vector3d::Zero()), admittance_state_(std::vector<double >(2 ))
170+ : model_(model), params_(params)
171+ , id_number_(id_number)
172+ , id_name_(params_.leg_id.data.at(id_number))
173+ , joint_count_(params_.leg_DOF.data.at(id_name_))
174+ , leg_state_(WALKING)
175+ , admittance_delta_(Eigen::Vector3d::Zero())
176+ , admittance_state_(std::vector<double >(2 ))
160177{
161178 desired_tip_pose_ = Pose::Undefined ();
162179 desired_tip_velocity_ = Eigen::Vector3d::Zero ();
@@ -173,7 +190,12 @@ Leg::Leg(std::shared_ptr<Model> model, const int &id_number, const Parameters &p
173190// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
174191
175192Leg::Leg (std::shared_ptr<Leg> leg, std::shared_ptr<Model> model)
176- : params_(leg->params_), id_number_(leg->id_number_), id_name_(leg->id_name_), joint_count_(leg->joint_count_), leg_state_(leg->leg_state_), admittance_state_(leg->admittance_state_)
193+ : params_(leg->params_)
194+ , id_number_(leg->id_number_)
195+ , id_name_(leg->id_name_)
196+ , joint_count_(leg->joint_count_)
197+ , leg_state_(leg->leg_state_)
198+ , admittance_state_(leg->admittance_state_)
177199{
178200 model_ = (model == NULL ? leg->model_ : model);
179201 leg_state_publisher_ = leg->leg_state_publisher_ ;
@@ -348,7 +370,6 @@ Workspace Leg::generateWorkspace(void)
348370 Eigen::Vector3d origin_tip_position, target_tip_position;
349371 double distance_from_origin;
350372 int number_iterations;
351- double raw_number_iterations;
352373
353374 // Iterate through all legs and move legs along search bearings to kinematic limits
354375 while (true )
@@ -367,7 +388,6 @@ Workspace Leg::generateWorkspace(void)
367388 if (!found_lower_limit || !found_upper_limit)
368389 {
369390 number_iterations = roundToInt (MAX_WORKSPACE_RADIUS / MAX_POSITION_DELTA);
370- raw_number_iterations = MAX_WORKSPACE_RADIUS / MAX_POSITION_DELTA;
371391 origin_tip_position = identity_tip_position;
372392 Eigen::Vector3d search_limit =
373393 (found_lower_limit ? MAX_WORKSPACE_RADIUS : -MAX_WORKSPACE_RADIUS) * Eigen::Vector3d::UnitZ ();
@@ -379,7 +399,6 @@ Workspace Leg::generateWorkspace(void)
379399 number_iterations = roundToInt (search_height_delta / MAX_POSITION_DELTA);
380400 // Removes chance for zero iterations
381401 number_iterations = std::max (1 , number_iterations);
382- raw_number_iterations = search_height_delta / MAX_POSITION_DELTA;
383402 origin_tip_position = current_tip_pose_.position_ ;
384403 target_tip_position = identity_tip_position;
385404 }
@@ -470,7 +489,6 @@ Workspace Leg::generateWorkspace(void)
470489 else
471490 {
472491 workspace_generation_complete = true ;
473- ;
474492 }
475493 }
476494 }
@@ -684,9 +702,9 @@ void Leg::calculateTipForce(void)
684702
685703 // Low pass filter and force gain applied to calculated raw tip force
686704 double s = 0.15 ; // Smoothing Factor
687- tip_force_calculated_[0 ] = s * raw_tip_force[0 ] * params_.force_gain .current_value + (1 - s) * tip_force_calculated_[0 ];
688- tip_force_calculated_[1 ] = s * raw_tip_force[1 ] * params_.force_gain .current_value + (1 - s) * tip_force_calculated_[1 ];
689- tip_force_calculated_[2 ] = s * raw_tip_force[2 ] * params_.force_gain .current_value + (1 - s) * tip_force_calculated_[2 ];
705+ tip_force_calculated_[0 ] = s* raw_tip_force[0 ]* params_.force_gain .current_value + (1 - s)* tip_force_calculated_[0 ];
706+ tip_force_calculated_[1 ] = s* raw_tip_force[1 ]* params_.force_gain .current_value + (1 - s)* tip_force_calculated_[1 ];
707+ tip_force_calculated_[2 ] = s* raw_tip_force[2 ]* params_.force_gain .current_value + (1 - s)* tip_force_calculated_[2 ];
690708}
691709
692710// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -973,7 +991,14 @@ Pose Leg::applyFK(const bool &set_current, const bool &use_actual)
973991
974992Link::Link (std::shared_ptr<Leg> leg, std::shared_ptr<Joint> actuating_joint,
975993 const int &id_number, const Parameters ¶ms)
976- : parent_leg_(leg), actuating_joint_(actuating_joint), id_number_(id_number), id_name_(leg->getIDName () + "_" + params.link_id.data[id_number_] + "_link"), dh_parameter_r_(params.link_parameters[leg->getIDNumber ()][id_number_].data.at(" r" )), dh_parameter_theta_(params.link_parameters[leg->getIDNumber ()][id_number_].data.at(" theta" )), dh_parameter_d_(params.link_parameters[leg->getIDNumber ()][id_number_].data.at(" d" )), dh_parameter_alpha_(params.link_parameters[leg->getIDNumber ()][id_number_].data.at(" alpha" ))
994+ : parent_leg_(leg)
995+ , actuating_joint_(actuating_joint)
996+ , id_number_(id_number)
997+ , id_name_(leg->getIDName () + "_" + params.link_id.data[id_number_] + "_link")
998+ , dh_parameter_r_(params.link_parameters[leg->getIDNumber ()][id_number_].data.at(" r" ))
999+ , dh_parameter_theta_(params.link_parameters[leg->getIDNumber ()][id_number_].data.at(" theta" ))
1000+ , dh_parameter_d_(params.link_parameters[leg->getIDNumber ()][id_number_].data.at(" d" ))
1001+ , dh_parameter_alpha_(params.link_parameters[leg->getIDNumber ()][id_number_].data.at(" alpha" ))
9771002{
9781003 if (!params.link_parameters [leg->getIDNumber ()][id_number_].initialised )
9791004 {
@@ -985,15 +1010,29 @@ Link::Link(std::shared_ptr<Leg> leg, std::shared_ptr<Joint> actuating_joint,
9851010// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
9861011
9871012Link::Link (std::shared_ptr<Link> link)
988- : parent_leg_(link->parent_leg_), actuating_joint_(link->actuating_joint_), id_number_(link->id_number_), id_name_(link->id_name_), dh_parameter_r_(link->dh_parameter_r_), dh_parameter_theta_(link->dh_parameter_theta_), dh_parameter_d_(link->dh_parameter_d_), dh_parameter_alpha_(link->dh_parameter_alpha_)
1013+ : parent_leg_(link->parent_leg_)
1014+ , actuating_joint_(link->actuating_joint_)
1015+ , id_number_(link->id_number_)
1016+ , id_name_(link->id_name_)
1017+ , dh_parameter_r_(link->dh_parameter_r_)
1018+ , dh_parameter_theta_(link->dh_parameter_theta_)
1019+ , dh_parameter_d_(link->dh_parameter_d_)
1020+ , dh_parameter_alpha_(link->dh_parameter_alpha_)
9891021{
9901022}
9911023
9921024// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
9931025
9941026Joint::Joint (std::shared_ptr<Leg> leg, std::shared_ptr<Link> reference_link,
9951027 const int &id_number, const Parameters ¶ms)
996- : parent_leg_(leg), reference_link_(reference_link), id_number_(id_number), id_name_(leg->getIDName () + "_" + params.joint_id.data[id_number_ - 1] + "_joint"), min_position_(params.joint_parameters[leg->getIDNumber ()][id_number_ - 1].data.at(" min" )), max_position_(params.joint_parameters[leg->getIDNumber ()][id_number_ - 1].data.at(" max" )), unpacked_position_(params.joint_parameters[leg->getIDNumber ()][id_number_ - 1].data.at(" unpacked" )), max_angular_speed_(params.joint_parameters[leg->getIDNumber ()][id_number_ - 1].data.at(" max_vel" ))
1028+ : parent_leg_(leg)
1029+ , reference_link_(reference_link)
1030+ , id_number_(id_number)
1031+ , id_name_(leg->getIDName () + "_" + params.joint_id.data[id_number_ - 1] + "_joint")
1032+ , min_position_(params.joint_parameters[leg->getIDNumber ()][id_number_ - 1].data.at(" min" ))
1033+ , max_position_(params.joint_parameters[leg->getIDNumber ()][id_number_ - 1].data.at(" max" ))
1034+ , unpacked_position_(params.joint_parameters[leg->getIDNumber ()][id_number_ - 1].data.at(" unpacked" ))
1035+ , max_angular_speed_(params.joint_parameters[leg->getIDNumber ()][id_number_ - 1].data.at(" max_vel" ))
9971036{
9981037 default_position_ = clamped (0.0 , min_position_, max_position_);
9991038
@@ -1035,7 +1074,15 @@ Joint::Joint(std::shared_ptr<Leg> leg, std::shared_ptr<Link> reference_link,
10351074// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
10361075
10371076Joint::Joint (std::shared_ptr<Joint> joint)
1038- : parent_leg_(joint->parent_leg_), reference_link_(joint->reference_link_), id_number_(joint->id_number_), id_name_(joint->id_name_), min_position_(joint->min_position_), max_position_(joint->max_position_), packed_positions_(joint->packed_positions_), unpacked_position_(joint->unpacked_position_), max_angular_speed_(joint->max_angular_speed_)
1077+ : parent_leg_(joint->parent_leg_)
1078+ , reference_link_(joint->reference_link_)
1079+ , id_number_(joint->id_number_)
1080+ , id_name_(joint->id_name_)
1081+ , min_position_(joint->min_position_)
1082+ , max_position_(joint->max_position_)
1083+ , packed_positions_(joint->packed_positions_)
1084+ , unpacked_position_(joint->unpacked_position_)
1085+ , max_angular_speed_(joint->max_angular_speed_)
10391086{
10401087 current_transform_ = joint->current_transform_ ;
10411088 identity_transform_ = joint->identity_transform_ ;
0 commit comments