File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -694,7 +694,7 @@ void CartesianAdmittanceController::updateCurrentState(bool initialize) {
694694 auto joint_id = model_.getJointId (joint_name);
695695 auto joint = model_.joints [joint_id];
696696
697- #if ROS2_VERSION_ABOVE_JAZZY
697+ #if ROS2_VERSION_ABOVE_HUMBLE
698698 double q_meas = state_interfaces_[i].get_optional ().value_or (q[i]);
699699 double dq_meas = state_interfaces_[num_joints + i].get_optional ().value_or (dq[i]);
700700#else
@@ -767,13 +767,14 @@ void CartesianAdmittanceController::parse_target_pose_() {
767767
768768void CartesianAdmittanceController::parse_target_joint_ () {
769769 auto msg = *target_joint_buffer_.readFromRT ();
770+ size_t num_joints = static_cast <size_t >(model_.nv );
770771 if (msg->position .size ()) {
771- for (size_t i = 0 ; i < msg->position .size (); ++i) {
772+ for (size_t i = 0 ; i < std::min ( msg->position .size (), num_joints ); ++i) {
772773 q_target[i] = msg->position [i];
773774 }
774775 }
775776 if (msg->velocity .size ()) {
776- for (size_t i = 0 ; i < msg->position .size (); ++i) {
777+ for (size_t i = 0 ; i < std::min ( msg->velocity .size (), num_joints ); ++i) {
777778 dq_ref[i] = msg->velocity [i];
778779 }
779780 }
You can’t perform that action at this time.
0 commit comments