From c10f3ef80728dc4d82606cd2fc88231a510527b1 Mon Sep 17 00:00:00 2001 From: Shunichi Nozawa Date: Thu, 30 Apr 2015 08:10:31 +0900 Subject: [PATCH] Disable use_inside_joint_weight_retrieval by default in ImpedanceController, AutoBalancer, Stabilizer to reduce oscillation (https://github.com/fkanehiro/hrpsys-base/issues/516) --- rtc/AutoBalancer/AutoBalancer.cpp | 2 +- rtc/ImpedanceController/ImpedanceController.cpp | 2 +- rtc/Stabilizer/Stabilizer.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/rtc/AutoBalancer/AutoBalancer.cpp b/rtc/AutoBalancer/AutoBalancer.cpp index 696b9263432..3e72178f317 100644 --- a/rtc/AutoBalancer/AutoBalancer.cpp +++ b/rtc/AutoBalancer/AutoBalancer.cpp @@ -193,7 +193,7 @@ RTC::ReturnCode_t AutoBalancer::onInitialize() coil::stringTo(tmpv[j], end_effectors_str[i*prop_num+6+j].c_str()); } tp.localR = Eigen::AngleAxis(tmpv[3], hrp::Vector3(tmpv[0], tmpv[1], tmpv[2])).toRotationMatrix(); // rotation in VRML is represented by axis + angle - tp.manip = hrp::JointPathExPtr(new hrp::JointPathEx(m_robot, m_robot->link(ee_base), m_robot->link(ee_target), m_dt)); + tp.manip = hrp::JointPathExPtr(new hrp::JointPathEx(m_robot, m_robot->link(ee_base), m_robot->link(ee_target), m_dt, false)); // Fix for toe joint if (ee_name.find("leg") != std::string::npos && tp.manip->numJoints() == 7) { // leg and 7dof joint (6dof leg +1dof toe) std::vector optw; diff --git a/rtc/ImpedanceController/ImpedanceController.cpp b/rtc/ImpedanceController/ImpedanceController.cpp index a753808653a..c4629978303 100644 --- a/rtc/ImpedanceController/ImpedanceController.cpp +++ b/rtc/ImpedanceController/ImpedanceController.cpp @@ -226,7 +226,7 @@ RTC::ReturnCode_t ImpedanceController::onInitialize() // 3. Check whether joint path is adequate. hrp::Link* target_link = m_robot->link(ee_map[ee_name].target_name); ImpedanceParam p; - p.manip = hrp::JointPathExPtr(new hrp::JointPathEx(m_robot, m_robot->link(base_name_map[ee_name]), target_link, m_dt)); + p.manip = hrp::JointPathExPtr(new hrp::JointPathEx(m_robot, m_robot->link(base_name_map[ee_name]), target_link, m_dt, false)); if ( ! p.manip ) { std::cerr << "[" << m_profile.instance_name << "] Invalid joint path from " << base_name_map[ee_name] << " to " << target_link->name << "!! Impedance param for " << sensor_name << " cannot be added!!" << std::endl; continue; diff --git a/rtc/Stabilizer/Stabilizer.cpp b/rtc/Stabilizer/Stabilizer.cpp index e392d24d3e3..3fc8d7de7c1 100644 --- a/rtc/Stabilizer/Stabilizer.cpp +++ b/rtc/Stabilizer/Stabilizer.cpp @@ -209,7 +209,7 @@ RTC::ReturnCode_t Stabilizer::onInitialize() else if (ee_name == "lleg") ikp.sensor_name = "lfsensor"; else ikp.sensor_name = ""; stikp.push_back(ikp); - jpe_v.push_back(hrp::JointPathExPtr(new hrp::JointPathEx(m_robot, m_robot->link(ee_base), m_robot->link(ee_target), dt))); + jpe_v.push_back(hrp::JointPathExPtr(new hrp::JointPathEx(m_robot, m_robot->link(ee_base), m_robot->link(ee_target), dt, false))); // Fix for toe joint if (ee_name.find("leg") != std::string::npos && jpe_v.back()->numJoints() == 7) { // leg and has 7dof joint (6dof leg +1dof toe) std::vector optw;