====== HW 3 - Inverse kinematics ====== You are provided with the 3-links planar manipulator, whose link lengths ℓ1, ℓ2, ℓ3 are all equal and whose tip 𝐸 is identified by the triplet [xe, ye, φe], being (xe, ye) the Cartesian coordinates of the tip, whereas φe is the angle between the link 3 and the x-axis of the root frame. Moreover, the manipulator is actuated by means of 3 motors controlled in velocity that move the joints angles [θ1, θ2, θ3]. You should design a controller, which implements a suitable Inverse Kinematics algorithm to meet the following requirements given in descending order of importance: 1️⃣ Primary task: reach the target position with the tip of the manipulator. 2️⃣ Secondary task: align the tip frame along with the target frame. More details can be found in {{ :courses:hro:tutorials:hw3.pdf |hw3.pdf}}. |Assignment | {{ :courses:hro:tutorials:hw3.pdf |hw3.pdf}} | |Code template | {{ :courses:hro:tutorials:hw3.zip |hw3.zip}} | |Maximum score | 4 | |Soft deadline | 24.3.2021 23:59:59 | |Hard deadline | 27.3.2021 23:59:59 | ===== Evaluation ===== Please, submit your solution to the [[https://cw.felk.cvut.cz/brute/|BRUTE]]. Upload just the file ''main.cpp''. The solution should achieve the maximum score in Smoke test. However, the grading in Smoke test provides only a tentative evaluation. The points will be awarded after manual evaluation and code review (Hint: always check the types of incoming data in the Bottle). Solutions uploaded after the **soft** deadline will gain only **half** of the points. Solutions uploaded after the **hard** deadline will gain **no** points.