Warning

This page is located in archive.

You can find the description of the task here.

For task 1:

# approximate rotation R = np.array([[0.8047, -0.5059, -0.3106], [0.3106, 0.8047, -0.5059], [0.5059, 0.3106, 0.8047]])

# less approximate rotation u, s, vh = np.linalg.svd(R) R = u.dot(vh)

# translation t, or OO' in beta o_o_pr_beta = np.array([[-1], [0.5], [1]])

For task 2:

Create a function `compute_rot_t(R_1, t_1, R_2, t_2, R_3, t_3)`

which takes as inputs three transformations as mentioned in the task description and outputs object pose after the motion.

Input/Output specifications for `compute_rot_t`

:

`R_1, R_2, R_3`

: rotation matrices (3×3 matrix of type`np.ndarray`

)`t_1, t_2, t_3`

: translation (3×1 matrix of type`np.ndarray`

)**Return value**: dictionary with 2 keys`“r”`

and`“t”`

, whose values are the rotation (3×3 matrix of type`np.ndarray`

) and the translation (3×1 matrix of type`np.ndarray`

) of the object after the motion expressed in the world frame.

Implement the solution in a single file `hw04.py`

. The file must contain the `compute_rot_t`

function, such that it can be imported (by the automatic evaluation) as

import hw04 res = hw04.compute_rot_t(*args)

Upload a zip archive `hw04.zip`

(via the course ware) containing:

`hw04.json`

- json file containing the solution of Task 1`hw04.py`

- python script containing the implemented function`compute_rot_t`

All the files must be contained in the root of

`hw04.zip`

.
**Creating** `hw04.json`

:

Create an empty dictionary in Python:

solution = {}

The key for this dictionary will be `“x_pr_beta”`

, translation, a list of three float values.

import json with open("hw04.json", "w") as outfile: json.dump(solution, outfile)

courses/pkr/labs/hw04.txt · Last modified: 2023/09/20 13:47 (external edit)