Skip to content

Commit 26a2e5b

Browse files
committed
Print links in collision
1 parent 680b783 commit 26a2e5b

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

moveit_ros/planning/planning_request_adapter_plugins/src/check_start_state_collision.cpp

+14-1
Original file line numberDiff line numberDiff line change
@@ -78,15 +78,28 @@ class CheckStartStateCollision : public planning_interface::PlanningRequestAdapt
7878
// TODO(sjahr): Would verbose make sense?
7979
planning_scene->checkCollision(creq, cres, start_state);
8080

81+
collision_detection::CollisionResult::ContactMap contacts;
82+
planning_scene->getCollidingPairs(contacts);
83+
8184
auto status = moveit::core::MoveItErrorCode();
8285
if (!cres.collision)
8386
{
8487
status.val = moveit_msgs::msg::MoveItErrorCodes::SUCCESS;
8588
}
8689
else
8790
{
91+
collision_detection::CollisionResult::ContactMap contacts;
92+
planning_scene->getCollidingPairs(contacts);
93+
94+
std::string contact_information = std::to_string(contacts.size()) + " contact(s) detected : ";
95+
96+
for (const auto& [contact_pair, contact_info] : contacts)
97+
{
98+
contact_information.append(contact_pair.first + " - " + contact_pair.second + ", ");
99+
}
100+
88101
status.val = moveit_msgs::msg::MoveItErrorCodes::START_STATE_IN_COLLISION;
89-
status.message = std::string("Start state in collision.");
102+
status.message = std::string(contact_information);
90103
}
91104
status.source = getDescription();
92105
return status;

0 commit comments

Comments
 (0)