Skip to content

Conversation

@ShrutheeshIR
Copy link

@ShrutheeshIR ShrutheeshIR commented Oct 17, 2025

Support multiple end effectors. The interface is made more generic to support 1+ eefs. Also added a bimanual panda arm.

To reproduce

./build/fkcc_gen resources/bipanda.json && clang-format -i bimanual_panda_fk.hh

TODO

  • Fix if zero eefs are given, pick last joint
  • verify colliding eefs
  • Add attachment -- Nothing to do here, handled by vamp.

src/fkcc_gen.cc Outdated
{
trace_frame(info.end_effector_index, ad_data, data, n_spheres_data + n_bounding_spheres_data);
for(size_t i = 0; i < info.end_effector_indexes.size(); i++)
trace_frame(info.end_effector_indexes[i], ad_data, data, n_spheres_data + n_bounding_spheres_data + 12 *i);
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

important callout, we now return all eef fks as a 12*N array

Copy link
Contributor

@zkingston zkingston left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor nits

src/fkcc_gen.cc Outdated
extract_spheres();

if (not end_effector)
for (const auto end_effector : end_effectors)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

const auto &

src/fkcc_gen.cc Outdated
}
else
{
end_effector_names.push_back(end_effector);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

emplace_back

src/fkcc_gen.cc Outdated
}
}
else if (not model.existFrame(*end_effector))
if (end_effector_names.size() == 0)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

empty()

src/fkcc_gen.cc Outdated
}
else

for (const auto end_effector_name : end_effector_names)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

const auto &

src/fkcc_gen.cc Outdated
for (const auto end_effector_name : end_effector_names)
{
end_effector_name = *end_effector;
end_effector_indexes.push_back(model.getFrameId(end_effector_name));
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

emplace_back

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants