SMACC
Loading...
Searching...
No Matches
Namespaces | Classes | Enumerations | Functions
cl_move_base_z Namespace Reference

Namespaces

namespace  backward_global_planner
 
namespace  backward_local_planner
 
namespace  forward_global_planner
 
namespace  forward_local_planner
 
namespace  odom_tracker
 
namespace  pure_spinning_local_planner
 
namespace  undo_path_global_planner
 

Classes

class  CbAbsoluteRotate
 
class  CbMoveBaseClientBehaviorBase
 
class  CbNavigateBackwards
 
class  CbNavigateForward
 
class  CbNavigateGlobalPosition
 
class  CbNavigateNextWaypoint
 
class  CbRotate
 
class  CbUndoPathBackwards
 
class  CbUndoPathBackwards2
 
class  ClMoveBaseZ
 
class  CostmapProxy
 
class  CostmapSwitch
 
class  CpTFListener
 
struct  EvGoalVirtualLinePassed
 
struct  EvWaypoint0
 
struct  EvWaypoint1
 
struct  EvWaypoint10
 
struct  EvWaypoint100
 
struct  EvWaypoint101
 
struct  EvWaypoint102
 
struct  EvWaypoint103
 
struct  EvWaypoint104
 
struct  EvWaypoint105
 
struct  EvWaypoint106
 
struct  EvWaypoint107
 
struct  EvWaypoint108
 
struct  EvWaypoint109
 
struct  EvWaypoint11
 
struct  EvWaypoint110
 
struct  EvWaypoint111
 
struct  EvWaypoint112
 
struct  EvWaypoint113
 
struct  EvWaypoint114
 
struct  EvWaypoint115
 
struct  EvWaypoint116
 
struct  EvWaypoint117
 
struct  EvWaypoint118
 
struct  EvWaypoint119
 
struct  EvWaypoint12
 
struct  EvWaypoint120
 
struct  EvWaypoint121
 
struct  EvWaypoint122
 
struct  EvWaypoint123
 
struct  EvWaypoint124
 
struct  EvWaypoint125
 
struct  EvWaypoint126
 
struct  EvWaypoint127
 
struct  EvWaypoint128
 
struct  EvWaypoint129
 
struct  EvWaypoint13
 
struct  EvWaypoint130
 
struct  EvWaypoint131
 
struct  EvWaypoint132
 
struct  EvWaypoint133
 
struct  EvWaypoint134
 
struct  EvWaypoint135
 
struct  EvWaypoint136
 
struct  EvWaypoint137
 
struct  EvWaypoint138
 
struct  EvWaypoint139
 
struct  EvWaypoint14
 
struct  EvWaypoint140
 
struct  EvWaypoint141
 
struct  EvWaypoint142
 
struct  EvWaypoint143
 
struct  EvWaypoint144
 
struct  EvWaypoint145
 
struct  EvWaypoint146
 
struct  EvWaypoint147
 
struct  EvWaypoint148
 
struct  EvWaypoint149
 
struct  EvWaypoint15
 
struct  EvWaypoint150
 
struct  EvWaypoint151
 
struct  EvWaypoint152
 
struct  EvWaypoint153
 
struct  EvWaypoint154
 
struct  EvWaypoint155
 
struct  EvWaypoint156
 
struct  EvWaypoint157
 
struct  EvWaypoint158
 
struct  EvWaypoint159
 
struct  EvWaypoint16
 
struct  EvWaypoint160
 
struct  EvWaypoint161
 
struct  EvWaypoint162
 
struct  EvWaypoint163
 
struct  EvWaypoint164
 
struct  EvWaypoint165
 
struct  EvWaypoint166
 
struct  EvWaypoint167
 
struct  EvWaypoint168
 
struct  EvWaypoint169
 
struct  EvWaypoint17
 
struct  EvWaypoint170
 
struct  EvWaypoint171
 
struct  EvWaypoint172
 
struct  EvWaypoint173
 
struct  EvWaypoint174
 
struct  EvWaypoint175
 
struct  EvWaypoint176
 
struct  EvWaypoint177
 
struct  EvWaypoint178
 
struct  EvWaypoint179
 
struct  EvWaypoint18
 
struct  EvWaypoint180
 
struct  EvWaypoint181
 
struct  EvWaypoint182
 
struct  EvWaypoint183
 
struct  EvWaypoint184
 
struct  EvWaypoint185
 
struct  EvWaypoint186
 
struct  EvWaypoint187
 
struct  EvWaypoint188
 
struct  EvWaypoint189
 
struct  EvWaypoint19
 
struct  EvWaypoint190
 
struct  EvWaypoint191
 
struct  EvWaypoint192
 
struct  EvWaypoint193
 
struct  EvWaypoint194
 
struct  EvWaypoint195
 
struct  EvWaypoint196
 
struct  EvWaypoint197
 
struct  EvWaypoint198
 
struct  EvWaypoint199
 
struct  EvWaypoint2
 
struct  EvWaypoint20
 
struct  EvWaypoint200
 
struct  EvWaypoint201
 
struct  EvWaypoint202
 
struct  EvWaypoint203
 
struct  EvWaypoint204
 
struct  EvWaypoint205
 
struct  EvWaypoint206
 
struct  EvWaypoint207
 
struct  EvWaypoint208
 
struct  EvWaypoint209
 
struct  EvWaypoint21
 
struct  EvWaypoint210
 
struct  EvWaypoint211
 
struct  EvWaypoint212
 
struct  EvWaypoint213
 
struct  EvWaypoint214
 
struct  EvWaypoint215
 
struct  EvWaypoint216
 
struct  EvWaypoint217
 
struct  EvWaypoint218
 
struct  EvWaypoint219
 
struct  EvWaypoint22
 
struct  EvWaypoint220
 
struct  EvWaypoint221
 
struct  EvWaypoint222
 
struct  EvWaypoint223
 
struct  EvWaypoint224
 
struct  EvWaypoint225
 
struct  EvWaypoint226
 
struct  EvWaypoint227
 
struct  EvWaypoint228
 
struct  EvWaypoint229
 
struct  EvWaypoint23
 
struct  EvWaypoint230
 
struct  EvWaypoint231
 
struct  EvWaypoint232
 
struct  EvWaypoint233
 
struct  EvWaypoint234
 
struct  EvWaypoint235
 
struct  EvWaypoint236
 
struct  EvWaypoint237
 
struct  EvWaypoint238
 
struct  EvWaypoint239
 
struct  EvWaypoint24
 
struct  EvWaypoint240
 
struct  EvWaypoint241
 
struct  EvWaypoint242
 
struct  EvWaypoint243
 
struct  EvWaypoint244
 
struct  EvWaypoint245
 
struct  EvWaypoint246
 
struct  EvWaypoint247
 
struct  EvWaypoint248
 
struct  EvWaypoint249
 
struct  EvWaypoint25
 
struct  EvWaypoint250
 
struct  EvWaypoint251
 
struct  EvWaypoint252
 
struct  EvWaypoint253
 
struct  EvWaypoint254
 
struct  EvWaypoint255
 
struct  EvWaypoint256
 
struct  EvWaypoint26
 
struct  EvWaypoint27
 
struct  EvWaypoint28
 
struct  EvWaypoint29
 
struct  EvWaypoint3
 
struct  EvWaypoint30
 
struct  EvWaypoint31
 
struct  EvWaypoint32
 
struct  EvWaypoint33
 
struct  EvWaypoint34
 
struct  EvWaypoint35
 
struct  EvWaypoint36
 
struct  EvWaypoint37
 
struct  EvWaypoint38
 
struct  EvWaypoint39
 
struct  EvWaypoint4
 
struct  EvWaypoint40
 
struct  EvWaypoint41
 
struct  EvWaypoint42
 
struct  EvWaypoint43
 
struct  EvWaypoint44
 
struct  EvWaypoint45
 
struct  EvWaypoint46
 
struct  EvWaypoint47
 
struct  EvWaypoint48
 
struct  EvWaypoint49
 
struct  EvWaypoint5
 
struct  EvWaypoint50
 
struct  EvWaypoint51
 
struct  EvWaypoint52
 
struct  EvWaypoint53
 
struct  EvWaypoint54
 
struct  EvWaypoint55
 
struct  EvWaypoint56
 
struct  EvWaypoint57
 
struct  EvWaypoint58
 
struct  EvWaypoint59
 
struct  EvWaypoint6
 
struct  EvWaypoint60
 
struct  EvWaypoint61
 
struct  EvWaypoint62
 
struct  EvWaypoint63
 
struct  EvWaypoint64
 
struct  EvWaypoint65
 
struct  EvWaypoint66
 
struct  EvWaypoint67
 
struct  EvWaypoint68
 
struct  EvWaypoint69
 
struct  EvWaypoint7
 
struct  EvWaypoint70
 
struct  EvWaypoint71
 
struct  EvWaypoint72
 
struct  EvWaypoint73
 
struct  EvWaypoint74
 
struct  EvWaypoint75
 
struct  EvWaypoint76
 
struct  EvWaypoint77
 
struct  EvWaypoint78
 
struct  EvWaypoint79
 
struct  EvWaypoint8
 
struct  EvWaypoint80
 
struct  EvWaypoint81
 
struct  EvWaypoint82
 
struct  EvWaypoint83
 
struct  EvWaypoint84
 
struct  EvWaypoint85
 
struct  EvWaypoint86
 
struct  EvWaypoint87
 
struct  EvWaypoint88
 
struct  EvWaypoint89
 
struct  EvWaypoint9
 
struct  EvWaypoint90
 
struct  EvWaypoint91
 
struct  EvWaypoint92
 
struct  EvWaypoint93
 
struct  EvWaypoint94
 
struct  EvWaypoint95
 
struct  EvWaypoint96
 
struct  EvWaypoint97
 
struct  EvWaypoint98
 
struct  EvWaypoint99
 
class  PlannerSwitcher
 
class  Pose
 
struct  Pose2D
 
struct  TfPoseTrack
 
class  WaypointEventDispatcher
 
class  WaypointNavigator
 

Enumerations

enum class  SpiningPlanner { Default , PureSpinning , Forward }
 
enum  UndoPathLocalPlanner { BackwardsLocalPlanner , PureSpinningLocalPlanner }
 

Functions

geometry_msgs::PoseStamped makePureSpinningSubPlan (const geometry_msgs::PoseStamped &start, double dstRads, std::vector< geometry_msgs::PoseStamped > &plan, double puresSpinningRadStep=1000)
 
geometry_msgs::PoseStamped makePureStraightSubPlan (const geometry_msgs::PoseStamped &startOrientedPose, const geometry_msgs::Point &goal, double length, std::vector< geometry_msgs::PoseStamped > &plan)
 
template<typename TEv >
void configurePostEvWaypoint (std::function< void()> *fntarget, ClMoveBaseZ *client, int index)
 
template<typename T >
int sgn (T val)
 

Enumeration Type Documentation

◆ SpiningPlanner

enum class cl_move_base_z::SpiningPlanner
strong
Enumerator
Default 
PureSpinning 
Forward 

Definition at line 14 of file cb_absolute_rotate.h.

◆ UndoPathLocalPlanner

Enumerator
BackwardsLocalPlanner 
PureSpinningLocalPlanner 

Definition at line 13 of file cb_undo_path_backwards.h.

14{
15 BackwardsLocalPlanner, /*default, it is able to move freely backwards, or combined straightsegments with pure spinning
16 segments*/
17 PureSpinningLocalPlanner /*only pure spinnings, be careful it may not be able to undo the path if it was not a pure
18 spinning segment*/
19};

Function Documentation

◆ configurePostEvWaypoint()

template<typename TEv >
void cl_move_base_z::configurePostEvWaypoint ( std::function< void()> *  fntarget,
ClMoveBaseZ client,
int  index 
)

Definition at line 1572 of file waypoints_event_dispatcher.h.

1573{
1574 fntarget[index] = [=]() {
1575 client->template postEvent<TEv>();
1576 };
1577}

◆ makePureSpinningSubPlan()

geometry_msgs::PoseStamped cl_move_base_z::makePureSpinningSubPlan ( const geometry_msgs::PoseStamped &  start,
double  dstRads,
std::vector< geometry_msgs::PoseStamped > &  plan,
double  puresSpinningRadStep = 1000 
)

Definition at line 13 of file path_tools.cpp.

14 {
15 double startYaw = tf::getYaw(start.pose.orientation);
16 //ROS_INFO("pure spining start yaw: %lf", startYaw);
17 //ROS_INFO("pure spining goal yaw: %lf", dstRads);
18 //ROS_WARN_STREAM("pure spinning start pose: " << start);
19
20 double goalAngleOffset = angles::shortest_angular_distance(startYaw, dstRads);
21 //ROS_INFO("shortest angle: %lf", goalAngleOffset);
22
23 double radstep = 0.005;
24
25 if( goalAngleOffset>=0)
26 {
27 // angle positive turn counterclockwise
28 //ROS_INFO("pure spining counterclockwise");
29 for(double dangle = 0; dangle <= goalAngleOffset;dangle+=radstep )
30 {
31 geometry_msgs::PoseStamped p= start;
32 double yaw = startYaw+ dangle;
33 //ROS_INFO("pure spining counterclockwise, current path yaw: %lf, dangle: %lf, angleoffset %lf, radstep %lf pathsize(%ld)", yaw, dangle, goalAngleOffset, radstep, plan.size());
34 p.pose.orientation = tf::createQuaternionMsgFromYaw(yaw);
35 plan.push_back(p);
36 }
37 }
38 else
39 {
40 // angle positive turn clockwise
41 //ROS_INFO("pure spining clockwise");
42 for(double dangle = 0; dangle >= goalAngleOffset;dangle-=radstep )
43 {
44 //ROS_INFO("dangle: %lf", dangle);
45 geometry_msgs::PoseStamped p= start;
46 double yaw = startYaw+ dangle;
47 //ROS_INFO("pure spining clockwise, yaw: %lf, dangle: %lf, angleoffset %lf radstep %lf", yaw, dangle, goalAngleOffset,radstep);
48 p.pose.orientation = tf::createQuaternionMsgFromYaw(yaw);
49 plan.push_back(p);
50 }
51 }
52
53 //ROS_INFO("pure spining end yaw: %lf", dstRads);
54 geometry_msgs::PoseStamped end= start;
55 end.pose.orientation = tf::createQuaternionMsgFromYaw(dstRads);
56 plan.push_back(end);
57
58 return end;
59 }

Referenced by cl_move_base_z::backward_global_planner::BackwardGlobalPlanner::createDefaultBackwardPath(), and cl_move_base_z::forward_global_planner::ForwardGlobalPlanner::makePlan().

Here is the caller graph for this function:

◆ makePureStraightSubPlan()

geometry_msgs::PoseStamped cl_move_base_z::makePureStraightSubPlan ( const geometry_msgs::PoseStamped &  startOrientedPose,
const geometry_msgs::Point &  goal,
double  length,
std::vector< geometry_msgs::PoseStamped > &  plan 
)

Definition at line 61 of file path_tools.cpp.

65 {
66 double dx = 0.01; // 1 cm
67 double steps = length /dx;
68 double dt = 1.0/steps;
69
70 // geometry_msgs::PoseStamped end;
71 // end.pose.orientation = startOrientedPose.pose.orientation;
72 //end.pose.position = goal;
73 plan.push_back(startOrientedPose);
74
75 //ROS_INFO_STREAM("Pure straight, start: " << startOrientedPose << std::endl << "end: " << goal);
76 for(double t=0; t <=1.0; t+=dt)
77 {
78 geometry_msgs::PoseStamped p = startOrientedPose;
79
80 p.pose.position.x = startOrientedPose.pose.position.x *(1 - t) + goal.x * t;
81 p.pose.position.y = startOrientedPose.pose.position.y *(1 - t) + goal.y * t;
82 p.pose.orientation = startOrientedPose.pose.orientation;
83
84 plan.push_back(p);
85 }
86
87 return plan.back();
88 }

Referenced by cl_move_base_z::backward_global_planner::BackwardGlobalPlanner::createDefaultBackwardPath(), and cl_move_base_z::forward_global_planner::ForwardGlobalPlanner::makePlan().

Here is the caller graph for this function:

◆ sgn()

template<typename T >
int cl_move_base_z::sgn ( val)

Definition at line 8 of file cb_undo_path_backwards2.cpp.

9{
10 return (T(0) < val) - (val < T(0));
11}

Referenced by cl_move_base_z::CbUndoPathBackwards2::update().

Here is the caller graph for this function: