联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp

您当前位置:首页 >> Python编程Python编程

日期:2025-04-09 09:21

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

¨ = 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
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp