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
61
62 Mobility(double speed,
63 double turning_speed,
64 double min_turning_radius,
65 double sampling_resolution,
66 bool correct_goal_offset,
67 unsigned int mult_forward=0,
68 unsigned int mult_backward=0,
69 unsigned int mult_lateral=0,
70 unsigned int mult_forward_turn=0,
71 unsigned int mult_backward_turn=0,
72 unsigned int mult_pointturn=0,
73 unsigned int mult_lateral_curve=0,
74 double search_radius = 0,
75 double search_progress_steps = 0,
76 double max_motion_curve_length = 0
77 ) :
78 translationSpeed(speed),
79 rotationSpeed(turning_speed),
80 minTurningRadius(min_turning_radius),
81 spline_sampling_resolution(sampling_resolution),
82 remove_goal_offset(correct_goal_offset),
83 multiplierForward(mult_forward),
84 multiplierBackward(mult_backward),
85 multiplierLateral(mult_lateral),
86 multiplierForwardTurn(mult_forward_turn),
87 multiplierBackwardTurn(mult_backward_turn),
88 multiplierPointTurn(mult_pointturn),
89 multiplierLateralCurve(mult_lateral_curve),
90 searchRadius(search_radius),
91 searchProgressSteps(search_progress_steps),
92 maxMotionCurveLength(max_motion_curve_length)
93 {
94 }
95};
96
97
98}
Definition Dijkstra.cpp:8
Definition Mobility.hpp:12
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
unsigned int multiplierBackward
Definition Mobility.hpp:28
double searchRadius
Definition Mobility.hpp:36
double translationSpeed
Definition Mobility.hpp:14
Mobility()
Definition Mobility.hpp:43
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)
Definition Mobility.hpp:62
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