Skip to content

Commit a54cfd4

Browse files
committed
fix: set of final PR fixes
1 parent 9130adc commit a54cfd4

1 file changed

Lines changed: 4 additions & 3 deletions

File tree

src/cartesian_admittance_controller.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff 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

768768
void 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
}

0 commit comments

Comments
 (0)