MEC 302: Embedded Computer Systems

36 阅读2分钟

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 代写MEC 302: Embedded Computer Systemssecond 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.
  1. 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. WX:codinghelp