15 const grasping::GraspCandidateDict& candidates,
19 viz::Layer graspsNonReachableLayer = arviz.
layer(
"Grasps Non-Reachable");
21 visualize(candidates, graspsLayer, graspsNonReachableLayer);
22 arviz.
commit({graspsLayer, graspsNonReachableLayer});
36 ARMARX_CHECK(candidate.tcpPoseInHandRoot) <<
"Candidate needs to have tcpPoseInHandRoot to be visualized!";
39 if (candidate.reachabilityInfo && candidate.reachabilityInfo->reachable)
41 layerReachable.
add(hand);
45 layerNonReachable.
add(hand);
53 for (
auto& [
id, candidate] : candidates)
55 visualize(
id, *candidate, layerReachable, layerNonReachable);
61 const std::string& name,
62 const GraspCandidate& candidate)
70 const std::string& name,
71 const grasping::GraspCandidate& candidate,
74 bool isReachable = candidate.reachabilityInfo && candidate.reachabilityInfo->reachable;
79 Eigen::Matrix4f graspPose = PosePtr::dynamicCast(candidate.graspPose)->toEigen();
80 std::string modelFile =
"rt/robotmodel/Armar6-SH/Armar6-" + candidate.side +
"Hand-v3.xml";
83 .
file(
"Armar6RT", modelFile)
84 .
pose(
fromIce(candidate.robotPose) * graspPose * tcp2handRoot)