24 #include <Eigen/Geometry>
51 NavigateToWithObstacleAvoidance::SubClassRegistry
65 const auto v = in.getTargetPosition();
69 target.linear() = Eigen::AngleAxisf(
v->z, Eigen::Vector3f::UnitZ()).toRotationMatrix();
70 target.translation().head<2>() = Eigen::Vector2f(
v->x,
v->y);
76 if (in.isMaxAngularVelocitySet())
81 if (in.isMaxLinearVelocitySet())
86 if (in.isRotateIntoMovementDirectionSet())
88 if (not in.getRotateIntoMovementDirection())
90 ARMARX_INFO <<
"Will not rotate into movement direction.";
103 if (in.isOrientationOptimizationSmoothnessWeightSet())
107 in.getOrientationOptimizationSmoothnessWeight();
110 if (in.isPredefinedRotationDirectionSet())
113 ARMARX_INFO <<
"Using predefined rotation direction: "
114 << (in.getPredefinedRotationDirection() ?
"Clockwise" :
"CounterClockwise");
116 in.getPredefinedRotationDirection() ? RotationDirection::Clockwise
117 : RotationDirection::CounterClockwise;
126 if (in.getUseLocalPlanner())
145 .
navigator = &iceNavigator, .subscriber = &memoryEventPolling}};
158 ARMARX_INFO <<
"Goal `" << in.getTargetPosition() <<
"`reached.";