liba
0.1.15
An algorithm library based on C/C++
Toggle main menu visibility
Loading...
Searching...
No Matches
trajbell.h
Go to the documentation of this file.
1
6
7
#ifndef LIBA_TRAJBELL_H
8
#define LIBA_TRAJBELL_H
9
10
#include "
a.h
"
11
17
18
typedef
struct
a_trajbell
a_trajbell
;
19
20
#if defined(__cplusplus)
21
extern
"C"
{
22
#endif
/* __cplusplus */
23
59
A_EXTERN
a_real
a_trajbell_gen
(
a_trajbell
*ctx,
a_real
jm
,
a_real
am
,
a_real
vm
,
60
a_real
p0
,
a_real
p1
,
a_real
v0
,
a_real
v1
);
61
80
A_EXTERN
a_real
a_trajbell_pos
(
a_trajbell
const
*ctx,
a_real
x);
81
99
A_EXTERN
a_real
a_trajbell_vel
(
a_trajbell
const
*ctx,
a_real
x);
100
118
A_EXTERN
a_real
a_trajbell_acc
(
a_trajbell
const
*ctx,
a_real
x);
119
137
A_EXTERN
a_real
a_trajbell_jer
(
a_trajbell
const
*ctx,
a_real
x);
138
139
#if defined(__cplusplus)
140
}
/* extern "C" */
141
namespace
a
142
{
143
typedef
struct
a_trajbell trajbell;
144
}
/* namespace a */
145
#endif
/* __cplusplus */
146
150
struct
a_trajbell
151
{
152
a_real
t
;
153
a_real
tv
;
154
a_real
ta
;
155
a_real
td
;
156
a_real
taj
;
157
a_real
tdj
;
158
a_real
p0
;
159
a_real
p1
;
160
a_real
v0
;
161
a_real
v1
;
162
a_real
vm
;
163
a_real
jm
;
164
a_real
am
;
165
a_real
dm
;
166
#if defined(__cplusplus)
167
A_INLINE
a_real
gen(
a_real
jm_,
a_real
am_,
a_real
vm_,
a_real
p0_,
a_real
p1_,
168
a_real
v0_ = 0,
a_real
v1_ = 0)
169
{
170
return
a_trajbell_gen
(
this
, jm_, am_, vm_, p0_, p1_, v0_, v1_);
171
}
172
A_INLINE
a_real
pos(
a_real
x)
const
173
{
174
return
a_trajbell_pos
(
this
, x);
175
}
176
A_INLINE
a_real
vel(
a_real
x)
const
177
{
178
return
a_trajbell_vel
(
this
, x);
179
}
180
A_INLINE
a_real
acc(
a_real
x)
const
181
{
182
return
a_trajbell_acc
(
this
, x);
183
}
184
A_INLINE
a_real
jer(
a_real
x)
const
185
{
186
return
a_trajbell_jer
(
this
, x);
187
}
188
#endif
/* __cplusplus */
189
};
190
192
193
#endif
/* a/trajbell.h */
a.h
algorithm library
a_real
double a_real
compiler built-in floating-point number type
Definition
a.h:1012
a_trajbell_gen
a_real a_trajbell_gen(a_trajbell *ctx, a_real jm, a_real am, a_real vm, a_real p0, a_real p1, a_real v0, a_real v1)
generate for bell-shaped velocity trajectory
a_trajbell_jer
a_real a_trajbell_jer(a_trajbell const *ctx, a_real x)
compute jerk for bell-shaped velocity trajectory
a_trajbell_vel
a_real a_trajbell_vel(a_trajbell const *ctx, a_real x)
compute velocity for bell-shaped velocity trajectory
a_trajbell_acc
a_real a_trajbell_acc(a_trajbell const *ctx, a_real x)
compute acceleration for bell-shaped velocity trajectory
a_trajbell_pos
a_real a_trajbell_pos(a_trajbell const *ctx, a_real x)
compute position for bell-shaped velocity trajectory
a_trajbell
instance structure for bell-shaped velocity trajectory
Definition
trajbell.h:151
a_trajbell::p1
a_real p1
Definition
trajbell.h:159
a_trajbell::tdj
a_real tdj
Definition
trajbell.h:157
a_trajbell::am
a_real am
Definition
trajbell.h:164
a_trajbell::p0
a_real p0
Definition
trajbell.h:158
a_trajbell::v1
a_real v1
Definition
trajbell.h:161
a_trajbell::dm
a_real dm
Definition
trajbell.h:165
a_trajbell::vm
a_real vm
Definition
trajbell.h:162
a_trajbell::v0
a_real v0
Definition
trajbell.h:160
a_trajbell::taj
a_real taj
Definition
trajbell.h:156
a_trajbell::ta
a_real ta
Definition
trajbell.h:154
a_trajbell::t
a_real t
Definition
trajbell.h:152
a_trajbell::jm
a_real jm
Definition
trajbell.h:163
a_trajbell::td
a_real td
Definition
trajbell.h:155
a_trajbell::tv
a_real tv
Definition
trajbell.h:153
trajbell.h
Generated by
1.17.0