else if(mlockall(MCL_CURRENT|MCL_FUTURE) == -1)
RCLCPP_WARN(get_node()->get_logger(),"Failed to lock memory.");
- lastTime_=get_node()->get_clock()->now();
-
return controller_interface::CallbackReturn::SUCCESS;
}
auto time=get_node()->get_clock()->now();
for(unsigned int i=0;i < nJoints_;i++)
- command_interfaces_[i].set_value(gravity_(i)+pid_[i]->computeCommand(0,time-lastTime_));
- lastTime_=time;
+ command_interfaces_[i].set_value(gravity_(i));
return controller_interface::CallbackReturn::SUCCESS;
}
- controller_interface::return_type PidPlusGravityController::update(const rclcpp::Time &/*time*/,const rclcpp::Duration &/*period*/)
+ controller_interface::return_type PidPlusGravityController::update(const rclcpp::Time &/*time*/,const rclcpp::Duration & period)
{
auto referencePoint=referencePoint_.readFromRT();
if(referencePoint && *referencePoint)
if(chainParam_->JntToGravity(q_,gravity_) < 0)
RCLCPP_ERROR(get_node()->get_logger(),"KDL dynamics solver failed.");
- auto time=get_node()->get_clock()->now();
for(unsigned int i=0;i < nJoints_;i++)
- command_interfaces_[i].set_value(gravity_(i)+pid_[i]->computeCommand(qr_(i)-q_(i),time-lastTime_));
- lastTime_=time;
+ command_interfaces_[i].set_value(gravity_(i)+pid_[i]->computeCommand(qr_(i)-q_(i),period));
return controller_interface::return_type::OK;
}