MEC 302: Embedded Computer Systems
Tutorial
Week 6 - SS 2024/2025
1 Cartpole System Analysis
The cartpole system (Fig. 1) consists of a cart of mass M moving along a frictionless track, and a
pendulum of mass m and length l pivoting around the cart. The mass of the pendulum is assumed
to be equally distributed along the rigid rod. The system is actuated by a horizontal force F applied
to the cart.
Figure 1: Cart-pole as the combination of a cart and a pendulum.
1.1 Tasks
1. Draw the free-body diagram of the pendulum and cart, showing all forces acting on them.
Note: Point the reaction force Fx as the coupling force between the pendulum and the cart in
positive x-direction in the free-body diagram of the pendulum.
2. Formulate Newton’s second law for the horizontal motion of the cart. The motion of the
pendulum is described by
Jθ
¨ = mglsin θ − ml(lθ
¨− x¨ cos θ) (1)
Fx =m(¨x − lθ
¨cos θ + lθ
˙2
sin θ) (2)
3. Derive the state-space representation of the linearized system around the equilibrium θ = 0
A1q˙ = A2q + Bu (3)
Define q, u, A1, A2 and B. Use the fact that for small deviations from θ = 0, the following
relations hold
sin(θ) ≈ θ (4)
cos(θ) ≈ 1 (5)
θ
˙2 ≈ 0 (6)
4. Analyze BIBO stability of the equilibrium point by using the Eigenvalues λ of the system
matrix A of the linearized system. Assume A = A
Use the fact that
det(A − λI) = 0 (8)
5. The non-linear system can be controlled via the feed-back Linear-Quadratic-Regulator (LQR)
u = −Ke (9)
K is the LQR gain obtained by solving the so-called Riccati-equation. e is a linear error
feed-back
e = q − qd (10)
qd is the desired state. Initially, the cart-pole is standing still (zero velocity) with x = 10
m and θ = θ0 = 0. Complete the code given in cart_pole_LQR.py in order to achieve the
following tasks:
❼ Use the LQR controller (9) to move the cart-pole to x = −10 m and θ = 0 [rad] (zero
velocity). Show the plots of q and u.
❼ How does θ0 need to be chosen? How can restrictions on θ0 be avoided?
The python code can be run for example by jupyter (File → New → Notebook):
2 Line-Following Robot
Consider a robot which is equipped with two photo-sensors on its left and right side (see Fig. 2).
The sensors return True if they detect black color, and False otherwise. The robot is able to turn
left and right on command with turning angle α. The robot is asked to follow a black line (see Fig.
2) at constant speed. If both sensors return False, the robot goes straight until a time-out tto is
reached, at which point the robot stops.
Figure 2: Line-following robot with two sensors aligned in parallel. They return True if they detect
black color, and otherwise False.
2.1 Tasks
1. Is a finite-state-machine (FSM) or an extended-state-machine (ESM) more appropriate for this
task? Justify.
2. Which
❼ variables
❼ inputs
❼ outputs
❼ states
are there? For each variable, input, and output, say which type they are.
3. Design an FSM for the line-following robot.
2
版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。