这是一个机器人学（robotics）的作业。涉及到了laplacian transform, Simulink仿真，Matlab写路径规划（dynamical planner & minimum jerk planner），以及一个NAO机器人仿真，机器人部分使用C++，需要把Matlab的部分要重做一遍加上机器人的控制。

(130 Points) In this homework, you are supposed to create a complete point-to-point reach- ing behavior for the NAO robot. First, you will need to create a planning system for point-to- point movements for the endeffector (**right **hand) of the robot. Second, you will need to im- plement the plan on the robot simulator and visualize the outcome to confirm that it works.

- For planning, you are to create a simple dynamical planning system:

Assume the movement duration is*t*, and the movement starts at t=0. Assume that at start the movement is at _x_0 and it is supposed to reach _x**f _after _t**_. Use Simulink to simulate this system, by using a “Step Input” from the “Sources” library, a transfer function from the “Con- tinuous” blocks library, and visualize the step input and the output of the transfer function in one Scope block. Add another Scope output that visualizes*x*! : connect the output of the transfer function to a “Derivative” block (“Continuous” Library), which feeds into another Scope. Set the simulation parameters to “Fixed-Step” with 0.001s step size. Provide a print- out of i) the mathematical analytical form of the transfer function, ii) your Simulink model (i.e., a picture of the Simulink block diagram), iii) the position and velocity plots from the Scopes for*a__*= 1,*t__*= 1,*x __f*= 1, _x_0 = 0 . Note that _x __f _block. is the “final value” parameter in the Step

- Adjust
*a*such for*t*= 1 , the movement has reached _x**f _to more than 99% after one second. Provide a print-out of your choice of**_= 5,*a*and the position and velocity plot (see above) for this choice. For your choice of*a*, also provide the same plots for*t*= 2,_t*t__*= 10 . - Provide two pros and two cons about this trajectory planning system.
- Write a Matlab program that implements this planning system with Euler integration, again using an integration step size of 0.001s — essentially, you implement now what Simulink did for you before. This program should have a subroutine [
*x*!*n*+1,*x__n*+1] =*f*(*x*,**f***x*) which computes the next desired state**n***x*!*n*+1,*x__n*+1 based on the current state and goal. This subroutine needs to integrate the current state _x__n _with the computed next velocity to the next state. Store all states*x*!, _x _along the trajectory in vectors or a matrix, and plot the variables at the end of your program. Provide a print-out of your program and these plots. Compare against 1a) and comment on potential differences of your results.