Robotic Systems Engineering
Coursework 2: Jacobian, Inverse Kinematics and Path Planning
Dr. Danail Stoyanov Department of Computer Science
University College London Gower Street, London, WC1E 6BT
November 14, 2018
To get a full credit for an answer, you are required to provide a full working solution. For some questions, you will be asked to write code; for these you are expected to include a full print out of any requested results or graphs. Furthermore, you will be required to upload your code to Moodle along with your submitted coursework manuscript. The necessary packages are available on https://github.com/surgical-vision/comp0127 lab
Jacobian and Inverse Kinematics
How many inverse kinematic solutions exist for a 2D 4R-planar manipulator, if an achiev- able pose of the end-effector xe is given? Give a full explanation to support your answer. [5 marks]
Suppose that the robot is moving in a free space (i.e. there is no obstacle) and that more than one inverse kinematic solution exists for a desired pose of the end-effector xe, what criteria should you consider when choosing an optimal solution? [5 marks]
The complete standard DH parameters of the YouBot are given in Table 1. Complete the questions by filling in the code in the package ”cw2 stack/cw2q3”. The explanation in the report is only needed for subquestion b.
Table 1: DH parameters for YouBot manipulator
i ai αi di θi
2
1 −0.033 π
θ1 + π
2
2 0.155 0 0 θ2 + π
3 0.135 0 0 θ3
2
4 −0.002 π
2
0 θ4 − π
5 0 π −0.185 θ5 − π
Write a script to compute a Jacobian matrix for the YouBot manipulator. [10 marks]
1
Derive symbolically the closed-form inverse kinematics solutions for the YouBot manipulator. You can represent any non-zero length parameters as variables e.g. a1, a2, d5. [10 marks]
Write a script to compute the closed-form inverse kinematic solution. [2 marks]
Write a script to compute the iterative inverse kinematic solution. [10 marks]
Write a script to avoid singularity for inverse kinematic solution. [5 marks]
Path and Trajectory Planning
Create a ROS node to perform trajectory planning from the checkpoint data. For subques- tion c, you will have to work with obstacles in the scene whose positions and physical dimensions can be obtained from the gazebo simulator. These properties can be hard- coded into your scripts. The marking criteria for each subquestion is provided below each subquestion. There is no time constraint on subquestions b and c. You can input any value in ”time from start” as appropriate.
Use the data ”data1.bag” in the package ”cw2 stack/cw2q4” to perform trajectory planning. Choose any kind of trajectory model and justify your choice in the re- port. Each checkpoint must be 10 seconds apart, i.e. the arm must reach the first checkpoint at t = 10 s and so on. Your JointTrajectory message must contain the trajectory point for every dt = 1 s. [15 marks]
Each checkpoint is worth 2 marks. (10 marks in total)
The explanation in the report is worth 5 marks.
Use the data ”data2.bag” in the package ”cw2 stack/cw2q4” to perform trajectory planning and achieve the shortest path (measured by the distance travelling by the end-effector). The report should explain how you attempt to achieve the shortest path. [18 marks]
Each checkpoint is worth 2 marks. (10 marks in total) If your code does not attempt to achieve the shortest path, you will get 0 mark for each checkpoint.
The explanation about the shortest path in the report is worth 8 marks.
The five shortest paths among the submissions will get 5 extra marks. These marks will be added to your coursework mark if the full score has not been already achieved. The maximum score cannot be exceeded in such manner.
Use the data ”data3-3.bag” in the package ”cw2 stack/cw2q4” to perform trajectory planning. The report should explain how you avoid obstacles in your path planning. [20 marks]
Each checkpoint is worth 3 marks. (15 marks in total)
The explanation in the report is worth 5 marks.
END OF COURSEWORK 2