Gazebo Sim
API Reference
7.9.0
insert_drive_file
Tutorials
library_books
Classes
toc
Namespaces
insert_drive_file
Files
launch
Gazebo Website
Index
List
Hierarchy
Members: All
Members: Functions
Members: Variables
Members: Typedefs
Members: Enumerations
Members: Enumerator
List
Members
Functions
Typedefs
Variables
Enumerations
Enumerator
src
gz-sim
src
systems
trajectory_follower
TrajectoryFollower.hh
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2022 Open Source Robotics Foundation
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*
16
*/
17
#ifndef GZ_SIM_SYSTEMS_TRAJECTORYFOLLOWER_HH_
18
#define GZ_SIM_SYSTEMS_TRAJECTORYFOLLOWER_HH_
19
20
#include <
gz/sim/System.hh
>
21
#include <memory>
22
23
namespace
gz
24
{
25
namespace
sim
26
{
27
// Inline bracket to help doxygen filtering.
28
inline
namespace
GZ_SIM_VERSION_NAMESPACE {
29
namespace
systems
30
{
31
// Forward declaration
32
class
TrajectoryFollowerPrivate;
33
91
// <plugin
92
// filename="gz-sim-trajectory-follower-system"
93
// name="gz::sim::systems::TrajectoryFollower">
94
// <link_name>base_link</link_name>
95
// <loop>true</loop>
96
// <waypoints>
97
// <waypoint>25 0</waypoint>
98
// <waypoint>15 0</waypoint>
99
// </waypoints>
100
// </plugin>
101
// <plugin
102
// filename="gz-sim-trajectory-follower-system"
103
// name="gz::sim::systems::TrajectoryFollower">
104
// <link_name>base_link</link_name>
105
// <loop>true</loop>
106
// <line>
107
// <direction>0</direction>
108
// <length>5</length>
109
// </line>
110
// </plugin>
111
// <plugin
112
// filename="gz-sim-trajectory-follower-system"
113
// name="gz::sim::systems::TrajectoryFollower">
114
// <link_name>base_link</link_name>
115
// <loop>true</loop>
116
// <circle>
117
// <radius>2</radius>
118
// </circle>
119
// </plugin>
120
class
TrajectoryFollower
121
:
public
System
,
122
public
ISystemConfigure
,
123
public
ISystemPreUpdate
124
{
126
public
:
TrajectoryFollower
();
127
129
public
: ~
TrajectoryFollower
()
override
=
default
;
130
131
// Documentation inherited
132
public
:
void
Configure(
const
Entity
&_entity,
133
const
std::shared_ptr<const sdf::Element>
&_sdf,
134
EntityComponentManager
&_ecm,
135
EventManager
&_eventMgr)
override
;
136
137
// Documentation inherited
138
public
:
void
PreUpdate(
139
const
gz::sim::UpdateInfo
&_info,
140
gz::sim::EntityComponentManager
&_ecm)
override
;
141
146
public
:
bool
IsEnabled(
Entity
_entity,
147
const
EntityComponentManager
&_ecm)
const
;
148
150
private
:
std::unique_ptr<TrajectoryFollowerPrivate>
dataPtr;
151
};
152
}
153
}
154
}
155
}
156
157
#endif