POSQ class that implements the POSQ steering function.
More...
#include <POSQ.hpp>
|
| POSQ () |
|
void | setRes (const double *r) const |
| Set the current result of the integration. More...
|
|
double | normAngle (double a, double mina) const |
| Normalize the angle a rispect to the minimum angle mina. More...
|
|
double * | posControlStep (double x_c, double y_c, double t_c, double x_end, double y_end, double t_end, double ct, double b, int dir, int &eot) const |
| Single step of the Steer Function. More...
|
|
std::vector< UnicycleState > | steer (const ob::State *from, const ob::State *to, double &distance) const |
| Propagate the model of the system forward, starting at a given state, with a given control, for a given number of steps. More...
|
|
double | distance (const ompl::base::State *state1, const ompl::base::State *state2) |
| Compute the distance between two states. More...
|
|
UnicycleState | interpolate (const ompl::base::State *from, std::vector< UnicycleState > states, const double t) |
| Return state at time t. More...
|
|
POSQ class that implements the POSQ steering function.
◆ POSQ()
Read the paper and see how to set the proper gain values
double Kphi; Kphi = -1;
Read the paper and see how to set the proper gain values
double Kphi; Kphi = -1;
◆ distance()
Compute the distance between two states.
◆ interpolate()
◆ normAngle()
double POSQ::normAngle |
( |
double |
a, |
|
|
double |
mina |
|
) |
| const |
|
inline |
Normalize the angle a rispect to the minimum angle mina.
- Parameters
-
◆ posControlStep()
double * POSQ::posControlStep |
( |
double |
x_c, |
|
|
double |
y_c, |
|
|
double |
t_c, |
|
|
double |
x_end, |
|
|
double |
y_end, |
|
|
double |
t_end, |
|
|
double |
ct, |
|
|
double |
b, |
|
|
int |
dir, |
|
|
int & |
eot |
|
) |
| const |
|
inline |
Single step of the Steer Function.
- Parameters
-
double | x_c, initial x-coord |
double | y_c, initial y-coord |
double | t_c, initial orientation |
double | x_end, final x-coord. |
double | y_end, final y-coord. |
double | t_end, final orientation |
double | c_t, integration time step |
double | b, length of the wheel axis |
double | dir, direction of the robot dir==1 forward |
This function will generate a vector of double as output: [0] Vl velocity of the left wheel; [1] Vr velocity of the right wheel; [2] V translational Velocity; [3] W Angular Velocity. [4] EOT End Of Trajectory
◆ setRes()
void POSQ::setRes |
( |
const double * |
r | ) |
const |
|
inline |
Set the current result of the integration.
◆ steer()
Propagate the model of the system forward, starting at a given state, with a given control, for a given number of steps.
- Parameters
-
state | from Initial state of the steering |
state | to Ending state of the steering |
double | duration, number of control steps needed to steer the robot |
length of the wheels axis
◆ DT
◆ END_CONTROLS
const double POSQ::END_CONTROLS = 2000 |
Value used to mark the end of the vector, no used at the moment.
◆ ind_
Internal Counter to access the current control to propagate.
◆ intRes_
◆ Kalpha
◆ Kbeta
◆ Krho
◆ Kv
◆ MAX_SIZE
const int POSQ::MAX_SIZE = 10001 |
Max Size of the Control (HacK: in this case equal to the dimension)
◆ result_
Internal Results of the integration.
◆ RhoEndCondition
double POSQ::RhoEndCondition |
◆ space_
ompl::base::StateSpacePtr POSQ::space_ |
◆ Vmax
The documentation for this class was generated from the following file: