ugv_nav4d
Mobility.hpp
Go to the documentation of this file.
1#pragma once
2
3namespace ugv_nav4d{
4
5//ATTENTION Mobility is copied from motion_planning_libraries to avoid the dependency. Coping a simple struct is better than getting all the dependencies...
6
12struct Mobility {
13 // Defines the forward/backward speed of the robot. Is used for cost calculations
14 double translationSpeed; // m/sec.
15 // Defines the rotational speed of the robot. Is used for cost calculations.
16 double rotationSpeed; // rad/sec
17 // If > 0 allows to specify the minimal turning radius of the system in meter.
18 // Without this not valid curves may be created.
20 // Resolution used to sample the motion primitive spline
22 // Remove the goal offset which is there because of the discretization
27 unsigned int multiplierForward;
28 unsigned int multiplierBackward;
29 unsigned int multiplierLateral;
32 unsigned int multiplierPointTurn;
34
35 // If > 0 a new goal would be searched, if the choosen goal is invalid
37 // The search circle is increased by this value after each unsuccessful case. This option determines the step size between two search radii.
39
41
42 // Penalizes heading changes during search to produce straighter paths.
44
45 // Weight for angular time in sum-based cost calculation.
47
68
69 Mobility(double speed,
70 double turning_speed,
71 double min_turning_radius,
72 double sampling_resolution,
73 bool correct_goal_offset,
74 unsigned int mult_forward=0,
75 unsigned int mult_backward=0,
76 unsigned int mult_lateral=0,
77 unsigned int mult_forward_turn=0,
78 unsigned int mult_backward_turn=0,
79 unsigned int mult_pointturn=0,
80 unsigned int mult_lateral_curve=0,
81 double search_radius = 0,
82 double search_progress_steps = 0,
83 double max_motion_curve_length = 0,
84 double curvature_penalty_weight = 0.0,
85 double angular_cost_weight = 1.0
86 ) :
87 translationSpeed(speed),
88 rotationSpeed(turning_speed),
89 minTurningRadius(min_turning_radius),
90 spline_sampling_resolution(sampling_resolution),
91 remove_goal_offset(correct_goal_offset),
92 multiplierForward(mult_forward),
93 multiplierBackward(mult_backward),
94 multiplierLateral(mult_lateral),
95 multiplierForwardTurn(mult_forward_turn),
96 multiplierBackwardTurn(mult_backward_turn),
97 multiplierPointTurn(mult_pointturn),
98 multiplierLateralCurve(mult_lateral_curve),
99 searchRadius(search_radius),
100 searchProgressSteps(search_progress_steps),
101 maxMotionCurveLength(max_motion_curve_length),
102 curvaturePenaltyWeight(curvature_penalty_weight),
103 angularCostWeight(angular_cost_weight)
104 {
105 }
106};
107
108}
Definition ConfigLoader.hpp:9
Definition Mobility.hpp:12
double curvaturePenaltyWeight
Definition Mobility.hpp:43
unsigned int multiplierPointTurn
Definition Mobility.hpp:32
double minTurningRadius
Definition Mobility.hpp:19
unsigned int multiplierForwardTurn
Definition Mobility.hpp:30
unsigned int multiplierLateral
Definition Mobility.hpp:29
double spline_sampling_resolution
Definition Mobility.hpp:21
unsigned int multiplierBackwardTurn
Definition Mobility.hpp:31
double angularCostWeight
Definition Mobility.hpp:46
Mobility(double speed, double turning_speed, double min_turning_radius, double sampling_resolution, bool correct_goal_offset, unsigned int mult_forward=0, unsigned int mult_backward=0, unsigned int mult_lateral=0, unsigned int mult_forward_turn=0, unsigned int mult_backward_turn=0, unsigned int mult_pointturn=0, unsigned int mult_lateral_curve=0, double search_radius=0, double search_progress_steps=0, double max_motion_curve_length=0, double curvature_penalty_weight=0.0, double angular_cost_weight=1.0)
Definition Mobility.hpp:69
unsigned int multiplierBackward
Definition Mobility.hpp:28
double searchRadius
Definition Mobility.hpp:36
double translationSpeed
Definition Mobility.hpp:14
Mobility()
Definition Mobility.hpp:48
unsigned int multiplierForward
Definition Mobility.hpp:27
double rotationSpeed
Definition Mobility.hpp:16
double searchProgressSteps
Definition Mobility.hpp:38
double maxMotionCurveLength
Definition Mobility.hpp:40
bool remove_goal_offset
Definition Mobility.hpp:23
unsigned int multiplierLateralCurve
Definition Mobility.hpp:33