38 #include <IceUtil/Time.h>
41 #include <VirtualRobot/Nodes/RobotNode.h>
42 #include <VirtualRobot/Safety.h>
51 #include <RobotAPI/interface/components/ObstacleAvoidance/DynamicObstacleManagerInterface.h>
89 Eigen::Vector2f target_pos;
91 Eigen::Vector2f target_vel;
94 float target_angular_dist;
95 Eigen::Vector2f agent_pos;
97 double agent_safety_margin = 0;
98 float min_vel_near_target = 50;
99 float min_vel_general = 100;
101 float max_rot_vel = 0.3;
102 float pos_near_threshold = 250;
103 float pos_reached_threshold = 8;
104 float ori_reached_threshold = 0.1;
110 Eigen::Vector3f start;
111 std::vector<Eigen::Vector3f> path;
118 Eigen::Vector2f target_local;
119 Eigen::Vector2f modulated_local;
120 Eigen::Vector2f target_global;
121 Eigen::Vector2f modulated_global;
124 float err_angular_dist;
143 float pos_reached_threshold,
144 float ori_reached_threshold,
145 const Ice::Current& = Ice::Current{})
152 float target_rot_vel,
153 const Ice::Current& = Ice::Current{})
158 float target_pos_delta_x,
159 float target_pos_delta_y,
160 float target_delta_ori,
161 float pos_reached_threshold,
162 float ori_reached_threshold,
163 const Ice::Current& = Ice::Current{})
170 const Ice::Current& = Ice::Current{})
201 high_level_control_loop();
207 update_agent_dependent_values();
210 get_target_velocity()
214 get_target_rotational_velocity()
218 target_position_reached()
222 target_orientation_reached()
233 visualize(
const velocities& vels);
236 is_near_target(
const Eigen::Vector2f& control_velocity)
246 PlatformUnitInterfacePrx m_platform;
248 DynamicObstacleManagerInterfacePrx m_obsman;
250 ObstacleAwarePlatformUnit::control_loop m_control_loop;
251 ObstacleAwarePlatformUnit::control_data m_control_data;