forked from RobotLocomotion/drake
-
Notifications
You must be signed in to change notification settings - Fork 0
/
systems.h
98 lines (88 loc) · 3.41 KB
/
systems.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
/// @addtogroup systems
/// @{
/// @brief Drake uses a Simulink-inspired description of dynamical systems.
///
/// Includes basic building blocks (adders, integrators, delays, etc),
/// physics models of mechanical systems, and a growing list of sensors,
/// actuators, controllers, planners, estimators.
///
/// All dynamical systems derive from the drake::systems::System base class, and
/// must explicitly declare all drake::systems::State,
/// drake::systems::Parameters, and noise/disturbances inputs. The
/// drake::systems::Diagram class permits modeling complex systems from
/// libraries of parts.
///
/// For a "Hello, World!" example of writing a dynamical system, see
/// simple_continuous_time_system.cc and/or simple_discrete_time_system.cc.
/// For an example of a system that uses some of the more advanced
/// features, such as typed input, output, state, and parameter vectors,
/// see simple_car.h .
///
/// @}
// Define systems here so that we can control the order in which they appear
/// @addtogroup systems
/// @{
/// @defgroup primitive_systems Primitives
/// @defgroup control_systems Controllers
/// @defgroup estimator_systems Estimators
/// @defgroup sensor_systems Sensors
/// @defgroup automotive_systems Automotive Systems
/// @defgroup manipulation_systems Manipulation
/// @defgroup message_passing Message Passing
/// @defgroup stochastic_systems Stochastic Systems
/// @defgroup visualization Visualization
/// @defgroup example_systems Examples
/// @defgroup rigid_body_systems (Attic) Rigid-Body Systems
/// @}
/// @addtogroup primitive_systems
/// @{
/// @brief General-purpose Systems such as Gain, Multiplexer, Integrator,
/// and LinearSystem.
/// @}
/// @addtogroup control_systems
/// @{
/// Implementations of controllers that operate as Systems in a block diagram.
/// Algorithms that synthesize controllers are located in @ref control.
/// @}
/// @addtogroup estimator_systems
/// @{
/// Implementations of estimators that operate as Systems in a block diagram.
/// Algorithms that synthesize controllers are located in @ref estimation.
/// @}
/// @addtogroup sensor_systems
/// @{
/// Models of sensors that operate as Systems in a block diagram.
/// @}
/// @addtogroup manipulation_systems
/// @{
/// @brief Systems implementations that specifically support dexterous
/// manipulation capabilities in robotics.
/// @}
/// @addtogroup message_passing
/// @{
/// @brief Systems for publishing/subscribing to popular message passing
/// ecosystems.
/// @}
// TODO(russt): Add pointers to / recommendations for connecting to ROS.
// TODO(russt): Add ZMQ.
/// @addtogroup visualization
/// @{
/// @brief Systems for connecting to external visualization tools/GUIs.
///
/// There are also a number of external projects that provide additional
/// visualization hook=ups:
/// <ul>
/// <li> Connections to <a
/// href="https://github.com/rdeits/meshcat">MeshCat</a>
/// are available (via the Python bindings) <a
/// href="https://github.com/RussTedrake/underactuated/tree/master/src/underactuated">here</a>.
/// </li>
/// <li> <a href="https://github.com/RussTedrake/underactuated/tree/master/src/underactuated">
/// A matplotlib visualization for planar rigid body systems</a>.</li>
/// </ul>
/// @}
// TODO(russt): Add pointers to / support for for RViz.
/// @addtogroup example_systems
/// @{
/// @brief The examples contain a number of useful System implementations.
/// @}