libmove3d  3.13.0
Functions
/home/slemaign/softs-local/BioMove3D-git/p3d/p3d_jnt_plan.c File Reference

Description of the ::P3D_PLAN joint. More...

#include "P3d-pkg.h"
#include "Util-pkg.h"

Functions

const char * p3d_jnt_plan_get_dof_name (int i_dof)
 Get the name of a degree of freedom for a plan joint.
void p3d_jnt_plan_stay_within_dist (p3d_stay_within_dist_data *prev_data, p3d_jnt *jntPt, p3d_stay_within_dist_data *data, double *distance, configPt q_init, configPt q_max_param, double max_param, double *reach_param)
 Compute the distance and the speed that the joint could reach.
void p3d_jnt_plan_calc_jnt_mat (p3d_jnt *jntPt)
 Compute the position matrix of the joint.
void p3d_jnt_plan_calc_mat_jac (p3d_jnt *jntPt)
 Compute the jacobian matrix of the joint.
p3d_jntp3d_jnt_plan_create (p3d_matrix4 pos, double *v, double *vmin, double *vmax, double *vmin_rand, double *vmax_rand, double *velocity_max, double *acceleration_max, double *jerk_max, double *param)
 Create a new joint ::P3D_PLAN with angle in radian.
p3d_jntp3d_jnt_plan_create_deg (p3d_matrix4 pos, double *v, double *vmin, double *vmax, double *vmin_rand, double *vmax_rand, double *velocity_max, double *acceleration_max, double *jerk_max, double *param)
 Create a new joint ::P3D_PLAN with angle in degree.
void p3d_jnt_plan_stay_within_sphere (p3d_stay_within_dist_data *prev_data, p3d_jnt *jntPt, p3d_stay_within_dist_data *data, double *distance, double *reach_param)
 Compute the distance and the speed that the joint could reach.

Detailed Description

Description of the ::P3D_PLAN joint.

It's a complex joint. It owns: 2 translations (x, y), 1 rotation (Rz). It is ofen use for robot base. It's default orientation could be modify by pos in p3d_jnt_plan_create().


Function Documentation

void p3d_jnt_plan_calc_jnt_mat ( p3d_jnt jntPt)

Compute the position matrix of the joint.

This function use the value for the degree of freedom set in the joint by p3d_jnt_set_dof(). This is used in p3d_jnt_calc_mat_pos() for ::P3D_PLAN joint.

Parameters:
jntPt,:the joint
void p3d_jnt_plan_calc_mat_jac ( p3d_jnt jntPt)

Compute the jacobian matrix of the joint.

This function use the value for the degree of freedom set in the joint by p3d_jnt_set_dof(), the position matrix and the prejacobian matrix of the previous joint. This is used in p3d_jnt_calc_mat_pos() for ::P3D_PLAN joint.

Parameters:
jntPt,:the joint
p3d_jnt* p3d_jnt_plan_create ( p3d_matrix4  pos,
double *  v,
double *  vmin,
double *  vmax,
double *  vmin_rand,
double *  vmax_rand,
double *  velocity_max,
double *  acceleration_max,
double *  jerk_max,
double *  param 
)

Create a new joint ::P3D_PLAN with angle in radian.

Parameters:
pos,:the position matrix of the joint
v,:the values of the degree of freedom for the joint (with angle in radian)
vmin& vmax: the bounds values of the degree of freedom for the joint (with angle in radian)
vmin_rand& vmax_rand: the random (or user) bounds values of the degree of freedom for the joint (with angle in radian)
param,:the array of the parameters for the joint (NULL here)
Returns:
the new joint.
p3d_jnt* p3d_jnt_plan_create_deg ( p3d_matrix4  pos,
double *  v,
double *  vmin,
double *  vmax,
double *  vmin_rand,
double *  vmax_rand,
double *  velocity_max,
double *  acceleration_max,
double *  jerk_max,
double *  param 
)

Create a new joint ::P3D_PLAN with angle in degree.

Parameters:
pos,:the position matrix of the joint
v,:the values of the degree of freedom for the joint (with angle in degree)
vmin& vmax: the bounds values of the degree of freedom for the joint (with angle in degree)
vmin_rand& vmax_rand: the random (or user) bounds values of the degree of freedom for the joint (with angle in degree)
param,:the array of the parameters for the joint (NULL here)
Returns:
the new joint.
const char* p3d_jnt_plan_get_dof_name ( int  i_dof)

Get the name of a degree of freedom for a plan joint.

This is the implementation of p3d_jnt_get_dof_name() for the joint ::P3D_PLAN.

Parameters:
i_dof,:the index of the degree of freedom
Returns:
The name of the degree of freedom
void p3d_jnt_plan_stay_within_dist ( p3d_stay_within_dist_data prev_data,
p3d_jnt jntPt,
p3d_stay_within_dist_data data,
double *  distance,
configPt  q_init,
configPt  q_max_param,
double  max_param,
double *  reach_param 
)

Compute the distance and the speed that the joint could reach.

From the configuration q_init of the joint to q_max_param, this function computes an interval of parameter which all the points of the joint move by less than the distance given as input. This is the implementation of p3d_jnt_stay_within_dist() for the joint ::P3D_PLAN.

Note: The joint looks directly in the robot configurations the degree of freedom that it needs.

Parameters:
prev_data,:speed of the previous joint
jntPt,:the joint
distance,:the maximal distance
qinit,:the initial configuration
q_max_param,:the final configuration
max_param,:the value of the delta parameter in the final configuration (it gives the range param needed to reach the final configuration)
reach_param,:the actual maximal parameter that could be reach (previous joint can limits the range parameter)
Return values:
data,:speed of the joint distance: the distance that the joint couldn't cross reach_param: the new maximal range parameter that could be reach
void p3d_jnt_plan_stay_within_sphere ( p3d_stay_within_dist_data prev_data,
p3d_jnt jntPt,
p3d_stay_within_dist_data data,
double *  distance,
double *  reach_param 
)

Compute the distance and the speed that the joint could reach.

This function computes an interval of parameter which all the points of the joint move by less than the distance given as input. This is the implementation of p3d_jnt_stay_within_sphere() for the joint ::P3D_PLAN.

Note: The joint looks directly in the robot configurations the degree of freedom that it needs.

Parameters:
prev_data,:speed of the previous joint
jntPt,:the joint
distance,:the maximal distance
Return values:
data,:speed of the joint distance: the distance that the joint couldn't cross reach_param: the new maximal range parameter that could be reach
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines