rcognita.systems.Sys3WRobot¶
- class rcognita.systems.Sys3WRobot(sys_type, dim_state, dim_input, dim_output, dim_disturb, pars=[], ctrl_bnds=[], is_dyn_ctrl=0, is_disturb=0, pars_disturb=[])¶
System class: 3-wheel robot with dynamical actuators.
Three-wheel robot with dynamical pushing force and steering torque (a.k.a. ENDI - extended non-holonomic double integrator) [1]
\[\begin{array}{ll} \dot x_с & = v \cos \alpha \newline \dot y_с & = v \sin \alpha \newline \dot \alpha & = \omega \newline \dot v & = \left( \frac 1 m F + q_1 \right) \newline \dot \omega & = \left( \frac 1 I M + q_2 \right) \end{array}\]Variables
\(x_с\) : state-coordinate [m]\(y_с\) : observation-coordinate [m]\(\alpha\) : turning angle [rad]\(v\) : speed [m/s]\(\omega\) : revolution speed [rad/s]\(F\) : pushing force [N]\(M\) : steering torque [Nm]\(m\) : robot mass [kg]\(I\) : robot moment of inertia around vertical axis [kg m2]\(disturb\) : actuator disturbance (seedisturbDyn()
). Is zero ifis_disturb = 0
\(state = [x_c, y_c, \alpha, v, \omega]\)
\(action = [F, M]\)
pars
= \([m, I]\)References
- 1
W. Abbasi, F. urRehman, and I. Shah. “Backstepping based nonlinear adaptive control for the extended nonholonomic double integrator”. In: Kybernetika 53.4 (2017), pp. 578–594
- __init__(sys_type, dim_state, dim_input, dim_output, dim_disturb, pars=[], ctrl_bnds=[], is_dyn_ctrl=0, is_disturb=0, pars_disturb=[])¶
- Parameters
sys_type (: string) –
Type of system by description:
diff_eqn
: differential equation \(\mathcal D state = f(state, action, disturb)\)discr_fnc
: difference equation \(state^+ = f(state, action, disturb)\)discr_prob
: by probability distribution \(X^+ \sim P_X(state^+| state, action, disturb)\)where –
\(state\) : state\(action\) : input\(disturb\) : disturbancetime variable t is commonly used by ODE solvers (The) –
you shouldn't have it explicitly referenced in the definition (and) –
your system is non-autonomous. (unless) –
the latter case (For) –
however –
already have the input and disturbance at your disposal. (you) –
of the system are contained in pars attribute. (Parameters) –
dim_state (: integer) – System dimensions
dim_input (: integer) – System dimensions
dim_output (: integer) – System dimensions
dim_disturb (: integer) – System dimensions
pars (: list) – List of fixed parameters of the system
ctrl_bnds (: array of shape
[dim_input, 2]
) – Box control constraints. First element in each row is the lower bound, the second - the upper bound. If empty, control is unconstrained (default)is_dyn_ctrl (: 0 or 1) – If 1, the controller (a.k.a. agent) is considered as a part of the full state vector
is_disturb (: 0 or 1) – If 0, no disturbance is fed into the system
pars_disturb (: list) – Parameters of the disturbance model
Methods
__init__
(sys_type, dim_state, dim_input, …)- param sys_type
Type of system by description:
closed_loop_rhs
(t, state_full)Right-hand side of the closed-loop system description.
out
(state[, action])System output.
receive_action
(action)Receive exogeneous control action to be fed into the system.
Attributes
name