5 #include <VirtualRobot/Robot.h>
15 auto& l =
side(
"Left");
16 auto& r =
side(
"Right");
18 l.hand_transverse = Eigen::Vector3f{0, 1, 0};
19 r.hand_transverse = Eigen::Vector3f{0, 1, 0};
20 l.hand_up = Eigen::Vector3f{-1, 0, -1};
21 r.hand_up = Eigen::Vector3f{+1, 0, -1};
22 l.tcp_shift = Eigen::Vector3f{0, -30, 0};
23 r.tcp_shift = Eigen::Vector3f{0, -30, 0};
88 throw std::logic_error{
"reached unreachable code"};
113 return box.dimension_x();
131 return box.dimension_y();
149 return box.dimension_z();
153 throw std::logic_error{
"reached unreachable code"};
178 return -box.axis_x();
196 return -box.axis_y();
214 return -box.axis_z();
218 throw std::logic_error{
"reached unreachable code"};
243 return box.dimension_x();
261 return box.dimension_y();
279 return box.dimension_z();
283 throw std::logic_error{
"reached unreachable code"};
308 return box.dimension_x();
326 return box.dimension_y();
344 return box.dimension_z();
348 throw std::logic_error{
"reached unreachable code"};
372 if (!(t_len < transverse_length_max && t_len > transverse_length_min))
374 s <<
"tr: " << t_len <<
" [" << transverse_length_min <<
", " << transverse_length_max
377 if (!(u_len < upward_length_max && u_len > upward_length_min))
379 s <<
"up: " << u_len <<
" [" << upward_length_min <<
", " << upward_length_max <<
"] ";
381 if (!(f_len < forward_length_max && f_len > forward_length_min))
383 s <<
"fw: " << f_len <<
" [" << forward_length_min <<
", " << forward_length_max <<
"]";
388 armarx::grasping::GraspCandidatePtr
392 return make_candidate(
396 armarx::grasping::GraspCandidatePtr
398 const std::string& side_name,
402 return make_candidate(provider_name, side_name, robot->getGlobalPose());
405 armarx::grasping::GraspCandidatePtr
407 const std::string& side_name,
410 armarx::grasping::GraspCandidatePtr gc =
new armarx::grasping::GraspCandidate;
413 gc->providerName = provider_name;
414 gc->side = side_name;
416 gc->objectType = armarx::objpose::UnknownObject;
417 gc->sourceFrame =
"root";
418 gc->targetFrame =
"root";
428 _rnh{std::move(rnh)}, _robot{robot}
433 const box_to_grasp_candidates::side_data&
436 return _sides.at(
side);
444 if (_sides.count(
side))
446 return _sides.at(
side);
451 data.nh_arm_w_rob =
data.nh_arm.addRobot(_robot);
455 const std::map<std::string, box_to_grasp_candidates::side_data>&
477 return {g.pose, g.approach, &
side};