1

Day 7: Forward and Inverse of Manipulator

2018. 1. 10. (Thu.)

Dai Owaki, Ph. D.,

Assist. Prof. Neuro- Lab. (Hayashibe Lab.), Dept. Robotics, Graduate School of Engineering, Tohoku University, Japan 3 Schedule for Robotics II in Python

7. Forward and (1/10 Thu.)

8. Jacobians (1/17 Thu.)

9. Dynamics (1/21 Mon.)

10.Linear Control (1/28 Mon.)

11.Nonlinear Control (1/31 Thu.)

12.Force and Impedance Control (TBA) (2/4 Mon.) 6 What is Kinematics? l Kinematics is a branch of classical mechanics that describes the motion of points, bodies (objects), and systems of bodies (group of objects) without considering the forces that caused the motion. l Kinematics, as a field of study, is often referred to as the “geometry of motion” and is occasionally seen as a branch of mathematics. From Wikipedia

Kinematics is not kinetics (dynmics), where we study how forces act on bodies!!! 7 Forward and Inverse Kinematics Forward Kinematics

yAAACkHichVE9LwRRFD3G11ofu1YjoRBCVHJXY6OxaES1HxYJIjPjYbLzlZnZTdbGH6AlChWJQvwBjUrDD9hiE4VWlCQahTszmwiC+/LeO++8e857N1exdc31iOpNUnNLa1t7pCPa2dXdE4v3JpZdq+SooqBauuWsKrIrdM0UBU/zdLFqO0I2FF2sKMV5/36lLBxXs8wlr2KLDUPeMbVtTZU9prKVzfgITVAQQz9BsgFG0oPX2UcAGSt+g3VswYKKEgwImPAY65Dh8lhDEgSbuQ1UmXMYacG9wD6irC1xluAMmdkirzt8WmuwJp99TzdQq/yKztNh5RBGqUaX9EJ3dEVP9P6rVzXw8P9S4V0JtcLejB3059/+VRm8e9j9VP2hUDg7/NkDvdMz3f9Zn4dtpIK6NK7TDhi/YjX0KO+dvOSnc6PVMTpnrxqdUZ1uuVqz/KpeZEXuFFFuVvJ7a36C5cmJJOMsd20OYUQwgGGMc2+mkMYCMijwuwKHOMKxlJBS0ow0G6ZKTQ1NH76EtPgBN2qXBA==sha1_base64="Mw29lhQOTZimep2s3X+yfHEDTOU=">AAACkHichVE9SwNBEH05v2L8irERFBFFsZKJjcHGqI1YJcaYQBS5O1c9crk77i6BGCxttFUsrBQsxD9gY2WjPyCF4B8Qywg2KZzcBURFnWV3376d93aHUSxdc1yip4DU0trW3hHsDHV19/T2hfsj645ZtFWRVk3dtLOK7AhdM0Ta1VxdZC1byAVFFxklv9S4z5SE7WimseaWLbFZkHcNbUdTZZepZHkrPE7T5MXoTxBtgvH48G3y9XDkNmGG77CBbZhQUUQBAgZcxjpkODxyiIJgMbeJCnM2I827FzhAiLVFzhKcITOb53WXT7kma/C54el4apVf0XnarBzFBFXpmmr0QDf0QvVfvSqeR+MvZd4VXyusrb6jwdT7v6oC7y72PlV/KBTO9n/2THV6pcc/63Oxg5hXl8Z1Wh7TqFj1PUr7Z7XU3OpEZZIu2atKF/RE91ytUXpTr5Ji9Rwhblb0e2t+gvWZ6SjjJHdtEX4EMYQxTHFvZhHHMhJI87sCxzjBqRSRYtK8tOCnSoGmZgBfQlr5AACumGo=sha1_base64="zIPGonXmtQYbyMybYc2drnAQEUM=">AAACkHichVG7SgNBFD2u7/hI1EawCYaIVbixMdj4asTKqIlCDLK7jrpks7vsbgIx+APaKhZWChbiN1jZ6AekCPgDYqlgk8K7DxAV4x1m5syZe87M5SqWrjkuUbND6uzq7unt648MDA4NR2Mjo3nHrNiqyKmmbtrbiuwIXTNEztVcXWxbtpDLii62lNKyd79VFbajmcamW7NEsSwfGNq+psouU9nabixBKfIj/hukQ5BAGGtm7B472IMJFRWUIWDAZaxDhsOjgDQIFnNF1JmzGWn+vcAxIqytcJbgDJnZEq8HfCqErMFnz9Px1Sq/ovO0WRlHkhp0S2/0SHf0Qq0/veq+h/eXGu9KoBXWbvRkfOPjX1WZdxeHX6o2CoWzg589U4te6altfS72kfHr0rhOy2e8itXAo3p08bYxt56sT9E1ezXoipr0wNUa1Xf1JivWLxHhZqV/tuY3yM+k0oyzlFhYCtvWhwlMYpp7M4sFrGANOX5X4BRnOJdGpYw0Ly0GqVJHqBnDt5BWPwGqCpS/ (x, y)

AAAClXichVFNLwNRFD3Gd320WJDYNKRSIXJrQyQSQcTOR7Wa0DQz42GYzkxmpo1q/AErO8EGiYX4DVY2/IAuJP6AWJLYWLidaSI0uC/vvfPOu+e8d3MVS9ccl+ixRqqtq29obGoOtLS2tQdDHZ1Jx8zZqkiopm7aKUV2hK4ZIuFqri5Sli3krKKLVWV3pny/mhe2o5nGiluwRDorbxnapqbKLlPJ6N5wuDCYCfXTCHkRrgaxCuif6lsfOgewaIZusY4NmFCRQxYCBlzGOmQ4PNYQA8FiLo0iczYjzbsXOECAtTnOEpwhM7vL6xaf1iqsweeyp+OpVX5F52mzMowIleiaXumebuiZPn71Knoe5b8UeFd8rbAywcOe+Pu/qizvLra/VH8oFM72f/ZEH/RCD3/W52IT415dGtdpeUy5YtX3yO8fv8YnliPFAbpkrxJd0CPdcbVG/k29WhLLZwhws2I/W1MNkqMjMcZL3LVp+NGEXvQhyr0ZwxTmsYgEv7uDI5zgVOqWJqVZac5PlWoqmi58C2nhE9f+l48=sha1_base64="BAzAkeqayfwfK+x6gu6sYN57hF4=">AAAClXichVFNLwNRFD0dX1UfLRYkNg0hhMitDZFIGkTs0GpJkGZmPAzTmcnMtFGNP2BlIRGsSCzEb7Cy4QdYNPEHxJLExsLtTBOhwX1575133j3nvZurWLrmuESlgFRTW1ffEGwMNTW3tIYjbe1px8zZqkippm7aK4rsCF0zRMrVXF2sWLaQs4oulpXd6fL9cl7YjmYaS27BEutZecvQNjVVdplKD+wNRwuDmUgvjZAX0WoQq4DeeM/a0HEpXlgwI7dYwwZMqMghCwEDLmMdMhweq4iBYDG3jiJzNiPNuxc4QIi1Oc4SnCEzu8vrFp9WK6zB57Kn46lVfkXnabMyij56pGt6pXu6oWf6+NWr6HmU/1LgXfG1wsqED7uS7/+qsry72P5S/aFQONv/2RN90As9/Fmfi02Me3VpXKflMeWKVd8jv3/ympxI9BX76ZK9HumCSnTH1Rr5N/VqUSTOEeJmxX62phqkR0dijBe5a1PwI4hu9GCAezOGOOawgBS/u4MjnOJM6pQmpRlp1k+VAhVNB76FNP8J4WeZFQ==sha1_base64="GfCnE4dYsDZit9/R7pos/AdPMHE=">AAAClXichVFNLwNRFD0d3/VVLEhsGg2pROTWhkgkDSJ2+qGtBJGZ8TBMZyYz00Y1/oCVnWBFYiF+g5UNP8BC4g+IZSU2Fm6nkwgN7st777zz7jnv3VzF0jXHJXoKSA2NTc0trW3B9o7Oru5QT2/WMQu2KjKqqZv2iiI7QtcMkXE1Vxcrli3kvKKLnLI3V73PFYXtaKax7JYssZ6Xtw1tS1Nll6lsdH8sXBrdCEVonLwI14OYDyLwI2GGbrGGTZhQUUAeAgZcxjpkODxWEQPBYm4dZeZsRpp3L3CIIGsLnCU4Q2Z2j9dtPq36rMHnqqfjqVV+RedpszKMYXqka6rQPd3QC3386lX2PKp/KfGu1LTC2ug+Gki//6vK8+5i50v1h0Lh7NrPnumDXunhz/pcbGHKq0vjOi2PqVas1jyKByeV9HRquDxCl+z1SBf0RHdcrVF8U6+SInWOIDcr9rM19SA7MR5jnKRIfNZvWysGMYQo92YScSwigQy/u4tjnOJM6pdmpHlpoZYqBXxNH76FtPQJw4iWBg==

LAAAClHichVE9SwNBEH2e3/EjUUEEm6BErMIkjSIWoggWIkaNClHi3bmJi5e74+4S0OAfsLFUsVKwEH+DlY3+AIuA2Iulgo2Fk7uAqBhn2d23b+e93WE025CuR1RpUBqbmlta29pDHZ1d3eFIT++qaxUdXaR1y7CcdU11hSFNkfakZ4h12xFqQTPEmrY7U71fKwnHlZa54u3ZYrOg5k2Zk7rqMZWez5aTB9nIMMXJj+hvkKiB4an+1NMWgEUrcoMNbMOCjiIKEDDhMTagwuWRQQIEm7lNlJlzGEn/XuAAIdYWOUtwhsrsLq95PmVqrMnnqqfrq3V+xeDpsDKKGD3QFb3SHV3TM3386VX2Pap/2eNdC7TCzoYPB5bf/1UVePew86Wqo9A4O/jZI33QC93Xrc9DDuN+XZLrtH2mWrEeeJT2j1+XJ5Zi5RG6YK8HOqcK3XK1ZulNv0yJpTOEuFmJn635DVaT8QTjFHdtGkG0YRBDGOXejGEKc1hEmt+VOMIJTpV+ZVKZUWaDVKWhpunDt1AWPgEExZgosha1_base64="2N9SQ/hdagPKnmScCl/oofHokzM=">AAAClHichVE9SwNBEH2eXzF+RYUg2IiiWMnERhELMQgWIkaNClHC3bnGxcvdcXcJaMgfsLFUsVKwEPEnWGmhP8BCEHuxVLBJ4eQuIBqMs+zu27fz3u4wmm1I1yN6qlPqGxqbmkMt4da29o7OSFf3qmvlHF0kdcuwnHVNdYUhTZH0pGeIddsRalYzxJq2Gy/fr+WF40rLXPH2bLGZVTOm3Ja66jGVnE8XxorpyCCNkh/91SBWAYPT0cSLvJ65W7QiN9jAFizoyCELARMeYwMqXB4pxECwmdtEgTmHkfTvBYoIszbHWYIzVGZ3ec3wKVVhTT6XPV1frfMrBk+Hlf0Yoke6pHe6pyt6pdKfXgXfo/yXPd61QCvsdOdB7/Lnv6os7x52vlU1FBpnBz97phK90UPN+jxsY8KvS3Kdts+UK9YDj/z+0fvy5NJQYZjO2euRzuiJbrlaM/+hXyTE0inC3KzY79ZUg9Wx0RjjBHdtBkGE0IcBjHBvxjGNOSwiye9KHOIYJ0pUmVLiymyQqtRVND34EcrCF3l1meQ=sha1_base64="A5tTMvTMZh9R/wdPpveJvzAKa78=">AAAClHichVG7SgNBFD1Z3/GRqCCCTTAoVuHGRhELUQQLEV/RgIawu45xcLO77G4CGvwBG0sVKwUL8RusbPQDUgT8AbFUsEnhzWZBNBjvMDNnztxzZi5Xsw3pekSVkNLS2tbe0dkV7u7p7YtE+we2XKvg6CKlW4blpDXVFYY0RcqTniHStiPUvGaIbe1woXa/XRSOKy1z0zuyRSav5ky5L3XVYyq1nC1NnmSjcUqQH7FGkAxAHEGsWtEH7GIPFnQUkIeACY+xARUujx0kQbCZy6DEnMNI+vcCJwiztsBZgjNUZg95zfFpJ2BNPtc8XV+t8ysGT4eVMYxRme7onZ7onl6p+qdXyfeo/eWId62uFXY2cjq88fmvKs+7h4NvVROFxtn1n71Qld7ouWl9HvYx7dcluU7bZ2oV63WP4vH5+8bM+lhpnG7Yq0zXVKFHrtYsfui3a2L9CmFuVvJ3axrB1mQiyXiN4nPzQds6MYJRTHBvpjCHJawixe9KnOECl8qQMqssKIv1VCUUaAbxI5SVLzfHlkM= 2 Position of ✓AAACmXichVG7SgNBFD2u7/hIVBAhjSiKldzYKFZRm2BlEqPig7i7jrq4L3YnAQ35AWvBQhQULMRvsLLRD7AQxF4sFWwsvLsbEBX1DjNz5sw9Z+ZyNdc0fEl0X6fUNzQ2Nbe0xtraOzrjia7uBd8peboo6I7peEua6gvTsEVBGtIUS64nVEszxaK2MxPcL5aF5xuOPS93XbFmqVu2sWnoqmRqeVVuC6kWK2PVYmKQRimM/p8gVQOD6d7s4zqAOSdxhVVswIGOEiwI2JCMTajweawgBYLL3BoqzHmMjPBeoIoYa0ucJThDZXaH1y0+rdRYm8+Bpx+qdX7F5Omxsh9DdEcX9EI3dElP9P6rVyX0CP6yy7sWaYVbjO/35d/+VVm8S2x/qv5QaJwd/eyB3umZbv+sT2ITE2FdBtfphkxQsR55lPcOX/KTuaHKMJ2x1x2d0j1dc7V2+VU/z4rcEWLcrNT31vwEC2OjKcZZ7to0omhBEgMY4d6MI40M5lDgd20c4BgnSlKZUjLKbJSq1NU0PfgSSv4DejqagA==sha1_base64="cZOtwTbCBK4nsk8VKP2w6JBV0ks=">AAACmXichVG7SgNBFD2u7/iKCiKkEUWxkhsbxcpHI1YmMSpGCbvraAY3u8vuJKDBH7AWLERBwULET7DSQj8ghSD2YqlgY+HNbkBU1DvMzJkz95yZyzVcS/qK6L5Gq62rb2hsao60tLa1d0Q7uxZ9p+CZIm06luMtG7ovLGmLtJLKEsuuJ/S8YYklY2umcr9UFJ4vHXtBbbtiLa9v2nJDmrpiamVV5YTSs6XR3Wx0gEYoiL6fIF4FA5M9iUd5OX0z70SvsIp1ODBRQB4CNhRjCzp8HhnEQXCZW0OJOY+RDO4FdhFhbYGzBGfozG7xusmnTJW1+Vzx9AO1ya9YPD1W9mGQynROL3RLF/RE7796lQKPyl+2eTdCrXCzHXu9qbd/VXneFXKfqj8UBmeHP3ugd3qmuz/rU9jAeFCX5DrdgKlUbIYexZ2Dl9REcrA0RKfsVaYTuqdrrtYuvppnCZE8RISbFf/emp9gcXQkzjjBXZtGGE2IoR/D3JsxTGIW80jzuzb2cYRjLaZNabPaXJiq1VQ13fgSWuoD7uqcPA==sha1_base64="jYNnen75qCuqIwrE0gVqdapgc+Y=">AAACmXichVG7SgNBFD2urxhfURvBJhgUK7mxUax8NGJlEhPFB2F3HZMlm91ldxLQkB+wFixEQcFC/AYrG/2AFAF/QCwVbCy82SyIBuMdZubMmXvOzOVqjml4kqjeoXR2dff0hvrC/QODQ8ORkdGMZ5dcXaR127TdbU31hGlYIi0NaYptxxVqUTPFllZYbdxvlYXrGba1KY8csV9Uc5ZxaOiqZGpnT+aFVLOVuWo2EqNZ8iPaCuIBiCGIDTtyjz0cwIaOEooQsCAZm1Dh8dhFHASHuX1UmHMZGf69QBVh1pY4S3CGymyB1xyfdgPW4nPD0/PVOr9i8nRZGcUU1eiW3uiR7uiFPv/0qvgejb8c8a41tcLJDp+Mpz7+VRV5l8h/q9ooNM5u/uyZPumVntrWJ3GIBb8ug+t0fKZRsd70KB+fvaUWk1OVabpmrxpdUZ0euFqr/K7fJETyHGFuVvx3a1pBZm42zjhBsaWVoG0hTGASM9ybeSxhDRtI87sWTnGBS2VCWVbWlPVmqtIRaMbwI5TUF608mJs= 2 ✓AAACp3ichVFNLwNRFD3Gd30ViUhYNISQSHOnG2IlbOy0pdUEaWbGw8R0ZjLz2oTqH/AHLKxILIQfYGNlww+wkFjYiiWJjYXbmYoguC/vvfPOu+e8d3N11zJ9SXRXp9Q3NDY1t7RG2to7Orui3T1Z3yl6hsgYjuV4OV3zhWXaIiNNaYmc6wmtoFtiWd+eq94vl4Tnm469JHdcsVbQNm1zwzQ0yVQ+2rcqt4TU8mW1MhH7wIlKPjpMcQoi9hOoNTA8M3iRegCQdKKXWMU6HBgoogABG5KxBQ0+jxWoILjMraHMnMfIDO4FKoiwtshZgjM0Zrd53eTTSo21+Vz19AO1wa9YPD1WxjBCt3RKz3RNZ/RIb796lQOP6l92eNdDrXDzXfv9i6//qgq8S2x9qv5Q6Jwd/uye3uiJbv6sT2IDU0FdJtfpBky1YiP0KO0ePC9Op0fKo3TMXrd0RHd0xdXapRfjJCXSh4hws9TvrfkJsom4yjjFXZtFGC0YwBDGuDeTmME8ksjwu3s4xhnOlXFlQckquTBVqatpevElFO0dGSSfzw==sha1_base64="yRbWbo2RH8SUnhjMS/b8LRBu3Wo=">AAACp3ichVFNLwNRFD3Gd30ViUiINISQSHOnG2IlbOwoWk2QZma8MjGdmcy8NqG6tPEHLKxILIQfYGNlww+wkPgDYkliY+F2piII7st777zz7jnv3VzdtUxfEt3XKLV19Q2NTc2Rlta29o5oZ1fadwqeIVKGYzleRtd8YZm2SElTWiLjekLL65ZY0bdnK/crReH5pmMvyx1XrOe1TdvMmYYmmcpGe9bklpBatqSWx2MfOFHORocoTkHEfgK1Coam+y+TT/sDlwtO9Apr2IADAwXkIWBDMragweexChUEl7l1lJjzGJnBvUAZEdYWOEtwhsbsNq+bfFqtsjafK55+oDb4FYunx8oYhumOzuiZbuicHuntV69S4FH5yw7veqgVbrbjoHfp9V9VnneJrU/VHwqds8OfPdAbPdHtn/VJ5DAZ1GVynW7AVCo2Qo/i7uHz0tTicGmETtjrjo7pnq65Wrv4YpwmxeIRItws9XtrfoJ0Iq4yTnLXZhBGE/owiFHuzQSmMYcFpPjdPZzgHBfKmDKvpJVMmKrUVDXd+BKK9g7iWaE1sha1_base64="+mF1OTlOIsbtCKHUgSnrNofOWiw=">AAACp3ichVHLSsNAFD3GV62PVgUR3BSLoiBy043iqujGnc/WgkpJ4miDaRKSaaHW/oA/4MKVBReiv+DKjX6AC8EfEJcKblx4m0ZERb3DzJw5c8+ZuVzdtUxfEt23KK1t7R2dka5od09vXyzeP5D1nZJniIzhWI6X0zVfWKYtMtKUlsi5ntCKuiU29P2Fxv1GWXi+6djrsuKK7aK2Z5u7pqFJpvLxoS1ZEFLLV9XaVOIDp2r5eJKmKYjET6CGIIkwlp34FbawAwcGSihCwIZkbEGDz2MTKgguc9uoMucxMoN7gRqirC1xluAMjdl9Xvf4tBmyNp8bnn6gNvgVi6fHygTG6I7O6Zlu6IIe6e1Xr2rg0fhLhXe9qRVuPnY0vPb6r6rIu0ThU/WHQufs5s8e6I2e6PbP+iR2MRvUZXKdbsA0KjaaHuWD4+e1udWx6jjV2euOTumerrlau/xinK2I1RNEuVnq99b8BNnUtMp4hZLp+bBtEYxgFBPcmxmksYhlZPjdQ9RxgUtlUllSskqumaq0hJpBfAlFeweLxJ2K 1, ✓2 End effector

Joint angles LAAAClHichVE9SwNBEH2e3/EjUUEEG1EiVjJno4iFKIKFiFGjgoZ4d6665HJ33F0CGvIHbCxVrBQsxN9gZaM/IIUg9mKpYGPh5C4gGoyz7O7bt/Pe7jC6Y0rPJ3qsU+obGpuaW1ojbe0dndFYV/eaZ+dcQyQN27TdDV3zhCktkfSlb4oNxxVaVjfFup6ZLd+v54XrSdta9Q8ckcpqe5bclYbmM5VcSBfUYjo2RKMUxEA1UCtgaLo38bwNYMmO3WILO7BhIIcsBCz4jE1o8HhsQgXBYS6FAnMuIxncCxQRYW2OswRnaMxmeN3j02aFtfhc9vQCtcGvmDxdVg4gTiW6pje6pxt6oc8/vQqBR/kvB7zroVY46ehR38rHv6os7z72v1U1FDpnhz97ok96pYea9fnYxURQl+Q6nYApV2yEHvnDk7eVyeV4YZgu2atEF/RId1ytlX83rhJi+RwRbpb6uzXVYG1sVGWc4K7NIIwW9GMQI9ybcUxjHktI8rsSxzjFmdKrTCmzylyYqtRVND34EcriFwKYmCc=sha1_base64="o94cBQ0mp3sLnNhGnpiZ7XDeebU=">AAAClHichVHPK0RRFP48v8b4NSgpGxFZ6TwbksU0k7KQDAaFpveea9y8ee/13pupMc0/YGOJrCgLyZ9gxYI/wELJXpaUjYUz700J4dzuvd/97vm+e09Hd0zp+UT3NUptXX1DY6Qp2tzS2tYe6+hc8uy8a4i0YZu2u6JrnjClJdK+9E2x4rhCy+mmWNa3k5X75YJwPWlbi37REes5LWvJTWloPlPpmUxJLWdiAzRCQfT9BGoVDMS7U4/yInE9Z8cusYYN2DCQRw4CFnzGJjR4PFahguAwt44Scy4jGdwLlBFlbZ6zBGdozG7zmuXTapW1+Fzx9AK1wa+YPF1W9mGQ7uiMXuiGzumJ3n/1KgUelb8UeddDrXAy7bs9C2//qnK8+9j6VP2h0Dk7/NkDvdMz3f5Zn49NjAd1Sa7TCZhKxUboUdjZf1mYmB8sDdEJe93RMd3TFVdrFV6N05SYP0KUm6V+b81PsDQ6ojJOcdcSCCOCXvRjmHszhjimMYc0vyuxhwMcKt3KpJJUpsJUpaaq6cKXUGY/AHdImeM=sha1_base64="8AU6ZOM6aE2Ojt77nrvkf8mDEb0=">AAAClHichVG7SgNBFD2u7/hIVBDBRgwRq3DXRhGLYBAsRBI1KmgIu+tEBze7y+4moCE/YGOpYqVgIX6DlY1+gIXgD4ilgo2FN5sFUVHvMDNnztxzZi5Xd0zp+UQPTUpzS2tbe0dnpKu7pzca6+tf9eyya4icYZu2u65rnjClJXK+9E2x7rhCK+mmWNN30/X7tYpwPWlbK/6eI/IlbduSRWloPlO5hUJVrRVicUpSECM/gRqCOMLI2LFrbGILNgyUUYKABZ+xCQ0ejw2oIDjM5VFlzmUkg3uBGiKsLXOW4AyN2V1et/m0EbIWn+ueXqA2+BWTp8vKESToni7phW7pip7o/VevauBR/8se73pDK5xC9GBo+e1fVYl3Hzufqj8UOmc3fvZI7/RMd3/W56OIqaAuyXU6AVOv2Gh4VPaPXpanlxLVMTpnr3s6owe64WqtyqtxkRVLp4hws9TvrfkJVieSKuMsxVOzYds6MIxRjHNvJpHCPDLI8bsShzjGiTKozChpZa6RqjSFmgF8CWXxAzWalkI= 1

x,AAACk3ichVE9SwNBEH05v+NXVARBi2CIWIhMbBRtRC1sBBONCjGEu3PVw8vdcXcJxuAfsLBVsFKwEP+AjZWN/gCLgIWtWEawSeHcXUBU1Fl29+3beW93GMXSNcclqoSkhsam5pbWtnB7R2dXd6Snd80xC7Yq0qqpm/aGIjtC1wyRdjVXFxuWLeS8oot1ZW/eu18vCtvRTGPVLVkim5d3DG1bU2XXo/bHoqVcJEbj5Ef0J0jUQWx26Cb5DGDZjNxiE1swoaKAPAQMuIx1yHB4ZJAAwWIuizJzNiPNvxc4RJi1Bc4SnCEzu8frDp8yddbgs+fp+GqVX9F52qyMIk6PdEVVuqdreqHar15l38P7S4l3JdAKK9d9NLDy/q8qz7uL3U/VHwqFs4OfPVGNXunhz/pcbGPKr0vjOi2f8SpWA4/iwUl1ZToVL4/QBXs90jlV6I6rNYpv6mVSpM4Q5mYlvrfmJ1ibGE8wTnLX5hBEKwYxjFHuzSRmsYhlpPndXRzjBKdSvzQjzUkLQaoUqmv68CWkpQ9Twpfmsha1_base64="Ci9NU9YE7fPiI6EvILy3uoREXoU=">AAACk3ichVE9SwNBEH2e3/ErKoKgSDBELEQmNoo2ohY2gkmMCjGEu3Ojh5e74+4SjMHSxsJWwUrBQvwDNlY2+gMsBP+AWCrYWDh3FxAN6iy7+/btvLc7jGLpmuMSPdZJ9Q2NTc0traG29o7OrnB3z6pjFm1VpFVTN+11RXaErhki7WquLtYtW8gFRRdrys68d79WErajmcaKW7ZEtiBvGVpeU2XXo3bHIuVcOErj5EekFsSrIDo7eJ14ORi6XjbDN9jAJkyoKKIAAQMuYx0yHB4ZxEGwmMuiwpzNSPPvBfYRYm2RswRnyMzu8LrFp0yVNfjseTq+WuVXdJ42KyOI0QNd0ivd0RU908evXhXfw/tLmXcl0Aor13XYn3r/V1Xg3cX2l+oPhcLZwc+e6INe6P7P+lzkMeXXpXGdls94FauBR2nv+DU1nYxVRuicvR7ojB7plqs1Sm/qRUIkTxHiZsV/tqYWrE6MxxknuGtzCKIFAxjGKPdmErNYxDLS/O42jnCME6lPmpHmpIUgVaqranrxLaSlTx0GmUw=sha1_base64="99+ntdQ/rNFAbs1KQCMs5PBFXL0=">AAACk3ichVG7SgNBFD2u7/iKiiDYBEPEQuTGRtFG1MJG8JUYiCHsrpNkyWZ32d0EY/AHLGwVrBQsxG+wstEPsBD8AbFUsEnh3c2CaDDeYWbOnLnnzFyuYuma4xI9t0ntHZ1d3T29ob7+gcGh8PBI0jHLtioSqqmbdkqRHaFrhki4mquLlGULuaToYk8prnr3exVhO5pp7LpVS2RKct7Qcpoqux51OBOpZsNRmiU/Is0gHoAogtg0w3fYxwFMqCijBAEDLmMdMhweacRBsJjLoMaczUjz7wWOEWJtmbMEZ8jMFnnN8ykdsAafPU/HV6v8is7TZmUEMXqiG3qnB7qlV6r/6VXzPby/VHlXGlphZYdOxnc+/1WVeHdR+Fa1UCic3fjZC9XpjR5b1ucihwW/Lo3rtHzGq1hteFSOzt53FrdjtSm6Yq8nuqRnuudqjcqHer0lti8Q4mbFf7emGSTnZuOMtyi6vBK0rQcTmMQ092Yey1jHJhL8bgGnOMO5NCYtSSvSWiNVags0o/gR0sYXxmKVoQ== y

AAACmXichVG7SgNBFD2u7/hIVBDBRhTFKty1Uax8NMHKGKPig7i7TpIlm91ldxLQ4A9YCxaioGAhfoOVjX6ARUDsxVLBxsKb3YCoqHeYmTNn7jkzl6u7lulLomqD0tjU3NLa1h7p6OzqjsZ6eld8p+QZIm04luOt6ZovLNMWaWlKS6y5ntCKuiVW9cJ87X61LDzfdOxlueuKraKWs82saWiSqfVNmRdSy1TU/UxshOIUxNBPoNbByEx/8nEbwKITu8YmduDAQAlFCNiQjC1o8HlsQAXBZW4LFeY8RmZwL7CPCGtLnCU4Q2O2wGuOTxt11uZzzdMP1Aa/YvH0WDmEUbqnS3qhW7qiJ3r/1asSeNT+ssu7HmqFm4keDKTe/lUVeZfIf6r+UOicHf7sgd7pme7+rE8ii6mgLpPrdAOmVrERepT3jl5S00ujlTE6Z697OqMq3XC1dvnVuEiKpWNEuFnq99b8BCsTcZVxkrs2hzDaMIhhjHNvJjGDBBaR5ndtHOIEp8qgMqsklIUwVWmoa/rwJZTUB3gNmn8=sha1_base64="FKvQ4FHhMlddzSwr3TszAUykU/c=">AAACmXichVHLLgRBFD3aa4zXIBGJjRBiJbdtiBVjI1bGGMQjk+5WTEVPd6e7ZhImfsBaYiEkJBYiPsGKBR9gIRF7sSSxsXCnexJBcCtVderUPafq5pqeLQNFdF+lVdfU1tXHGuKNTc0trYm29vnALfiWyFiu7fqLphEIWzoio6SyxaLnCyNv2mLB3Jws3y8UhR9I15lTW55YzRsbjlyXlqGYWlpROaGMbEnfySb6aIjC6PkJ9AroG+9MPcqL5PWMm7jECtbgwkIBeQg4UIxtGAh4LEMHwWNuFSXmfEYyvBfYQZy1Bc4SnGEwu8nrBp+WK6zD57JnEKotfsXm6bOyB/10R2f0Qjd0Tk/0/qtXKfQo/2WLdzPSCi/butuVfvtXleddIfep+kNhcnb0swd6p2e6/bM+hXWMhnVJrtMLmXLFVuRR3N5/SY/N9pcG6IS97uiY7umKq3WKr9ZpSsweIM7N0r+35ieYHx7SGae4a0lEEUM3ejHIvRnBOKYwgwy/62APhzjSurUJbUqbjlK1qoqmA19CS38A7L2cOw==sha1_base64="arzcYrHYG6j1a6ZrDaZU+kZZGko=">AAACmXichVG7SgNBFD2urxhfURvBRgyKldy1Uax8NMEqMSYRo4TdddQlm91ldxKIIT9gLViIgoKF+A1WNvoBFoI/IJYKNim82SyIinqHmTlz5p4zc7m6a5m+JHpsU9o7Oru6Iz3R3r7+gcHY0HDWd8qeITKGYznehq75wjJtkZGmtMSG6wmtpFsipxdXmve5ivB807HXZdUV2yVtzzZ3TUOTTG1uyX0htUJNrRdicZqhIMZ/AjUEcYSRdGI32MIOHBgoowQBG5KxBQ0+jzxUEFzmtlFjzmNkBvcCdURZW+YswRkas0Ve9/iUD1mbz01PP1Ab/IrF02PlOCbpga7ole7omp6p8atXLfBo/qXKu97SCrcweDiafv9XVeJdYv9T9YdC5+zWz56oQS90/2d9EruYD+oyuU43YJoVGy2PysHxa3phbbI2RRfs9UDn9Ei3XK1deTMuU2LtBFFulvq9NT9BdnZGZZyi+OJy2LYIxjCBae7NHBaRQBIZftfGEU5xpowpS0pCWW2lKm2hZgRfQkl/AKsPmJo= 1

xAAACkHichVE9SwNBEH05v+NXjI1gEwyKlUxsDIIkaiNWJjEaiCJ356qHl7vj7hKMQbDWVrGwUrAQf4OVhfoDUgT8A2IZwcbCyV1AVNRZdvft23lvdxjF0jXHJaoFpJbWtvaOzq5gd09vX39oILzimEVbFVnV1E07p8iO0DVDZF3N1UXOsoVcUHSxquzON+5XS8J2NNNYdsuWWC/I24a2pamyy1RqbyMUpQnyIvITxJogmrgPzhwCWDJDt1jDJkyoKKIAAQMuYx0yHB55xECwmFtHhTmbkebdCxwgyNoiZwnOkJnd5XWbT/kma/C54el4apVf0XnarIxglKp0TXV6oBt6pvdfvSqeR+MvZd4VXyusjf6joczbv6oC7y52PlV/KBTO9n/2RO/0Qo9/1udiC3GvLo3rtDymUbHqe5T2z+qZ6fRoZYwu2atKF1SjO67WKL2qVymRPkeQmxX73pqfYGVyIsY4RdHkHPzoxDBGMM69mUISC1hClt8VOMYJTqWwFJcS0qyfKgWamkF8CWnxA0W8los=sha1_base64="8Qzt2+y04boPKnW8x9C1qgCr3X4=">AAACkHichVFNLwNRFD3GV42vqo3EptEQK7m1IRLxtRErLaUJjcyM15p0OjOZmTaq8QfYEgsrxEL8BisL/AARiT8gliQ2XbidaSII7st777zz7jnv3VzVNnTXI3pskBqbmltaQ21ye0dnV3e4J7LiWkVHEynNMiwnrSquMHRTpDzdM0TadoRSUA2xqubnaverJeG4umUue2VbZApKztSzuqZ4TCW2N8IxGiE/oj9BvA5iUzfypH32IC9a4SusYxMWNBRRgIAJj7EBBS6PNcRBsJnLoMKcw0j37wV2IbO2yFmCMxRm87zm+LRWZ00+1zxdX63xKwZPh5VRDNI9XdAr3dIlPVP1V6+K71H7S5l3NdAKe6N7r2/p/V9VgXcPW5+qPxQqZwc/e6IqvdDdn/V5yGLcr0vnOm2fqVWsBR6lnaPXpYnkYGWITtnrnk7oka65WrP0pp0nRPIYMjcr/r01P8HK6EiccYJi07MIIoR+DGCYezOGacxjESl+V2AfBziUItK4NCXNBKlSQ13Tiy8hLXwAK3qX/w==sha1_base64="R4fryOHUFpwoFYEWUQH0pGDlWjU=">AAACkHichVFNLwNRFD3GV9VHqzYSm0ZTsZJbG42NYiNWrSqSEpkZD5NOZyYz00Y1/gBbYmFFYiF+g5UNP6ALiT8gliQ2Fu58JILgvrz3zjvvnvPezVUsXXNcooc2qb2js6s70hPt7esfiMUHEyuOWbNVUVJN3bTXFNkRumaIkqu5ulizbCFXFV2sKpV57361LmxHM41lt2GJjaq8Y2jbmiq7TBX2NuMpmiA/kj9BJgQphJE34zdYxxZMqKihCgEDLmMdMhweZWRAsJjbQJM5m5Hm3wscIMraGmcJzpCZrfC6w6dyyBp89jwdX63yKzpPm5VJpKlFV/RCd3RNT/T+q1fT9/D+0uBdCbTC2owdDhff/lVVeXex+6n6Q6FwdvCzR3qnZ7r/sz4X28j6dWlcp+UzXsVq4FHfP30pTi+lm2N0wV4tOqcHuuVqjfqrelkQS2eIcrMy31vzE6xMTmQYFyiVmwvbFsEIRjHOvZlCDgvIo8TvChzhGCdSQspKM9JskCq1hZohfAlp8QOn3pS+ “Non-redundant” manipulator End effector: 2 degrees of freedom (DoF) Joint angles: 2 degrees of freedom (DoF) Inverse Kinematics 8 Forward Kinematics for 2-link 2-joint Manipulator (✓ , ✓ ) (x, y) (null) 1 2

yAAACkHichVE9LwRRFD3G11ofu1YjoRBCVHJXY6OxaES1HxYJIjPjYbLzlZnZTdbGH6AlChWJQvwBjUrDD9hiE4VWlCQahTszmwiC+/LeO++8e857N1exdc31iOpNUnNLa1t7pCPa2dXdE4v3JpZdq+SooqBauuWsKrIrdM0UBU/zdLFqO0I2FF2sKMV5/36lLBxXs8wlr2KLDUPeMbVtTZU9prKVzfgITVAQQz9BsgFG0oPX2UcAGSt+g3VswYKKEgwImPAY65Dh8lhDEgSbuQ1UmXMYacG9wD6irC1xluAMmdkirzt8WmuwJp99TzdQq/yKztNh5RBGqUaX9EJ3dEVP9P6rVzXw8P9S4V0JtcLejB3059/+VRm8e9j9VP2hUDg7/NkDvdMz3f9Zn4dtpIK6NK7TDhi/YjX0KO+dvOSnc6PVMTpnrxqdUZ1uuVqz/KpeZEXuFFFuVvJ7a36C5cmJJOMsd20OYUQwgGGMc2+mkMYCMijwuwKHOMKxlJBS0ow0G6ZKTQ1NH76EtPgBN2qXBA==sha1_base64="Mw29lhQOTZimep2s3X+yfHEDTOU=">AAACkHichVE9SwNBEH05v2L8irERFBFFsZKJjcHGqI1YJcaYQBS5O1c9crk77i6BGCxttFUsrBQsxD9gY2WjPyCF4B8Qywg2KZzcBURFnWV3376d93aHUSxdc1yip4DU0trW3hHsDHV19/T2hfsj645ZtFWRVk3dtLOK7AhdM0Ta1VxdZC1byAVFFxklv9S4z5SE7WimseaWLbFZkHcNbUdTZZepZHkrPE7T5MXoTxBtgvH48G3y9XDkNmGG77CBbZhQUUQBAgZcxjpkODxyiIJgMbeJCnM2I827FzhAiLVFzhKcITOb53WXT7kma/C54el4apVf0XnarBzFBFXpmmr0QDf0QvVfvSqeR+MvZd4VXyusrb6jwdT7v6oC7y72PlV/KBTO9n/2THV6pcc/63Oxg5hXl8Z1Wh7TqFj1PUr7Z7XU3OpEZZIu2atKF/RE91ytUXpTr5Ji9Rwhblb0e2t+gvWZ6SjjJHdtEX4EMYQxTHFvZhHHMhJI87sCxzjBqRSRYtK8tOCnSoGmZgBfQlr5AACumGo=sha1_base64="zIPGonXmtQYbyMybYc2drnAQEUM=">AAACkHichVG7SgNBFD2u7/hI1EawCYaIVbixMdj4asTKqIlCDLK7jrpks7vsbgIx+APaKhZWChbiN1jZ6AekCPgDYqlgk8K7DxAV4x1m5syZe87M5SqWrjkuUbND6uzq7unt648MDA4NR2Mjo3nHrNiqyKmmbtrbiuwIXTNEztVcXWxbtpDLii62lNKyd79VFbajmcamW7NEsSwfGNq+psouU9nabixBKfIj/hukQ5BAGGtm7B472IMJFRWUIWDAZaxDhsOjgDQIFnNF1JmzGWn+vcAxIqytcJbgDJnZEq8HfCqErMFnz9Px1Sq/ovO0WRlHkhp0S2/0SHf0Qq0/veq+h/eXGu9KoBXWbvRkfOPjX1WZdxeHX6o2CoWzg589U4te6altfS72kfHr0rhOy2e8itXAo3p08bYxt56sT9E1ezXoipr0wNUa1Xf1JivWLxHhZqV/tuY3yM+k0oyzlFhYCtvWhwlMYpp7M4sFrGANOX5X4BRnOJdGpYw0Ly0GqVJHqBnDt5BWPwGqCpS/ (x, y) ! AAAClXichVFNLwNRFD3Gd320WJDYNKRSIXJrQyQSQcTOR7Wa0DQz42GYzkxmpo1q/AErO8EGiYX4DVY2/IAuJP6AWJLYWLidaSI0uC/vvfPOu+e8d3MVS9ccl+ixRqqtq29obGoOtLS2tQdDHZ1Jx8zZqkiopm7aKUV2hK4ZIuFqri5Sli3krKKLVWV3pny/mhe2o5nGiluwRDorbxnapqbKLlPJ6N5wuDCYCfXTCHkRrgaxCuif6lsfOgewaIZusY4NmFCRQxYCBlzGOmQ4PNYQA8FiLo0iczYjzbsXOECAtTnOEpwhM7vL6xaf1iqsweeyp+OpVX5F52mzMowIleiaXumebuiZPn71Knoe5b8UeFd8rbAywcOe+Pu/qizvLra/VH8oFM72f/ZEH/RCD3/W52IT415dGtdpeUy5YtX3yO8fv8YnliPFAbpkrxJd0CPdcbVG/k29WhLLZwhws2I/W1MNkqMjMcZL3LVp+NGEXvQhyr0ZwxTmsYgEv7uDI5zgVOqWJqVZac5PlWoqmi58C2nhE9f+l48=sha1_base64="BAzAkeqayfwfK+x6gu6sYN57hF4=">AAAClXichVFNLwNRFD0dX1UfLRYkNg0hhMitDZFIGkTs0GpJkGZmPAzTmcnMtFGNP2BlIRGsSCzEb7Cy4QdYNPEHxJLExsLtTBOhwX1575133j3nvZurWLrmuESlgFRTW1ffEGwMNTW3tIYjbe1px8zZqkippm7aK4rsCF0zRMrVXF2sWLaQs4oulpXd6fL9cl7YjmYaS27BEutZecvQNjVVdplKD+wNRwuDmUgvjZAX0WoQq4DeeM/a0HEpXlgwI7dYwwZMqMghCwEDLmMdMhweq4iBYDG3jiJzNiPNuxc4QIi1Oc4SnCEzu8vrFp9WK6zB57Kn46lVfkXnabMyij56pGt6pXu6oWf6+NWr6HmU/1LgXfG1wsqED7uS7/+qsry72P5S/aFQONv/2RN90As9/Fmfi02Me3VpXKflMeWKVd8jv3/ympxI9BX76ZK9HumCSnTH1Rr5N/VqUSTOEeJmxX62phqkR0dijBe5a1PwI4hu9GCAezOGOOawgBS/u4MjnOJM6pQmpRlp1k+VAhVNB76FNP8J4WeZFQ==sha1_base64="GfCnE4dYsDZit9/R7pos/AdPMHE=">AAAClXichVFNLwNRFD0d3/VVLEhsGg2pROTWhkgkDSJ2+qGtBJGZ8TBMZyYz00Y1/oCVnWBFYiF+g5UNP8BC4g+IZSU2Fm6nkwgN7st777zz7jnv3VzF0jXHJXoKSA2NTc0trW3B9o7Oru5QT2/WMQu2KjKqqZv2iiI7QtcMkXE1Vxcrli3kvKKLnLI3V73PFYXtaKax7JYssZ6Xtw1tS1Nll6lsdH8sXBrdCEVonLwI14OYDyLwI2GGbrGGTZhQUUAeAgZcxjpkODxWEQPBYm4dZeZsRpp3L3CIIGsLnCU4Q2Z2j9dtPq36rMHnqqfjqVV+RedpszKMYXqka6rQPd3QC3386lX2PKp/KfGu1LTC2ug+Gki//6vK8+5i50v1h0Lh7NrPnumDXunhz/pcbGHKq0vjOi2PqVas1jyKByeV9HRquDxCl+z1SBf0RHdcrVF8U6+SInWOIDcr9rM19SA7MR5jnKRIfNZvWysGMYQo92YScSwigQy/u4tjnOJM6pdmpHlpoZYqBXxNH76FtPQJw4iWBg== Position of the tip of link 1:

x1 = L1 cos ✓1

LAAAClHichVE9SwNBEH2e3/EjUUEEm6BErMIkjSIWoggWIkaNClHi3bmJi5e74+4S0OAfsLFUsVKwEH+DlY3+AIuA2Iulgo2Fk7uAqBhn2d23b+e93WE025CuR1RpUBqbmlta29pDHZ1d3eFIT++qaxUdXaR1y7CcdU11hSFNkfakZ4h12xFqQTPEmrY7U71fKwnHlZa54u3ZYrOg5k2Zk7rqMZWez5aTB9nIMMXJj+hvkKiB4an+1NMWgEUrcoMNbMOCjiIKEDDhMTagwuWRQQIEm7lNlJlzGEn/XuAAIdYWOUtwhsrsLq95PmVqrMnnqqfrq3V+xeDpsDKKGD3QFb3SHV3TM3386VX2Pap/2eNdC7TCzoYPB5bf/1UVePew86Wqo9A4O/jZI33QC93Xrc9DDuN+XZLrtH2mWrEeeJT2j1+XJ5Zi5RG6YK8HOqcK3XK1ZulNv0yJpTOEuFmJn635DVaT8QTjFHdtGkG0YRBDGOXejGEKc1hEmt+VOMIJTpV+ZVKZUWaDVKWhpunDt1AWPgEExZgosha1_base64="2N9SQ/hdagPKnmScCl/oofHokzM=">AAAClHichVE9SwNBEH2eXzF+RYUg2IiiWMnERhELMQgWIkaNClHC3bnGxcvdcXcJaMgfsLFUsVKwEPEnWGmhP8BCEHuxVLBJ4eQuIBqMs+zu27fz3u4wmm1I1yN6qlPqGxqbmkMt4da29o7OSFf3qmvlHF0kdcuwnHVNdYUhTZH0pGeIddsRalYzxJq2Gy/fr+WF40rLXPH2bLGZVTOm3Ja66jGVnE8XxorpyCCNkh/91SBWAYPT0cSLvJ65W7QiN9jAFizoyCELARMeYwMqXB4pxECwmdtEgTmHkfTvBYoIszbHWYIzVGZ3ec3wKVVhTT6XPV1frfMrBk+Hlf0Yoke6pHe6pyt6pdKfXgXfo/yXPd61QCvsdOdB7/Lnv6os7x52vlU1FBpnBz97phK90UPN+jxsY8KvS3Kdts+UK9YDj/z+0fvy5NJQYZjO2euRzuiJbrlaM/+hXyTE0inC3KzY79ZUg9Wx0RjjBHdtBkGE0IcBjHBvxjGNOSwiye9KHOIYJ0pUmVLiymyQqtRVND34EcrCF3l1meQ=sha1_base64="A5tTMvTMZh9R/wdPpveJvzAKa78=">AAAClHichVG7SgNBFD1Z3/GRqCCCTTAoVuHGRhELUQQLEV/RgIawu45xcLO77G4CGvwBG0sVKwUL8RusbPQDUgT8AbFUsEnhzWZBNBjvMDNnztxzZi5Xsw3pekSVkNLS2tbe0dkV7u7p7YtE+we2XKvg6CKlW4blpDXVFYY0RcqTniHStiPUvGaIbe1woXa/XRSOKy1z0zuyRSav5ky5L3XVYyq1nC1NnmSjcUqQH7FGkAxAHEGsWtEH7GIPFnQUkIeACY+xARUujx0kQbCZy6DEnMNI+vcCJwiztsBZgjNUZg95zfFpJ2BNPtc8XV+t8ysGT4eVMYxRme7onZ7onl6p+qdXyfeo/eWId62uFXY2cjq88fmvKs+7h4NvVROFxtn1n71Qld7ouWl9HvYx7dcluU7bZ2oV63WP4vH5+8bM+lhpnG7Yq0zXVKFHrtYsfui3a2L9CmFuVvJ3axrB1mQiyXiN4nPzQds6MYJRTHBvpjCHJawixe9KnOECl8qQMqssKIv1VCUUaAbxI5SVLzfHlkM= 2 (y1 = L1 sin ✓1

(null)

AAACmXichVG7SgNBFD2u7/hIVBAhjSiKldzYKFZRm2BlEqPig7i7jrq4L3YnAQ35AWvBQhQULMRvsLLRD7AQxF4sFWwsvLsbEBX1DjNz5sw9Z+ZyNdc0fEl0X6fUNzQ2Nbe0xtraOzrjia7uBd8peboo6I7peEua6gvTsEVBGtIUS64nVEszxaK2MxPcL5aF5xuOPS93XbFmqVu2sWnoqmRqeVVuC6kWK2PVYmKQRimM/p8gVQOD6d7s4zqAOSdxhVVswIGOEiwI2JCMTajweawgBYLL3BoqzHmMjPBeoIoYa0ucJThDZXaH1y0+rdRYm8+Bpx+qdX7F5Omxsh9DdEcX9EI3dElP9P6rVyX0CP6yy7sWaYVbjO/35d/+VVm8S2x/qv5QaJwd/eyB3umZbv+sT2ITE2FdBtfphkxQsR55lPcOX/KTuaHKMJ2x1x2d0j1dc7V2+VU/z4rcEWLcrNT31vwEC2OjKcZZ7to0omhBEgMY4d6MI40M5lDgd20c4BgnSlKZUjLKbJSq1NU0PfgSSv4DejqagA==sha1_base64="cZOtwTbCBK4nsk8VKP2w6JBV0ks=">AAACmXichVG7SgNBFD2u7/iKCiKkEUWxkhsbxcpHI1YmMSpGCbvraAY3u8vuJKDBH7AWLERBwULET7DSQj8ghSD2YqlgY+HNbkBU1DvMzJkz95yZyzVcS/qK6L5Gq62rb2hsao60tLa1d0Q7uxZ9p+CZIm06luMtG7ovLGmLtJLKEsuuJ/S8YYklY2umcr9UFJ4vHXtBbbtiLa9v2nJDmrpiamVV5YTSs6XR3Wx0gEYoiL6fIF4FA5M9iUd5OX0z70SvsIp1ODBRQB4CNhRjCzp8HhnEQXCZW0OJOY+RDO4FdhFhbYGzBGfozG7xusmnTJW1+Vzx9AO1ya9YPD1W9mGQynROL3RLF/RE7796lQKPyl+2eTdCrXCzHXu9qbd/VXneFXKfqj8UBmeHP3ugd3qmuz/rU9jAeFCX5DrdgKlUbIYexZ2Dl9REcrA0RKfsVaYTuqdrrtYuvppnCZE8RISbFf/emp9gcXQkzjjBXZtGGE2IoR/D3JsxTGIW80jzuzb2cYRjLaZNabPaXJiq1VQ13fgSWuoD7uqcPA==sha1_base64="jYNnen75qCuqIwrE0gVqdapgc+Y=">AAACmXichVG7SgNBFD2urxhfURvBJhgUK7mxUax8NGJlEhPFB2F3HZMlm91ldxLQkB+wFixEQcFC/AYrG/2AFAF/QCwVbCy82SyIBuMdZubMmXvOzOVqjml4kqjeoXR2dff0hvrC/QODQ8ORkdGMZ5dcXaR127TdbU31hGlYIi0NaYptxxVqUTPFllZYbdxvlYXrGba1KY8csV9Uc5ZxaOiqZGpnT+aFVLOVuWo2EqNZ8iPaCuIBiCGIDTtyjz0cwIaOEooQsCAZm1Dh8dhFHASHuX1UmHMZGf69QBVh1pY4S3CGymyB1xyfdgPW4nPD0/PVOr9i8nRZGcUU1eiW3uiR7uiFPv/0qvgejb8c8a41tcLJDp+Mpz7+VRV5l8h/q9ooNM5u/uyZPumVntrWJ3GIBb8ug+t0fKZRsd70KB+fvaUWk1OVabpmrxpdUZ0euFqr/K7fJETyHGFuVvx3a1pBZm42zjhBsaWVoG0hTGASM9ybeSxhDRtI87sWTnGBS2VCWVbWlPVmqtIRaMbwI5TUF608mJs= 2 (x ,y ) (null) 1 1

AAACmXichVG7SgNBFD2u7/hIVBDBRhTFKty1Uax8NMHKGKPig7i7TpIlm91ldxLQ4A9YCxaioGAhfoOVjX6ARUDsxVLBxsKb3YCoqHeYmTNn7jkzl6u7lulLomqD0tjU3NLa1h7p6OzqjsZ6eld8p+QZIm04luOt6ZovLNMWaWlKS6y5ntCKuiVW9cJ87X61LDzfdOxlueuKraKWs82saWiSqfVNmRdSy1TU/UxshOIUxNBPoNbByEx/8nEbwKITu8YmduDAQAlFCNiQjC1o8HlsQAXBZW4LFeY8RmZwL7CPCGtLnCU4Q2O2wGuOTxt11uZzzdMP1Aa/YvH0WDmEUbqnS3qhW7qiJ3r/1asSeNT+ssu7HmqFm4keDKTe/lUVeZfIf6r+UOicHf7sgd7pme7+rE8ii6mgLpPrdAOmVrERepT3jl5S00ujlTE6Z697OqMq3XC1dvnVuEiKpWNEuFnq99b8BCsTcZVxkrs2hzDaMIhhjHNvJjGDBBaR5ndtHOIEp8qgMqsklIUwVWmoa/rwJZTUB3gNmn8=sha1_base64="FKvQ4FHhMlddzSwr3TszAUykU/c=">AAACmXichVHLLgRBFD3aa4zXIBGJjRBiJbdtiBVjI1bGGMQjk+5WTEVPd6e7ZhImfsBaYiEkJBYiPsGKBR9gIRF7sSSxsXCnexJBcCtVderUPafq5pqeLQNFdF+lVdfU1tXHGuKNTc0trYm29vnALfiWyFiu7fqLphEIWzoio6SyxaLnCyNv2mLB3Jws3y8UhR9I15lTW55YzRsbjlyXlqGYWlpROaGMbEnfySb6aIjC6PkJ9AroG+9MPcqL5PWMm7jECtbgwkIBeQg4UIxtGAh4LEMHwWNuFSXmfEYyvBfYQZy1Bc4SnGEwu8nrBp+WK6zD57JnEKotfsXm6bOyB/10R2f0Qjd0Tk/0/qtXKfQo/2WLdzPSCi/butuVfvtXleddIfep+kNhcnb0swd6p2e6/bM+hXWMhnVJrtMLmXLFVuRR3N5/SY/N9pcG6IS97uiY7umKq3WKr9ZpSsweIM7N0r+35ieYHx7SGae4a0lEEUM3ejHIvRnBOKYwgwy/62APhzjSurUJbUqbjlK1qoqmA19CS38A7L2cOw==sha1_base64="arzcYrHYG6j1a6ZrDaZU+kZZGko=">AAACmXichVG7SgNBFD2urxhfURvBRgyKldy1Uax8NMEqMSYRo4TdddQlm91ldxKIIT9gLViIgoKF+A1WNvoBFoI/IJYKNim82SyIinqHmTlz5p4zc7m6a5m+JHpsU9o7Oru6Iz3R3r7+gcHY0HDWd8qeITKGYznehq75wjJtkZGmtMSG6wmtpFsipxdXmve5ivB807HXZdUV2yVtzzZ3TUOTTG1uyX0htUJNrRdicZqhIMZ/AjUEcYSRdGI32MIOHBgoowQBG5KxBQ0+jzxUEFzmtlFjzmNkBvcCdURZW+YswRkas0Ve9/iUD1mbz01PP1Ab/IrF02PlOCbpga7ole7omp6p8atXLfBo/qXKu97SCrcweDiafv9XVeJdYv9T9YdC5+zWz56oQS90/2d9EruYD+oyuU43YJoVGy2PysHxa3phbbI2RRfs9UDn9Ei3XK1deTMuU2LtBFFulvq9NT9BdnZGZZyi+OJy2LYIxjCBae7NHBaRQBIZftfGEU5xpowpS0pCWW2lKm2hZgRfQkl/AKsPmJo= 1 Position of the end effector:

LAAAClHichVE9SwNBEH2e3/EjUUEEG1EiVjJno4iFKIKFiFGjgoZ4d6665HJ33F0CGvIHbCxVrBQsxN9gZaM/IIUg9mKpYGPh5C4gGoyz7O7bt/Pe7jC6Y0rPJ3qsU+obGpuaW1ojbe0dndFYV/eaZ+dcQyQN27TdDV3zhCktkfSlb4oNxxVaVjfFup6ZLd+v54XrSdta9Q8ckcpqe5bclYbmM5VcSBfUYjo2RKMUxEA1UCtgaLo38bwNYMmO3WILO7BhIIcsBCz4jE1o8HhsQgXBYS6FAnMuIxncCxQRYW2OswRnaMxmeN3j02aFtfhc9vQCtcGvmDxdVg4gTiW6pje6pxt6oc8/vQqBR/kvB7zroVY46ehR38rHv6os7z72v1U1FDpnhz97ok96pYea9fnYxURQl+Q6nYApV2yEHvnDk7eVyeV4YZgu2atEF/RId1ytlX83rhJi+RwRbpb6uzXVYG1sVGWc4K7NIIwW9GMQI9ybcUxjHktI8rsSxzjFmdKrTCmzylyYqtRVND34EcriFwKYmCc=sha1_base64="o94cBQ0mp3sLnNhGnpiZ7XDeebU=">AAAClHichVHPK0RRFP48v8b4NSgpGxFZ6TwbksU0k7KQDAaFpveea9y8ee/13pupMc0/YGOJrCgLyZ9gxYI/wELJXpaUjYUz700J4dzuvd/97vm+e09Hd0zp+UT3NUptXX1DY6Qp2tzS2tYe6+hc8uy8a4i0YZu2u6JrnjClJdK+9E2x4rhCy+mmWNa3k5X75YJwPWlbi37REes5LWvJTWloPlPpmUxJLWdiAzRCQfT9BGoVDMS7U4/yInE9Z8cusYYN2DCQRw4CFnzGJjR4PFahguAwt44Scy4jGdwLlBFlbZ6zBGdozG7zmuXTapW1+Fzx9AK1wa+YPF1W9mGQ7uiMXuiGzumJ3n/1KgUelb8UeddDrXAy7bs9C2//qnK8+9j6VP2h0Dk7/NkDvdMz3f5Zn49NjAd1Sa7TCZhKxUboUdjZf1mYmB8sDdEJe93RMd3TFVdrFV6N05SYP0KUm6V+b81PsDQ6ojJOcdcSCCOCXvRjmHszhjimMYc0vyuxhwMcKt3KpJJUpsJUpaaq6cKXUGY/AHdImeM=sha1_base64="8AU6ZOM6aE2Ojt77nrvkf8mDEb0=">AAAClHichVG7SgNBFD2u7/hIVBDBRgwRq3DXRhGLYBAsRBI1KmgIu+tEBze7y+4moCE/YGOpYqVgIX6DlY1+gIXgD4ilgo2FN5sFUVHvMDNnztxzZi5Xd0zp+UQPTUpzS2tbe0dnpKu7pzca6+tf9eyya4icYZu2u65rnjClJXK+9E2x7rhCK+mmWNN30/X7tYpwPWlbK/6eI/IlbduSRWloPlO5hUJVrRVicUpSECM/gRqCOMLI2LFrbGILNgyUUYKABZ+xCQ0ejw2oIDjM5VFlzmUkg3uBGiKsLXOW4AyN2V1et/m0EbIWn+ueXqA2+BWTp8vKESToni7phW7pip7o/VevauBR/8se73pDK5xC9GBo+e1fVYl3Hzufqj8UOmc3fvZI7/RMd3/W56OIqaAuyXU6AVOv2Gh4VPaPXpanlxLVMTpnr3s6owe64WqtyqtxkRVLp4hws9TvrfkJVieSKuMsxVOzYds6MIxRjHNvJpHCPDLI8bsShzjGiTKozChpZa6RqjSFmgF8CWXxAzWalkI= 1 x = L1 cos ✓1 + L2 cos(✓1 + ✓2)

AAACmXichVG7SgNBFD2u7/hIVBDBRhTFKty1Uax8NMHKGKPig7i7TpIlm91ldxLQ4A9YCxaioGAhfoOVjX6ARUDsxVLBxsKb3YCoqHeYmTNn7jkzl6u7lulLomqD0tjU3NLa1h7p6OzqjsZ6eld8p+QZIm04luOt6ZovLNMWaWlKS6y5ntCKuiVW9cJ87X61LDzfdOxlueuKraKWs82saWiSqfVNmRdSy1TU/UxshOIUxNBPoNbByEx/8nEbwKITu8YmduDAQAlFCNiQjC1o8HlsQAXBZW4LFeY8RmZwL7CPCGtLnCU4Q2O2wGuOTxt11uZzzdMP1Aa/YvH0WDmEUbqnS3qhW7qiJ3r/1asSeNT+ssu7HmqFm4keDKTe/lUVeZfIf6r+UOicHf7sgd7pme7+rE8ii6mgLpPrdAOmVrERepT3jl5S00ujlTE6Z697OqMq3XC1dvnVuEiKpWNEuFnq99b8BCsTcZVxkrs2hzDaMIhhjHNvJjGDBBaR5ndtHOIEp8qgMqsklIUwVWmoa/rwJZTUB3gNmn8=sha1_base64="FKvQ4FHhMlddzSwr3TszAUykU/c=">AAACmXichVHLLgRBFD3aa4zXIBGJjRBiJbdtiBVjI1bGGMQjk+5WTEVPd6e7ZhImfsBaYiEkJBYiPsGKBR9gIRF7sSSxsXCnexJBcCtVderUPafq5pqeLQNFdF+lVdfU1tXHGuKNTc0trYm29vnALfiWyFiu7fqLphEIWzoio6SyxaLnCyNv2mLB3Jws3y8UhR9I15lTW55YzRsbjlyXlqGYWlpROaGMbEnfySb6aIjC6PkJ9AroG+9MPcqL5PWMm7jECtbgwkIBeQg4UIxtGAh4LEMHwWNuFSXmfEYyvBfYQZy1Bc4SnGEwu8nrBp+WK6zD57JnEKotfsXm6bOyB/10R2f0Qjd0Tk/0/qtXKfQo/2WLdzPSCi/butuVfvtXleddIfep+kNhcnb0swd6p2e6/bM+hXWMhnVJrtMLmXLFVuRR3N5/SY/N9pcG6IS97uiY7umKq3WKr9ZpSsweIM7N0r+35ieYHx7SGae4a0lEEUM3ejHIvRnBOKYwgwy/62APhzjSurUJbUqbjlK1qoqmA19CS38A7L2cOw==sha1_base64="arzcYrHYG6j1a6ZrDaZU+kZZGko=">AAACmXichVG7SgNBFD2urxhfURvBRgyKldy1Uax8NMEqMSYRo4TdddQlm91ldxKIIT9gLViIgoKF+A1WNvoBFoI/IJYKNim82SyIinqHmTlz5p4zc7m6a5m+JHpsU9o7Oru6Iz3R3r7+gcHY0HDWd8qeITKGYznehq75wjJtkZGmtMSG6wmtpFsipxdXmve5ivB807HXZdUV2yVtzzZ3TUOTTG1uyX0htUJNrRdicZqhIMZ/AjUEcYSRdGI32MIOHBgoowQBG5KxBQ0+jzxUEFzmtlFjzmNkBvcCdURZW+YswRkas0Ve9/iUD1mbz01PP1Ab/IrF02PlOCbpga7ole7omp6p8atXLfBo/qXKu97SCrcweDiafv9XVeJdYv9T9YdC5+zWz56oQS90/2d9EruYD+oyuU43YJoVGy2PysHxa3phbbI2RRfs9UDn9Ei3XK1deTMuU2LtBFFulvq9NT9BdnZGZZyi+OJy2LYIxjCBae7NHBaRQBIZftfGEU5xpowpS0pCWW2lKm2hZgRfQkl/AKsPmJo= 1 (y = L1 sin ✓1 + L2 sin(✓1 + ✓2) xAAACkHichVE9SwNBEH05v+NXjI1gEwyKlUxsDIIkaiNWJjEaiCJ356qHl7vj7hKMQbDWVrGwUrAQf4OVhfoDUgT8A2IZwcbCyV1AVNRZdvft23lvdxjF0jXHJaoFpJbWtvaOzq5gd09vX39oILzimEVbFVnV1E07p8iO0DVDZF3N1UXOsoVcUHSxquzON+5XS8J2NNNYdsuWWC/I24a2pamyy1RqbyMUpQnyIvITxJogmrgPzhwCWDJDt1jDJkyoKKIAAQMuYx0yHB55xECwmFtHhTmbkebdCxwgyNoiZwnOkJnd5XWbT/kma/C54el4apVf0XnarIxglKp0TXV6oBt6pvdfvSqeR+MvZd4VXyusjf6joczbv6oC7y52PlV/KBTO9n/2RO/0Qo9/1udiC3GvLo3rtDymUbHqe5T2z+qZ6fRoZYwu2atKF1SjO67WKL2qVymRPkeQmxX73pqfYGVyIsY4RdHkHPzoxDBGMM69mUISC1hClt8VOMYJTqWwFJcS0qyfKgWamkF8CWnxA0W8los=sha1_base64="8Qzt2+y04boPKnW8x9C1qgCr3X4=">AAACkHichVFNLwNRFD3GV42vqo3EptEQK7m1IRLxtRErLaUJjcyM15p0OjOZmTaq8QfYEgsrxEL8BisL/AARiT8gliQ2XbidaSII7st777zz7jnv3VzVNnTXI3pskBqbmltaQ21ye0dnV3e4J7LiWkVHEynNMiwnrSquMHRTpDzdM0TadoRSUA2xqubnaverJeG4umUue2VbZApKztSzuqZ4TCW2N8IxGiE/oj9BvA5iUzfypH32IC9a4SusYxMWNBRRgIAJj7EBBS6PNcRBsJnLoMKcw0j37wV2IbO2yFmCMxRm87zm+LRWZ00+1zxdX63xKwZPh5VRDNI9XdAr3dIlPVP1V6+K71H7S5l3NdAKe6N7r2/p/V9VgXcPW5+qPxQqZwc/e6IqvdDdn/V5yGLcr0vnOm2fqVWsBR6lnaPXpYnkYGWITtnrnk7oka65WrP0pp0nRPIYMjcr/r01P8HK6EiccYJi07MIIoR+DGCYezOGacxjESl+V2AfBziUItK4NCXNBKlSQ13Tiy8hLXwAK3qX/w==sha1_base64="R4fryOHUFpwoFYEWUQH0pGDlWjU=">AAACkHichVFNLwNRFD3GV9VHqzYSm0ZTsZJbG42NYiNWrSqSEpkZD5NOZyYz00Y1/gBbYmFFYiF+g5UNP6ALiT8gliQ2Fu58JILgvrz3zjvvnvPezVUsXXNcooc2qb2js6s70hPt7esfiMUHEyuOWbNVUVJN3bTXFNkRumaIkqu5ulizbCFXFV2sKpV57361LmxHM41lt2GJjaq8Y2jbmiq7TBX2NuMpmiA/kj9BJgQphJE34zdYxxZMqKihCgEDLmMdMhweZWRAsJjbQJM5m5Hm3wscIMraGmcJzpCZrfC6w6dyyBp89jwdX63yKzpPm5VJpKlFV/RCd3RNT/T+q1fT9/D+0uBdCbTC2owdDhff/lVVeXex+6n6Q6FwdvCzR3qnZ7r/sz4X28j6dWlcp+UzXsVq4FHfP30pTi+lm2N0wV4tOqcHuuVqjfqrelkQS2eIcrMy31vzE6xMTmQYFyiVmwvbFsEIRjHOvZlCDgvIo8TvChzhGCdSQspKM9JskCq1hZohfAlp8QOn3pS+ (null) Non-redundant manipulator End effector: 2 degrees of freedom (DoF) Joint angles: 2 degrees of freedom (DoF) 9 www.oscillex.org/robotics2day7 Python script #1-1 ForwardKinematics_2Links.py $ python ForwardKinematics_2Links.py 10

Setting for parameters and variables

Definition of “Forward Kinematics” function !!! Please make the following code !!!

L1 : link 1 length L2 : link 2 length Th1 : link 1 angle Th2 : link 2 angle

math.cos() or np.cos() math.sin() or np.cos() Python script #1-2 ForwardKinematics_2Links.py $ python ForwardKinematics_2Links.py 11

Update function for th[0] (link 1 angle) by using slider1

Update function for th[1] (link 2 angle) by using slider2 Python script #1-3 ForwardKinematics_2Links.py $ python ForwardKinematics_2Links.py 12

Setting and plotting for graph in figure

Setting for slider in figure

Update variable and plot the graph 13 Inverse Kinematics for 2-link 2-joint Manipulator (x, y) (✓ , ✓ ) 2 2 (null) 1 2 ! (null) OP = L = x + y yAAACkHichVE9LwRRFD3G11ofu1YjoRBCVHJXY6OxaES1HxYJIjPjYbLzlZnZTdbGH6AlChWJQvwBjUrDD9hiE4VWlCQahTszmwiC+/LeO++8e857N1exdc31iOpNUnNLa1t7pCPa2dXdE4v3JpZdq+SooqBauuWsKrIrdM0UBU/zdLFqO0I2FF2sKMV5/36lLBxXs8wlr2KLDUPeMbVtTZU9prKVzfgITVAQQz9BsgFG0oPX2UcAGSt+g3VswYKKEgwImPAY65Dh8lhDEgSbuQ1UmXMYacG9wD6irC1xluAMmdkirzt8WmuwJp99TzdQq/yKztNh5RBGqUaX9EJ3dEVP9P6rVzXw8P9S4V0JtcLejB3059/+VRm8e9j9VP2hUDg7/NkDvdMz3f9Zn4dtpIK6NK7TDhi/YjX0KO+dvOSnc6PVMTpnrxqdUZ1uuVqz/KpeZEXuFFFuVvJ7a36C5cmJJOMsd20OYUQwgGGMc2+mkMYCMijwuwKHOMKxlJBS0ow0G6ZKTQ1NH76EtPgBN2qXBA==sha1_base64="Mw29lhQOTZimep2s3X+yfHEDTOU=">AAACkHichVE9SwNBEH05v2L8irERFBFFsZKJjcHGqI1YJcaYQBS5O1c9crk77i6BGCxttFUsrBQsxD9gY2WjPyCF4B8Qywg2KZzcBURFnWV3376d93aHUSxdc1yip4DU0trW3hHsDHV19/T2hfsj645ZtFWRVk3dtLOK7AhdM0Ta1VxdZC1byAVFFxklv9S4z5SE7WimseaWLbFZkHcNbUdTZZepZHkrPE7T5MXoTxBtgvH48G3y9XDkNmGG77CBbZhQUUQBAgZcxjpkODxyiIJgMbeJCnM2I827FzhAiLVFzhKcITOb53WXT7kma/C54el4apVf0XnarBzFBFXpmmr0QDf0QvVfvSqeR+MvZd4VXyusrb6jwdT7v6oC7y72PlV/KBTO9n/2THV6pcc/63Oxg5hXl8Z1Wh7TqFj1PUr7Z7XU3OpEZZIu2atKF/RE91ytUXpTr5Ji9Rwhblb0e2t+gvWZ6SjjJHdtEX4EMYQxTHFvZhHHMhJI87sCxzjBqRSRYtK8tOCnSoGmZgBfQlr5AACumGo=sha1_base64="zIPGonXmtQYbyMybYc2drnAQEUM=">AAACkHichVG7SgNBFD2u7/hI1EawCYaIVbixMdj4asTKqIlCDLK7jrpks7vsbgIx+APaKhZWChbiN1jZ6AekCPgDYqlgk8K7DxAV4x1m5syZe87M5SqWrjkuUbND6uzq7unt648MDA4NR2Mjo3nHrNiqyKmmbtrbiuwIXTNEztVcXWxbtpDLii62lNKyd79VFbajmcamW7NEsSwfGNq+psouU9nabixBKfIj/hukQ5BAGGtm7B472IMJFRWUIWDAZaxDhsOjgDQIFnNF1JmzGWn+vcAxIqytcJbgDJnZEq8HfCqErMFnz9Px1Sq/ovO0WRlHkhp0S2/0SHf0Qq0/veq+h/eXGu9KoBXWbvRkfOPjX1WZdxeHX6o2CoWzg589U4te6altfS72kfHr0rhOy2e8itXAo3p08bYxt56sT9E1ezXoipr0wNUa1Xf1JivWLxHhZqV/tuY3yM+k0oyzlFhYCtvWhwlMYpp7M4sFrGANOX5X4BRnOJdGpYw0Ly0GqVJHqBnDt5BWPwGqCpS/ (x, y)

AAAClXichVFNLwNRFD3Gd320WJDYNKRSIXJrQyQSQcTOR7Wa0DQz42GYzkxmpo1q/AErO8EGiYX4DVY2/IAuJP6AWJLYWLidaSI0uC/vvfPOu+e8d3MVS9ccl+ixRqqtq29obGoOtLS2tQdDHZ1Jx8zZqkiopm7aKUV2hK4ZIuFqri5Sli3krKKLVWV3pny/mhe2o5nGiluwRDorbxnapqbKLlPJ6N5wuDCYCfXTCHkRrgaxCuif6lsfOgewaIZusY4NmFCRQxYCBlzGOmQ4PNYQA8FiLo0iczYjzbsXOECAtTnOEpwhM7vL6xaf1iqsweeyp+OpVX5F52mzMowIleiaXumebuiZPn71Knoe5b8UeFd8rbAywcOe+Pu/qizvLra/VH8oFM72f/ZEH/RCD3/W52IT415dGtdpeUy5YtX3yO8fv8YnliPFAbpkrxJd0CPdcbVG/k29WhLLZwhws2I/W1MNkqMjMcZL3LVp+NGEXvQhyr0ZwxTmsYgEv7uDI5zgVOqWJqVZac5PlWoqmi58C2nhE9f+l48=sha1_base64="BAzAkeqayfwfK+x6gu6sYN57hF4=">AAAClXichVFNLwNRFD0dX1UfLRYkNg0hhMitDZFIGkTs0GpJkGZmPAzTmcnMtFGNP2BlIRGsSCzEb7Cy4QdYNPEHxJLExsLtTBOhwX1575133j3nvZurWLrmuESlgFRTW1ffEGwMNTW3tIYjbe1px8zZqkippm7aK4rsCF0zRMrVXF2sWLaQs4oulpXd6fL9cl7YjmYaS27BEutZecvQNjVVdplKD+wNRwuDmUgvjZAX0WoQq4DeeM/a0HEpXlgwI7dYwwZMqMghCwEDLmMdMhweq4iBYDG3jiJzNiPNuxc4QIi1Oc4SnCEzu8vrFp9WK6zB57Kn46lVfkXnabMyij56pGt6pXu6oWf6+NWr6HmU/1LgXfG1wsqED7uS7/+qsry72P5S/aFQONv/2RN90As9/Fmfi02Me3VpXKflMeWKVd8jv3/ympxI9BX76ZK9HumCSnTH1Rr5N/VqUSTOEeJmxX62phqkR0dijBe5a1PwI4hu9GCAezOGOOawgBS/u4MjnOJM6pQmpRlp1k+VAhVNB76FNP8J4WeZFQ==sha1_base64="GfCnE4dYsDZit9/R7pos/AdPMHE=">AAAClXichVFNLwNRFD0d3/VVLEhsGg2pROTWhkgkDSJ2+qGtBJGZ8TBMZyYz00Y1/oCVnWBFYiF+g5UNP8BC4g+IZSU2Fm6nkwgN7st777zz7jnv3VzF0jXHJXoKSA2NTc0trW3B9o7Oru5QT2/WMQu2KjKqqZv2iiI7QtcMkXE1Vxcrli3kvKKLnLI3V73PFYXtaKax7JYssZ6Xtw1tS1Nll6lsdH8sXBrdCEVonLwI14OYDyLwI2GGbrGGTZhQUUAeAgZcxjpkODxWEQPBYm4dZeZsRpp3L3CIIGsLnCU4Q2Z2j9dtPq36rMHnqqfjqVV+RedpszKMYXqka6rQPd3QC3386lX2PKp/KfGu1LTC2ug+Gki//6vK8+5i50v1h0Lh7NrPnumDXunhz/pcbGHKq0vjOi2PqVas1jyKByeV9HRquDxCl+z1SBf0RHdcrVF8U6+SInWOIDcr9rM19SA7MR5jnKRIfNZvWysGMYQo92YScSwigQy/u4tjnOJM6pdmpHlpoZYqBXxNH76FtPQJw4iWBg== P ✓ = p 1

LAAAClHichVE9SwNBEH2e3/EjUUEEm6BErMIkjSIWoggWIkaNClHi3bmJi5e74+4S0OAfsLFUsVKwEH+DlY3+AIuA2Iulgo2Fk7uAqBhn2d23b+e93WE025CuR1RpUBqbmlta29pDHZ1d3eFIT++qaxUdXaR1y7CcdU11hSFNkfakZ4h12xFqQTPEmrY7U71fKwnHlZa54u3ZYrOg5k2Zk7rqMZWez5aTB9nIMMXJj+hvkKiB4an+1NMWgEUrcoMNbMOCjiIKEDDhMTagwuWRQQIEm7lNlJlzGEn/XuAAIdYWOUtwhsrsLq95PmVqrMnnqqfrq3V+xeDpsDKKGD3QFb3SHV3TM3386VX2Pap/2eNdC7TCzoYPB5bf/1UVePew86Wqo9A4O/jZI33QC93Xrc9DDuN+XZLrtH2mWrEeeJT2j1+XJ5Zi5RG6YK8HOqcK3XK1ZulNv0yJpTOEuFmJn635DVaT8QTjFHdtGkG0YRBDGOXejGEKc1hEmt+VOMIJTpV+ZVKZUWaDVKWhpunDt1AWPgEExZgosha1_base64="2N9SQ/hdagPKnmScCl/oofHokzM=">AAAClHichVE9SwNBEH2eXzF+RYUg2IiiWMnERhELMQgWIkaNClHC3bnGxcvdcXcJaMgfsLFUsVKwEPEnWGmhP8BCEHuxVLBJ4eQuIBqMs+zu27fz3u4wmm1I1yN6qlPqGxqbmkMt4da29o7OSFf3qmvlHF0kdcuwnHVNdYUhTZH0pGeIddsRalYzxJq2Gy/fr+WF40rLXPH2bLGZVTOm3Ja66jGVnE8XxorpyCCNkh/91SBWAYPT0cSLvJ65W7QiN9jAFizoyCELARMeYwMqXB4pxECwmdtEgTmHkfTvBYoIszbHWYIzVGZ3ec3wKVVhTT6XPV1frfMrBk+Hlf0Yoke6pHe6pyt6pdKfXgXfo/yXPd61QCvsdOdB7/Lnv6os7x52vlU1FBpnBz97phK90UPN+jxsY8KvS3Kdts+UK9YDj/z+0fvy5NJQYZjO2euRzuiJbrlaM/+hXyTE0inC3KzY79ZUg9Wx0RjjBHdtBkGE0IcBjHBvxjGNOSwiye9KHOIYJ0pUmVLiymyQqtRVND34EcrCF3l1meQ=sha1_base64="A5tTMvTMZh9R/wdPpveJvzAKa78=">AAAClHichVG7SgNBFD1Z3/GRqCCCTTAoVuHGRhELUQQLEV/RgIawu45xcLO77G4CGvwBG0sVKwUL8RusbPQDUgT8AbFUsEnhzWZBNBjvMDNnztxzZi5Xsw3pekSVkNLS2tbe0dkV7u7p7YtE+we2XKvg6CKlW4blpDXVFYY0RcqTniHStiPUvGaIbe1woXa/XRSOKy1z0zuyRSav5ky5L3XVYyq1nC1NnmSjcUqQH7FGkAxAHEGsWtEH7GIPFnQUkIeACY+xARUujx0kQbCZy6DEnMNI+vcCJwiztsBZgjNUZg95zfFpJ2BNPtc8XV+t8ysGT4eVMYxRme7onZ7onl6p+qdXyfeo/eWId62uFXY2cjq88fmvKs+7h4NvVROFxtn1n71Qld7ouWl9HvYx7dcluU7bZ2oV63WP4vH5+8bM+lhpnG7Yq0zXVKFHrtYsfui3a2L9CmFuVvJ3axrB1mQiyXiN4nPzQds6MYJRTHBvpjCHJawixe9KnOECl8qQMqssKIv1VCUUaAbxI5SVLzfHlkM= 2 (✓2 = ⇡ ↵ (null)

(null) ↵ ✓AAACmXichVG7SgNBFD2u7/hIVBAhjSiKldzYKFZRm2BlEqPig7i7jrq4L3YnAQ35AWvBQhQULMRvsLLRD7AQxF4sFWwsvLsbEBX1DjNz5sw9Z+ZyNdc0fEl0X6fUNzQ2Nbe0xtraOzrjia7uBd8peboo6I7peEua6gvTsEVBGtIUS64nVEszxaK2MxPcL5aF5xuOPS93XbFmqVu2sWnoqmRqeVVuC6kWK2PVYmKQRimM/p8gVQOD6d7s4zqAOSdxhVVswIGOEiwI2JCMTajweawgBYLL3BoqzHmMjPBeoIoYa0ucJThDZXaH1y0+rdRYm8+Bpx+qdX7F5Omxsh9DdEcX9EI3dElP9P6rVyX0CP6yy7sWaYVbjO/35d/+VVm8S2x/qv5QaJwd/eyB3umZbv+sT2ITE2FdBtfphkxQsR55lPcOX/KTuaHKMJ2x1x2d0j1dc7V2+VU/z4rcEWLcrNT31vwEC2OjKcZZ7to0omhBEgMY4d6MI40M5lDgd20c4BgnSlKZUjLKbJSq1NU0PfgSSv4DejqagA==sha1_base64="cZOtwTbCBK4nsk8VKP2w6JBV0ks=">AAACmXichVG7SgNBFD2u7/iKCiKkEUWxkhsbxcpHI1YmMSpGCbvraAY3u8vuJKDBH7AWLERBwULET7DSQj8ghSD2YqlgY+HNbkBU1DvMzJkz95yZyzVcS/qK6L5Gq62rb2hsao60tLa1d0Q7uxZ9p+CZIm06luMtG7ovLGmLtJLKEsuuJ/S8YYklY2umcr9UFJ4vHXtBbbtiLa9v2nJDmrpiamVV5YTSs6XR3Wx0gEYoiL6fIF4FA5M9iUd5OX0z70SvsIp1ODBRQB4CNhRjCzp8HhnEQXCZW0OJOY+RDO4FdhFhbYGzBGfozG7xusmnTJW1+Vzx9AO1ya9YPD1W9mGQynROL3RLF/RE7796lQKPyl+2eTdCrXCzHXu9qbd/VXneFXKfqj8UBmeHP3ugd3qmuz/rU9jAeFCX5DrdgKlUbIYexZ2Dl9REcrA0RKfsVaYTuqdrrtYuvppnCZE8RISbFf/emp9gcXQkzjjBXZtGGE2IoR/D3JsxTGIW80jzuzb2cYRjLaZNabPaXJiq1VQ13fgSWuoD7uqcPA==sha1_base64="jYNnen75qCuqIwrE0gVqdapgc+Y=">AAACmXichVG7SgNBFD2urxhfURvBJhgUK7mxUax8NGJlEhPFB2F3HZMlm91ldxLQkB+wFixEQcFC/AYrG/2AFAF/QCwVbCy82SyIBuMdZubMmXvOzOVqjml4kqjeoXR2dff0hvrC/QODQ8ORkdGMZ5dcXaR127TdbU31hGlYIi0NaYptxxVqUTPFllZYbdxvlYXrGba1KY8csV9Uc5ZxaOiqZGpnT+aFVLOVuWo2EqNZ8iPaCuIBiCGIDTtyjz0cwIaOEooQsCAZm1Dh8dhFHASHuX1UmHMZGf69QBVh1pY4S3CGymyB1xyfdgPW4nPD0/PVOr9i8nRZGcUU1eiW3uiR7uiFPv/0qvgejb8c8a41tcLJDp+Mpz7+VRV5l8h/q9ooNM5u/uyZPumVntrWJ3GIBb8ug+t0fKZRsd70KB+fvaUWk1OVabpmrxpdUZ0euFqr/K7fJETyHGFuVvx3a1pBZm42zjhBsaWVoG0hTGASM9ybeSxhDRtI87sWTnGBS2VCWVbWlPVmqtIRaMbwI5TUF608mJs= 2 From “Cosine Theorem”, L2 = L2 + L2 2L L cos ↵ (null) 1 2 1 2 (null) A 2 2 2 LAAAClHichVE9SwNBEH2e3/EjUUEEG1EiVjJno4iFKIKFiFGjgoZ4d6665HJ33F0CGvIHbCxVrBQsxN9gZaM/IIUg9mKpYGPh5C4gGoyz7O7bt/Pe7jC6Y0rPJ3qsU+obGpuaW1ojbe0dndFYV/eaZ+dcQyQN27TdDV3zhCktkfSlb4oNxxVaVjfFup6ZLd+v54XrSdta9Q8ckcpqe5bclYbmM5VcSBfUYjo2RKMUxEA1UCtgaLo38bwNYMmO3WILO7BhIIcsBCz4jE1o8HhsQgXBYS6FAnMuIxncCxQRYW2OswRnaMxmeN3j02aFtfhc9vQCtcGvmDxdVg4gTiW6pje6pxt6oc8/vQqBR/kvB7zroVY46ehR38rHv6os7z72v1U1FDpnhz97ok96pYea9fnYxURQl+Q6nYApV2yEHvnDk7eVyeV4YZgu2atEF/RId1ytlX83rhJi+RwRbpb6uzXVYG1sVGWc4K7NIIwW9GMQI9ybcUxjHktI8rsSxzjFmdKrTCmzylyYqtRVND34EcriFwKYmCc=sha1_base64="o94cBQ0mp3sLnNhGnpiZ7XDeebU=">AAAClHichVHPK0RRFP48v8b4NSgpGxFZ6TwbksU0k7KQDAaFpveea9y8ee/13pupMc0/YGOJrCgLyZ9gxYI/wELJXpaUjYUz700J4dzuvd/97vm+e09Hd0zp+UT3NUptXX1DY6Qp2tzS2tYe6+hc8uy8a4i0YZu2u6JrnjClJdK+9E2x4rhCy+mmWNa3k5X75YJwPWlbi37REes5LWvJTWloPlPpmUxJLWdiAzRCQfT9BGoVDMS7U4/yInE9Z8cusYYN2DCQRw4CFnzGJjR4PFahguAwt44Scy4jGdwLlBFlbZ6zBGdozG7zmuXTapW1+Fzx9AK1wa+YPF1W9mGQ7uiMXuiGzumJ3n/1KgUelb8UeddDrXAy7bs9C2//qnK8+9j6VP2h0Dk7/NkDvdMz3f5Zn49NjAd1Sa7TCZhKxUboUdjZf1mYmB8sDdEJe93RMd3TFVdrFV6N05SYP0KUm6V+b81PsDQ6ojJOcdcSCCOCXvRjmHszhjimMYc0vyuxhwMcKt3KpJJUpsJUpaaq6cKXUGY/AHdImeM=sha1_base64="8AU6ZOM6aE2Ojt77nrvkf8mDEb0=">AAAClHichVG7SgNBFD2u7/hIVBDBRgwRq3DXRhGLYBAsRBI1KmgIu+tEBze7y+4moCE/YGOpYqVgIX6DlY1+gIXgD4ilgo2FN5sFUVHvMDNnztxzZi5Xd0zp+UQPTUpzS2tbe0dnpKu7pzca6+tf9eyya4icYZu2u65rnjClJXK+9E2x7rhCK+mmWNN30/X7tYpwPWlbK/6eI/IlbduSRWloPlO5hUJVrRVicUpSECM/gRqCOMLI2LFrbGILNgyUUYKABZ+xCQ0ejw2oIDjM5VFlzmUkg3uBGiKsLXOW4AyN2V1et/m0EbIWn+ueXqA2+BWTp8vKESToni7phW7pip7o/VevauBR/8se73pDK5xC9GBo+e1fVYl3Hzufqj8UOmc3fvZI7/RMd3/W56OIqaAuyXU6AVOv2Gh4VPaPXpanlxLVMTpnr3s6owe64WqtyqtxkRVLp4hws9TvrfkJVieSKuMsxVOzYds6MIxRjHNvJpHCPDLI8bsShzjGiTKozChpZa6RqjSFmgF8CWXxAzWalkI= 1 L = L + L 2L L cos (null) 2 1 1 2 2 2 (null) 2 2 2 ✓AAACmXichVG7SgNBFD2u7/hIVBDBRhTFKty1Uax8NMHKGKPig7i7TpIlm91ldxLQ4A9YCxaioGAhfoOVjX6ARUDsxVLBxsKb3YCoqHeYmTNn7jkzl6u7lulLomqD0tjU3NLa1h7p6OzqjsZ6eld8p+QZIm04luOt6ZovLNMWaWlKS6y5ntCKuiVW9cJ87X61LDzfdOxlueuKraKWs82saWiSqfVNmRdSy1TU/UxshOIUxNBPoNbByEx/8nEbwKITu8YmduDAQAlFCNiQjC1o8HlsQAXBZW4LFeY8RmZwL7CPCGtLnCU4Q2O2wGuOTxt11uZzzdMP1Aa/YvH0WDmEUbqnS3qhW7qiJ3r/1asSeNT+ssu7HmqFm4keDKTe/lUVeZfIf6r+UOicHf7sgd7pme7+rE8ii6mgLpPrdAOmVrERepT3jl5S00ujlTE6Z697OqMq3XC1dvnVuEiKpWNEuFnq99b8BCsTcZVxkrs2hzDaMIhhjHNvJjGDBBaR5ndtHOIEp8qgMqsklIUwVWmoa/rwJZTUB3gNmn8=sha1_base64="FKvQ4FHhMlddzSwr3TszAUykU/c=">AAACmXichVHLLgRBFD3aa4zXIBGJjRBiJbdtiBVjI1bGGMQjk+5WTEVPd6e7ZhImfsBaYiEkJBYiPsGKBR9gIRF7sSSxsXCnexJBcCtVderUPafq5pqeLQNFdF+lVdfU1tXHGuKNTc0trYm29vnALfiWyFiu7fqLphEIWzoio6SyxaLnCyNv2mLB3Jws3y8UhR9I15lTW55YzRsbjlyXlqGYWlpROaGMbEnfySb6aIjC6PkJ9AroG+9MPcqL5PWMm7jECtbgwkIBeQg4UIxtGAh4LEMHwWNuFSXmfEYyvBfYQZy1Bc4SnGEwu8nrBp+WK6zD57JnEKotfsXm6bOyB/10R2f0Qjd0Tk/0/qtXKfQo/2WLdzPSCi/butuVfvtXleddIfep+kNhcnb0swd6p2e6/bM+hXWMhnVJrtMLmXLFVuRR3N5/SY/N9pcG6IS97uiY7umKq3WKr9ZpSsweIM7N0r+35ieYHx7SGae4a0lEEUM3ejHIvRnBOKYwgwy/62APhzjSurUJbUqbjlK1qoqmA19CS38A7L2cOw==sha1_base64="arzcYrHYG6j1a6ZrDaZU+kZZGko=">AAACmXichVG7SgNBFD2urxhfURvBRgyKldy1Uax8NMEqMSYRo4TdddQlm91ldxKIIT9gLViIgoKF+A1WNvoBFoI/IJYKNim82SyIinqHmTlz5p4zc7m6a5m+JHpsU9o7Oru6Iz3R3r7+gcHY0HDWd8qeITKGYznehq75wjJtkZGmtMSG6wmtpFsipxdXmve5ivB807HXZdUV2yVtzzZ3TUOTTG1uyX0htUJNrRdicZqhIMZ/AjUEcYSRdGI32MIOHBgoowQBG5KxBQ0+jzxUEFzmtlFjzmNkBvcCdURZW+YswRkas0Ve9/iUD1mbz01PP1Ab/IrF02PlOCbpga7ole7omp6p8atXLfBo/qXKu97SCrcweDiafv9XVeJdYv9T9YdC5+zWz56oQS90/2d9EruYD+oyuU43YJoVGy2PysHxa3phbbI2RRfs9UDn9Ei3XK1deTMuU2LtBFFulvq9NT9BdnZGZZyi+OJy2LYIxjCBae7NHBaRQBIZftfGEU5xpowpS0pCWW2lKm2hZgRfQkl/AKsPmJo= 1 L + L L L + L L cos ↵ = 1 2 1 2 xAAACkHichVE9SwNBEH05v+NXjI1gEwyKlUxsDIIkaiNWJjEaiCJ356qHl7vj7hKMQbDWVrGwUrAQf4OVhfoDUgT8A2IZwcbCyV1AVNRZdvft23lvdxjF0jXHJaoFpJbWtvaOzq5gd09vX39oILzimEVbFVnV1E07p8iO0DVDZF3N1UXOsoVcUHSxquzON+5XS8J2NNNYdsuWWC/I24a2pamyy1RqbyMUpQnyIvITxJogmrgPzhwCWDJDt1jDJkyoKKIAAQMuYx0yHB55xECwmFtHhTmbkebdCxwgyNoiZwnOkJnd5XWbT/kma/C54el4apVf0XnarIxglKp0TXV6oBt6pvdfvSqeR+MvZd4VXyusjf6joczbv6oC7y52PlV/KBTO9n/2RO/0Qo9/1udiC3GvLo3rtDymUbHqe5T2z+qZ6fRoZYwu2atKF1SjO67WKL2qVymRPkeQmxX73pqfYGVyIsY4RdHkHPzoxDBGMM69mUISC1hClt8VOMYJTqWwFJcS0qyfKgWamkF8CWnxA0W8los=sha1_base64="8Qzt2+y04boPKnW8x9C1qgCr3X4=">AAACkHichVFNLwNRFD3GV42vqo3EptEQK7m1IRLxtRErLaUJjcyM15p0OjOZmTaq8QfYEgsrxEL8BisL/AARiT8gliQ2XbidaSII7st777zz7jnv3VzVNnTXI3pskBqbmltaQ21ye0dnV3e4J7LiWkVHEynNMiwnrSquMHRTpDzdM0TadoRSUA2xqubnaverJeG4umUue2VbZApKztSzuqZ4TCW2N8IxGiE/oj9BvA5iUzfypH32IC9a4SusYxMWNBRRgIAJj7EBBS6PNcRBsJnLoMKcw0j37wV2IbO2yFmCMxRm87zm+LRWZ00+1zxdX63xKwZPh5VRDNI9XdAr3dIlPVP1V6+K71H7S5l3NdAKe6N7r2/p/V9VgXcPW5+qPxQqZwc/e6IqvdDdn/V5yGLcr0vnOm2fqVWsBR6lnaPXpYnkYGWITtnrnk7oka65WrP0pp0nRPIYMjcr/r01P8HK6EiccYJi07MIIoR+DGCYezOGacxjESl+V2AfBziUItK4NCXNBKlSQ13Tiy8hLXwAK3qX/w==sha1_base64="R4fryOHUFpwoFYEWUQH0pGDlWjU=">AAACkHichVFNLwNRFD3GV9VHqzYSm0ZTsZJbG42NYiNWrSqSEpkZD5NOZyYz00Y1/gBbYmFFYiF+g5UNP6ALiT8gliQ2Fu58JILgvrz3zjvvnvPezVUsXXNcooc2qb2js6s70hPt7esfiMUHEyuOWbNVUVJN3bTXFNkRumaIkqu5ulizbCFXFV2sKpV57361LmxHM41lt2GJjaq8Y2jbmiq7TBX2NuMpmiA/kj9BJgQphJE34zdYxxZMqKihCgEDLmMdMhweZWRAsJjbQJM5m5Hm3wscIMraGmcJzpCZrfC6w6dyyBp89jwdX63yKzpPm5VJpKlFV/RCd3RNT/T+q1fT9/D+0uBdCbTC2owdDhff/lVVeXex+6n6Q6FwdvCzR3qnZ7r/sz4X28j6dWlcp+UzXsVq4FHfP30pTi+lm2N0wV4tOqcHuuVqjfqrelkQS2eIcrMy31vzE6xMTmQYFyiVmwvbFsEIRjHOvZlCDgvIo8TvChzhGCdSQspKM9JskCq1hZohfAlp8QOn3pS+ cos =

(null) 2L L O 1 2 (null) 2L1L Non-redundant manipulator y End effector: 2 degrees of freedom (DoF) tan =

Joint angles: 2 degrees of freedom (DoF) (null) x 14 Inverse Kinematics for 2-link 2-joint Manipulator (x, y) (✓ , ✓ ) (null) 1 2 ! ✓1 = yAAACkHichVE9LwRRFD3G11ofu1YjoRBCVHJXY6OxaES1HxYJIjPjYbLzlZnZTdbGH6AlChWJQvwBjUrDD9hiE4VWlCQahTszmwiC+/LeO++8e857N1exdc31iOpNUnNLa1t7pCPa2dXdE4v3JpZdq+SooqBauuWsKrIrdM0UBU/zdLFqO0I2FF2sKMV5/36lLBxXs8wlr2KLDUPeMbVtTZU9prKVzfgITVAQQz9BsgFG0oPX2UcAGSt+g3VswYKKEgwImPAY65Dh8lhDEgSbuQ1UmXMYacG9wD6irC1xluAMmdkirzt8WmuwJp99TzdQq/yKztNh5RBGqUaX9EJ3dEVP9P6rVzXw8P9S4V0JtcLejB3059/+VRm8e9j9VP2hUDg7/NkDvdMz3f9Zn4dtpIK6NK7TDhi/YjX0KO+dvOSnc6PVMTpnrxqdUZ1uuVqz/KpeZEXuFFFuVvJ7a36C5cmJJOMsd20OYUQwgGGMc2+mkMYCMijwuwKHOMKxlJBS0ow0G6ZKTQ1NH76EtPgBN2qXBA==sha1_base64="Mw29lhQOTZimep2s3X+yfHEDTOU=">AAACkHichVE9SwNBEH05v2L8irERFBFFsZKJjcHGqI1YJcaYQBS5O1c9crk77i6BGCxttFUsrBQsxD9gY2WjPyCF4B8Qywg2KZzcBURFnWV3376d93aHUSxdc1yip4DU0trW3hHsDHV19/T2hfsj645ZtFWRVk3dtLOK7AhdM0Ta1VxdZC1byAVFFxklv9S4z5SE7WimseaWLbFZkHcNbUdTZZepZHkrPE7T5MXoTxBtgvH48G3y9XDkNmGG77CBbZhQUUQBAgZcxjpkODxyiIJgMbeJCnM2I827FzhAiLVFzhKcITOb53WXT7kma/C54el4apVf0XnarBzFBFXpmmr0QDf0QvVfvSqeR+MvZd4VXyusrb6jwdT7v6oC7y72PlV/KBTO9n/2THV6pcc/63Oxg5hXl8Z1Wh7TqFj1PUr7Z7XU3OpEZZIu2atKF/RE91ytUXpTr5Ji9Rwhblb0e2t+gvWZ6SjjJHdtEX4EMYQxTHFvZhHHMhJI87sCxzjBqRSRYtK8tOCnSoGmZgBfQlr5AACumGo=sha1_base64="zIPGonXmtQYbyMybYc2drnAQEUM=">AAACkHichVG7SgNBFD2u7/hI1EawCYaIVbixMdj4asTKqIlCDLK7jrpks7vsbgIx+APaKhZWChbiN1jZ6AekCPgDYqlgk8K7DxAV4x1m5syZe87M5SqWrjkuUbND6uzq7unt648MDA4NR2Mjo3nHrNiqyKmmbtrbiuwIXTNEztVcXWxbtpDLii62lNKyd79VFbajmcamW7NEsSwfGNq+psouU9nabixBKfIj/hukQ5BAGGtm7B472IMJFRWUIWDAZaxDhsOjgDQIFnNF1JmzGWn+vcAxIqytcJbgDJnZEq8HfCqErMFnz9Px1Sq/ovO0WRlHkhp0S2/0SHf0Qq0/veq+h/eXGu9KoBXWbvRkfOPjX1WZdxeHX6o2CoWzg589U4te6altfS72kfHr0rhOy2e8itXAo3p08bYxt56sT9E1ezXoipr0wNUa1Xf1JivWLxHhZqV/tuY3yM+k0oyzlFhYCtvWhwlMYpp7M4sFrGANOX5X4BRnOJdGpYw0Ly0GqVJHqBnDt5BWPwGqCpS/ (x, y) AAAClXichVFNLwNRFD3Gd320WJDYNKRSIXJrQyQSQcTOR7Wa0DQz42GYzkxmpo1q/AErO8EGiYX4DVY2/IAuJP6AWJLYWLidaSI0uC/vvfPOu+e8d3MVS9ccl+ixRqqtq29obGoOtLS2tQdDHZ1Jx8zZqkiopm7aKUV2hK4ZIuFqri5Sli3krKKLVWV3pny/mhe2o5nGiluwRDorbxnapqbKLlPJ6N5wuDCYCfXTCHkRrgaxCuif6lsfOgewaIZusY4NmFCRQxYCBlzGOmQ4PNYQA8FiLo0iczYjzbsXOECAtTnOEpwhM7vL6xaf1iqsweeyp+OpVX5F52mzMowIleiaXumebuiZPn71Knoe5b8UeFd8rbAywcOe+Pu/qizvLra/VH8oFM72f/ZEH/RCD3/W52IT415dGtdpeUy5YtX3yO8fv8YnliPFAbpkrxJd0CPdcbVG/k29WhLLZwhws2I/W1MNkqMjMcZL3LVp+NGEXvQhyr0ZwxTmsYgEv7uDI5zgVOqWJqVZac5PlWoqmi58C2nhE9f+l48=sha1_base64="BAzAkeqayfwfK+x6gu6sYN57hF4=">AAAClXichVFNLwNRFD0dX1UfLRYkNg0hhMitDZFIGkTs0GpJkGZmPAzTmcnMtFGNP2BlIRGsSCzEb7Cy4QdYNPEHxJLExsLtTBOhwX1575133j3nvZurWLrmuESlgFRTW1ffEGwMNTW3tIYjbe1px8zZqkippm7aK4rsCF0zRMrVXF2sWLaQs4oulpXd6fL9cl7YjmYaS27BEutZecvQNjVVdplKD+wNRwuDmUgvjZAX0WoQq4DeeM/a0HEpXlgwI7dYwwZMqMghCwEDLmMdMhweq4iBYDG3jiJzNiPNuxc4QIi1Oc4SnCEzu8vrFp9WK6zB57Kn46lVfkXnabMyij56pGt6pXu6oWf6+NWr6HmU/1LgXfG1wsqED7uS7/+qsry72P5S/aFQONv/2RN90As9/Fmfi02Me3VpXKflMeWKVd8jv3/ympxI9BX76ZK9HumCSnTH1Rr5N/VqUSTOEeJmxX62phqkR0dijBe5a1PwI4hu9GCAezOGOOawgBS/u4MjnOJM6pQmpRlp1k+VAhVNB76FNP8J4WeZFQ==sha1_base64="GfCnE4dYsDZit9/R7pos/AdPMHE=">AAAClXichVFNLwNRFD0d3/VVLEhsGg2pROTWhkgkDSJ2+qGtBJGZ8TBMZyYz00Y1/oCVnWBFYiF+g5UNP8BC4g+IZSU2Fm6nkwgN7st777zz7jnv3VzF0jXHJXoKSA2NTc0trW3B9o7Oru5QT2/WMQu2KjKqqZv2iiI7QtcMkXE1Vxcrli3kvKKLnLI3V73PFYXtaKax7JYssZ6Xtw1tS1Nll6lsdH8sXBrdCEVonLwI14OYDyLwI2GGbrGGTZhQUUAeAgZcxjpkODxWEQPBYm4dZeZsRpp3L3CIIGsLnCU4Q2Z2j9dtPq36rMHnqqfjqVV+RedpszKMYXqka6rQPd3QC3386lX2PKp/KfGu1LTC2ug+Gki//6vK8+5i50v1h0Lh7NrPnumDXunhz/pcbGHKq0vjOi2PqVas1jyKByeV9HRquDxCl+z1SBf0RHdcrVF8U6+SInWOIDcr9rM19SA7MR5jnKRIfNZvWysGMYQo92YScSwigQy/u4tjnOJM6pdmpHlpoZYqBXxNH76FtPQJw4iWBg== P (✓2 = ⇡ ↵ (null)

LAAAClHichVE9SwNBEH2e3/EjUUEEm6BErMIkjSIWoggWIkaNClHi3bmJi5e74+4S0OAfsLFUsVKwEH+DlY3+AIuA2Iulgo2Fk7uAqBhn2d23b+e93WE025CuR1RpUBqbmlta29pDHZ1d3eFIT++qaxUdXaR1y7CcdU11hSFNkfakZ4h12xFqQTPEmrY7U71fKwnHlZa54u3ZYrOg5k2Zk7rqMZWez5aTB9nIMMXJj+hvkKiB4an+1NMWgEUrcoMNbMOCjiIKEDDhMTagwuWRQQIEm7lNlJlzGEn/XuAAIdYWOUtwhsrsLq95PmVqrMnnqqfrq3V+xeDpsDKKGD3QFb3SHV3TM3386VX2Pap/2eNdC7TCzoYPB5bf/1UVePew86Wqo9A4O/jZI33QC93Xrc9DDuN+XZLrtH2mWrEeeJT2j1+XJ5Zi5RG6YK8HOqcK3XK1ZulNv0yJpTOEuFmJn635DVaT8QTjFHdtGkG0YRBDGOXejGEKc1hEmt+VOMIJTpV+ZVKZUWaDVKWhpunDt1AWPgEExZgosha1_base64="2N9SQ/hdagPKnmScCl/oofHokzM=">AAAClHichVE9SwNBEH2eXzF+RYUg2IiiWMnERhELMQgWIkaNClHC3bnGxcvdcXcJaMgfsLFUsVKwEPEnWGmhP8BCEHuxVLBJ4eQuIBqMs+zu27fz3u4wmm1I1yN6qlPqGxqbmkMt4da29o7OSFf3qmvlHF0kdcuwnHVNdYUhTZH0pGeIddsRalYzxJq2Gy/fr+WF40rLXPH2bLGZVTOm3Ja66jGVnE8XxorpyCCNkh/91SBWAYPT0cSLvJ65W7QiN9jAFizoyCELARMeYwMqXB4pxECwmdtEgTmHkfTvBYoIszbHWYIzVGZ3ec3wKVVhTT6XPV1frfMrBk+Hlf0Yoke6pHe6pyt6pdKfXgXfo/yXPd61QCvsdOdB7/Lnv6os7x52vlU1FBpnBz97phK90UPN+jxsY8KvS3Kdts+UK9YDj/z+0fvy5NJQYZjO2euRzuiJbrlaM/+hXyTE0inC3KzY79ZUg9Wx0RjjBHdtBkGE0IcBjHBvxjGNOSwiye9KHOIYJ0pUmVLiymyQqtRVND34EcrCF3l1meQ=sha1_base64="A5tTMvTMZh9R/wdPpveJvzAKa78=">AAAClHichVG7SgNBFD1Z3/GRqCCCTTAoVuHGRhELUQQLEV/RgIawu45xcLO77G4CGvwBG0sVKwUL8RusbPQDUgT8AbFUsEnhzWZBNBjvMDNnztxzZi5Xsw3pekSVkNLS2tbe0dkV7u7p7YtE+we2XKvg6CKlW4blpDXVFYY0RcqTniHStiPUvGaIbe1woXa/XRSOKy1z0zuyRSav5ky5L3XVYyq1nC1NnmSjcUqQH7FGkAxAHEGsWtEH7GIPFnQUkIeACY+xARUujx0kQbCZy6DEnMNI+vcCJwiztsBZgjNUZg95zfFpJ2BNPtc8XV+t8ysGT4eVMYxRme7onZ7onl6p+qdXyfeo/eWId62uFXY2cjq88fmvKs+7h4NvVROFxtn1n71Qld7ouWl9HvYx7dcluU7bZ2oV63WP4vH5+8bM+lhpnG7Yq0zXVKFHrtYsfui3a2L9CmFuVvJ3axrB1mQiyXiN4nPzQds6MYJRTHBvpjCHJawixe9KnOECl8qQMqssKIv1VCUUaAbxI5SVLzfHlkM= 2 By using “inverse trigonometric functions”,

(null) 2 2 2 ✓AAACmXichVG7SgNBFD2u7/hIVBAhjSiKldzYKFZRm2BlEqPig7i7jrq4L3YnAQ35AWvBQhQULMRvsLLRD7AQxF4sFWwsvLsbEBX1DjNz5sw9Z+ZyNdc0fEl0X6fUNzQ2Nbe0xtraOzrjia7uBd8peboo6I7peEua6gvTsEVBGtIUS64nVEszxaK2MxPcL5aF5xuOPS93XbFmqVu2sWnoqmRqeVVuC6kWK2PVYmKQRimM/p8gVQOD6d7s4zqAOSdxhVVswIGOEiwI2JCMTajweawgBYLL3BoqzHmMjPBeoIoYa0ucJThDZXaH1y0+rdRYm8+Bpx+qdX7F5Omxsh9DdEcX9EI3dElP9P6rVyX0CP6yy7sWaYVbjO/35d/+VVm8S2x/qv5QaJwd/eyB3umZbv+sT2ITE2FdBtfphkxQsR55lPcOX/KTuaHKMJ2x1x2d0j1dc7V2+VU/z4rcEWLcrNT31vwEC2OjKcZZ7to0omhBEgMY4d6MI40M5lDgd20c4BgnSlKZUjLKbJSq1NU0PfgSSv4DejqagA==sha1_base64="cZOtwTbCBK4nsk8VKP2w6JBV0ks=">AAACmXichVG7SgNBFD2u7/iKCiKkEUWxkhsbxcpHI1YmMSpGCbvraAY3u8vuJKDBH7AWLERBwULET7DSQj8ghSD2YqlgY+HNbkBU1DvMzJkz95yZyzVcS/qK6L5Gq62rb2hsao60tLa1d0Q7uxZ9p+CZIm06luMtG7ovLGmLtJLKEsuuJ/S8YYklY2umcr9UFJ4vHXtBbbtiLa9v2nJDmrpiamVV5YTSs6XR3Wx0gEYoiL6fIF4FA5M9iUd5OX0z70SvsIp1ODBRQB4CNhRjCzp8HhnEQXCZW0OJOY+RDO4FdhFhbYGzBGfozG7xusmnTJW1+Vzx9AO1ya9YPD1W9mGQynROL3RLF/RE7796lQKPyl+2eTdCrXCzHXu9qbd/VXneFXKfqj8UBmeHP3ugd3qmuz/rU9jAeFCX5DrdgKlUbIYexZ2Dl9REcrA0RKfsVaYTuqdrrtYuvppnCZE8RISbFf/emp9gcXQkzjjBXZtGGE2IoR/D3JsxTGIW80jzuzb2cYRjLaZNabPaXJiq1VQ13fgSWuoD7uqcPA==sha1_base64="jYNnen75qCuqIwrE0gVqdapgc+Y=">AAACmXichVG7SgNBFD2urxhfURvBJhgUK7mxUax8NGJlEhPFB2F3HZMlm91ldxLQkB+wFixEQcFC/AYrG/2AFAF/QCwVbCy82SyIBuMdZubMmXvOzOVqjml4kqjeoXR2dff0hvrC/QODQ8ORkdGMZ5dcXaR127TdbU31hGlYIi0NaYptxxVqUTPFllZYbdxvlYXrGba1KY8csV9Uc5ZxaOiqZGpnT+aFVLOVuWo2EqNZ8iPaCuIBiCGIDTtyjz0cwIaOEooQsCAZm1Dh8dhFHASHuX1UmHMZGf69QBVh1pY4S3CGymyB1xyfdgPW4nPD0/PVOr9i8nRZGcUU1eiW3uiR7uiFPv/0qvgejb8c8a41tcLJDp+Mpz7+VRV5l8h/q9ooNM5u/uyZPumVntrWJ3GIBb8ug+t0fKZRsd70KB+fvaUWk1OVabpmrxpdUZ0euFqr/K7fJETyHGFuVvx3a1pBZm42zjhBsaWVoG0hTGASM9ybeSxhDRtI87sWTnGBS2VCWVbWlPVmqtIRaMbwI5TUF608mJs= 2 ↵ y L1 + L L2 ✓1 = arctan arccos

(null) x 2L1L

(null) A 2 2 2 LAAAClHichVE9SwNBEH2e3/EjUUEEG1EiVjJno4iFKIKFiFGjgoZ4d6665HJ33F0CGvIHbCxVrBQsxN9gZaM/IIUg9mKpYGPh5C4gGoyz7O7bt/Pe7jC6Y0rPJ3qsU+obGpuaW1ojbe0dndFYV/eaZ+dcQyQN27TdDV3zhCktkfSlb4oNxxVaVjfFup6ZLd+v54XrSdta9Q8ckcpqe5bclYbmM5VcSBfUYjo2RKMUxEA1UCtgaLo38bwNYMmO3WILO7BhIIcsBCz4jE1o8HhsQgXBYS6FAnMuIxncCxQRYW2OswRnaMxmeN3j02aFtfhc9vQCtcGvmDxdVg4gTiW6pje6pxt6oc8/vQqBR/kvB7zroVY46ehR38rHv6os7z72v1U1FDpnhz97ok96pYea9fnYxURQl+Q6nYApV2yEHvnDk7eVyeV4YZgu2atEF/RId1ytlX83rhJi+RwRbpb6uzXVYG1sVGWc4K7NIIwW9GMQI9ybcUxjHktI8rsSxzjFmdKrTCmzylyYqtRVND34EcriFwKYmCc=sha1_base64="o94cBQ0mp3sLnNhGnpiZ7XDeebU=">AAAClHichVHPK0RRFP48v8b4NSgpGxFZ6TwbksU0k7KQDAaFpveea9y8ee/13pupMc0/YGOJrCgLyZ9gxYI/wELJXpaUjYUz700J4dzuvd/97vm+e09Hd0zp+UT3NUptXX1DY6Qp2tzS2tYe6+hc8uy8a4i0YZu2u6JrnjClJdK+9E2x4rhCy+mmWNa3k5X75YJwPWlbi37REes5LWvJTWloPlPpmUxJLWdiAzRCQfT9BGoVDMS7U4/yInE9Z8cusYYN2DCQRw4CFnzGJjR4PFahguAwt44Scy4jGdwLlBFlbZ6zBGdozG7zmuXTapW1+Fzx9AK1wa+YPF1W9mGQ7uiMXuiGzumJ3n/1KgUelb8UeddDrXAy7bs9C2//qnK8+9j6VP2h0Dk7/NkDvdMz3f5Zn49NjAd1Sa7TCZhKxUboUdjZf1mYmB8sDdEJe93RMd3TFVdrFV6N05SYP0KUm6V+b81PsDQ6ojJOcdcSCCOCXvRjmHszhjimMYc0vyuxhwMcKt3KpJJUpsJUpaaq6cKXUGY/AHdImeM=sha1_base64="8AU6ZOM6aE2Ojt77nrvkf8mDEb0=">AAAClHichVG7SgNBFD2u7/hIVBDBRgwRq3DXRhGLYBAsRBI1KmgIu+tEBze7y+4moCE/YGOpYqVgIX6DlY1+gIXgD4ilgo2FN5sFUVHvMDNnztxzZi5Xd0zp+UQPTUpzS2tbe0dnpKu7pzca6+tf9eyya4icYZu2u65rnjClJXK+9E2x7rhCK+mmWNN30/X7tYpwPWlbK/6eI/IlbduSRWloPlO5hUJVrRVicUpSECM/gRqCOMLI2LFrbGILNgyUUYKABZ+xCQ0ejw2oIDjM5VFlzmUkg3uBGiKsLXOW4AyN2V1et/m0EbIWn+ueXqA2+BWTp8vKESToni7phW7pip7o/VevauBR/8se73pDK5xC9GBo+e1fVYl3Hzufqj8UOmc3fvZI7/RMd3/W56OIqaAuyXU6AVOv2Gh4VPaPXpanlxLVMTpnr3s6owe64WqtyqtxkRVLp4hws9TvrfkJVieSKuMsxVOzYds6MIxRjHNvJpHCPDLI8bsShzjGiTKozChpZa6RqjSFmgF8CWXxAzWalkI= 1 L1 + L2 L ✓2 = ⇡ arccos

(null) 2L L (null) 1 2 ✓AAACmXichVG7SgNBFD2u7/hIVBDBRhTFKty1Uax8NMHKGKPig7i7TpIlm91ldxLQ4A9YCxaioGAhfoOVjX6ARUDsxVLBxsKb3YCoqHeYmTNn7jkzl6u7lulLomqD0tjU3NLa1h7p6OzqjsZ6eld8p+QZIm04luOt6ZovLNMWaWlKS6y5ntCKuiVW9cJ87X61LDzfdOxlueuKraKWs82saWiSqfVNmRdSy1TU/UxshOIUxNBPoNbByEx/8nEbwKITu8YmduDAQAlFCNiQjC1o8HlsQAXBZW4LFeY8RmZwL7CPCGtLnCU4Q2O2wGuOTxt11uZzzdMP1Aa/YvH0WDmEUbqnS3qhW7qiJ3r/1asSeNT+ssu7HmqFm4keDKTe/lUVeZfIf6r+UOicHf7sgd7pme7+rE8ii6mgLpPrdAOmVrERepT3jl5S00ujlTE6Z697OqMq3XC1dvnVuEiKpWNEuFnq99b8BCsTcZVxkrs2hzDaMIhhjHNvJjGDBBaR5ndtHOIEp8qgMqsklIUwVWmoa/rwJZTUB3gNmn8=sha1_base64="FKvQ4FHhMlddzSwr3TszAUykU/c=">AAACmXichVHLLgRBFD3aa4zXIBGJjRBiJbdtiBVjI1bGGMQjk+5WTEVPd6e7ZhImfsBaYiEkJBYiPsGKBR9gIRF7sSSxsXCnexJBcCtVderUPafq5pqeLQNFdF+lVdfU1tXHGuKNTc0trYm29vnALfiWyFiu7fqLphEIWzoio6SyxaLnCyNv2mLB3Jws3y8UhR9I15lTW55YzRsbjlyXlqGYWlpROaGMbEnfySb6aIjC6PkJ9AroG+9MPcqL5PWMm7jECtbgwkIBeQg4UIxtGAh4LEMHwWNuFSXmfEYyvBfYQZy1Bc4SnGEwu8nrBp+WK6zD57JnEKotfsXm6bOyB/10R2f0Qjd0Tk/0/qtXKfQo/2WLdzPSCi/butuVfvtXleddIfep+kNhcnb0swd6p2e6/bM+hXWMhnVJrtMLmXLFVuRR3N5/SY/N9pcG6IS97uiY7umKq3WKr9ZpSsweIM7N0r+35ieYHx7SGae4a0lEEUM3ejHIvRnBOKYwgwy/62APhzjSurUJbUqbjlK1qoqmA19CS38A7L2cOw==sha1_base64="arzcYrHYG6j1a6ZrDaZU+kZZGko=">AAACmXichVG7SgNBFD2urxhfURvBRgyKldy1Uax8NMEqMSYRo4TdddQlm91ldxKIIT9gLViIgoKF+A1WNvoBFoI/IJYKNim82SyIinqHmTlz5p4zc7m6a5m+JHpsU9o7Oru6Iz3R3r7+gcHY0HDWd8qeITKGYznehq75wjJtkZGmtMSG6wmtpFsipxdXmve5ivB807HXZdUV2yVtzzZ3TUOTTG1uyX0htUJNrRdicZqhIMZ/AjUEcYSRdGI32MIOHBgoowQBG5KxBQ0+jzxUEFzmtlFjzmNkBvcCdURZW+YswRkas0Ve9/iUD1mbz01PP1Ab/IrF02PlOCbpga7ole7omp6p8atXLfBo/qXKu97SCrcweDiafv9XVeJdYv9T9YdC5+zWz56oQS90/2d9EruYD+oyuU43YJoVGy2PysHxa3phbbI2RRfs9UDn9Ei3XK1deTMuU2LtBFFulvq9NT9BdnZGZZyi+OJy2LYIxjCBae7NHBaRQBIZftfGEU5xpowpS0pCWW2lKm2hZgRfQkl/AKsPmJo= 1

O xAAACkHichVE9SwNBEH05v+NXjI1gEwyKlUxsDIIkaiNWJjEaiCJ356qHl7vj7hKMQbDWVrGwUrAQf4OVhfoDUgT8A2IZwcbCyV1AVNRZdvft23lvdxjF0jXHJaoFpJbWtvaOzq5gd09vX39oILzimEVbFVnV1E07p8iO0DVDZF3N1UXOsoVcUHSxquzON+5XS8J2NNNYdsuWWC/I24a2pamyy1RqbyMUpQnyIvITxJogmrgPzhwCWDJDt1jDJkyoKKIAAQMuYx0yHB55xECwmFtHhTmbkebdCxwgyNoiZwnOkJnd5XWbT/kma/C54el4apVf0XnarIxglKp0TXV6oBt6pvdfvSqeR+MvZd4VXyusjf6joczbv6oC7y52PlV/KBTO9n/2RO/0Qo9/1udiC3GvLo3rtDymUbHqe5T2z+qZ6fRoZYwu2atKF1SjO67WKL2qVymRPkeQmxX73pqfYGVyIsY4RdHkHPzoxDBGMM69mUISC1hClt8VOMYJTqWwFJcS0qyfKgWamkF8CWnxA0W8los=sha1_base64="8Qzt2+y04boPKnW8x9C1qgCr3X4=">AAACkHichVFNLwNRFD3GV42vqo3EptEQK7m1IRLxtRErLaUJjcyM15p0OjOZmTaq8QfYEgsrxEL8BisL/AARiT8gliQ2XbidaSII7st777zz7jnv3VzVNnTXI3pskBqbmltaQ21ye0dnV3e4J7LiWkVHEynNMiwnrSquMHRTpDzdM0TadoRSUA2xqubnaverJeG4umUue2VbZApKztSzuqZ4TCW2N8IxGiE/oj9BvA5iUzfypH32IC9a4SusYxMWNBRRgIAJj7EBBS6PNcRBsJnLoMKcw0j37wV2IbO2yFmCMxRm87zm+LRWZ00+1zxdX63xKwZPh5VRDNI9XdAr3dIlPVP1V6+K71H7S5l3NdAKe6N7r2/p/V9VgXcPW5+qPxQqZwc/e6IqvdDdn/V5yGLcr0vnOm2fqVWsBR6lnaPXpYnkYGWITtnrnk7oka65WrP0pp0nRPIYMjcr/r01P8HK6EiccYJi07MIIoR+DGCYezOGacxjESl+V2AfBziUItK4NCXNBKlSQ13Tiy8hLXwAK3qX/w==sha1_base64="R4fryOHUFpwoFYEWUQH0pGDlWjU=">AAACkHichVFNLwNRFD3GV9VHqzYSm0ZTsZJbG42NYiNWrSqSEpkZD5NOZyYz00Y1/gBbYmFFYiF+g5UNP6ALiT8gliQ2Fu58JILgvrz3zjvvnvPezVUsXXNcooc2qb2js6s70hPt7esfiMUHEyuOWbNVUVJN3bTXFNkRumaIkqu5ulizbCFXFV2sKpV57361LmxHM41lt2GJjaq8Y2jbmiq7TBX2NuMpmiA/kj9BJgQphJE34zdYxxZMqKihCgEDLmMdMhweZWRAsJjbQJM5m5Hm3wscIMraGmcJzpCZrfC6w6dyyBp89jwdX63yKzpPm5VJpKlFV/RCd3RNT/T+q1fT9/D+0uBdCbTC2owdDhff/lVVeXex+6n6Q6FwdvCzR3qnZ7r/sz4X28j6dWlcp+UzXsVq4FHfP30pTi+lm2N0wV4tOqcHuuVqjfqrelkQS2eIcrMy31vzE6xMTmQYFyiVmwvbFsEIRjHOvZlCDgvIo8TvChzhGCdSQspKM9JskCq1hZohfAlp8QOn3pS+ Non-redundant manipulator End effector: 2 degrees of freedom (DoF) Joint angles: 2 degrees of freedom (DoF) 15 Multiple Solutions (x, y) (✓ , ✓ ) (null) ! 1 2

yAAACkHichVE9LwRRFD3G11ofu1YjoRBCVHJXY6OxaES1HxYJIjPjYbLzlZnZTdbGH6AlChWJQvwBjUrDD9hiE4VWlCQahTszmwiC+/LeO++8e857N1exdc31iOpNUnNLa1t7pCPa2dXdE4v3JpZdq+SooqBauuWsKrIrdM0UBU/zdLFqO0I2FF2sKMV5/36lLBxXs8wlr2KLDUPeMbVtTZU9prKVzfgITVAQQz9BsgFG0oPX2UcAGSt+g3VswYKKEgwImPAY65Dh8lhDEgSbuQ1UmXMYacG9wD6irC1xluAMmdkirzt8WmuwJp99TzdQq/yKztNh5RBGqUaX9EJ3dEVP9P6rVzXw8P9S4V0JtcLejB3059/+VRm8e9j9VP2hUDg7/NkDvdMz3f9Zn4dtpIK6NK7TDhi/YjX0KO+dvOSnc6PVMTpnrxqdUZ1uuVqz/KpeZEXuFFFuVvJ7a36C5cmJJOMsd20OYUQwgGGMc2+mkMYCMijwuwKHOMKxlJBS0ow0G6ZKTQ1NH76EtPgBN2qXBA==sha1_base64="Mw29lhQOTZimep2s3X+yfHEDTOU=">AAACkHichVE9SwNBEH05v2L8irERFBFFsZKJjcHGqI1YJcaYQBS5O1c9crk77i6BGCxttFUsrBQsxD9gY2WjPyCF4B8Qywg2KZzcBURFnWV3376d93aHUSxdc1yip4DU0trW3hHsDHV19/T2hfsj645ZtFWRVk3dtLOK7AhdM0Ta1VxdZC1byAVFFxklv9S4z5SE7WimseaWLbFZkHcNbUdTZZepZHkrPE7T5MXoTxBtgvH48G3y9XDkNmGG77CBbZhQUUQBAgZcxjpkODxyiIJgMbeJCnM2I827FzhAiLVFzhKcITOb53WXT7kma/C54el4apVf0XnarBzFBFXpmmr0QDf0QvVfvSqeR+MvZd4VXyusrb6jwdT7v6oC7y72PlV/KBTO9n/2THV6pcc/63Oxg5hXl8Z1Wh7TqFj1PUr7Z7XU3OpEZZIu2atKF/RE91ytUXpTr5Ji9Rwhblb0e2t+gvWZ6SjjJHdtEX4EMYQxTHFvZhHHMhJI87sCxzjBqRSRYtK8tOCnSoGmZgBfQlr5AACumGo=sha1_base64="zIPGonXmtQYbyMybYc2drnAQEUM=">AAACkHichVG7SgNBFD2u7/hI1EawCYaIVbixMdj4asTKqIlCDLK7jrpks7vsbgIx+APaKhZWChbiN1jZ6AekCPgDYqlgk8K7DxAV4x1m5syZe87M5SqWrjkuUbND6uzq7unt648MDA4NR2Mjo3nHrNiqyKmmbtrbiuwIXTNEztVcXWxbtpDLii62lNKyd79VFbajmcamW7NEsSwfGNq+psouU9nabixBKfIj/hukQ5BAGGtm7B472IMJFRWUIWDAZaxDhsOjgDQIFnNF1JmzGWn+vcAxIqytcJbgDJnZEq8HfCqErMFnz9Px1Sq/ovO0WRlHkhp0S2/0SHf0Qq0/veq+h/eXGu9KoBXWbvRkfOPjX1WZdxeHX6o2CoWzg589U4te6altfS72kfHr0rhOy2e8itXAo3p08bYxt56sT9E1ezXoipr0wNUa1Xf1JivWLxHhZqV/tuY3yM+k0oyzlFhYCtvWhwlMYpp7M4sFrGANOX5X4BRnOJdGpYw0Ly0GqVJHqBnDt5BWPwGqCpS/ ✓1 = P or (✓2 = ⇡ ↵ (null) LAAAClHichVE9SwNBEH2e3/EjUUEEm6BErMIkjSIWoggWIkaNClHi3bmJi5e74+4S0OAfsLFUsVKwEH+DlY3+AIuA2Iulgo2Fk7uAqBhn2d23b+e93WE025CuR1RpUBqbmlta29pDHZ1d3eFIT++qaxUdXaR1y7CcdU11hSFNkfakZ4h12xFqQTPEmrY7U71fKwnHlZa54u3ZYrOg5k2Zk7rqMZWez5aTB9nIMMXJj+hvkKiB4an+1NMWgEUrcoMNbMOCjiIKEDDhMTagwuWRQQIEm7lNlJlzGEn/XuAAIdYWOUtwhsrsLq95PmVqrMnnqqfrq3V+xeDpsDKKGD3QFb3SHV3TM3386VX2Pap/2eNdC7TCzoYPB5bf/1UVePew86Wqo9A4O/jZI33QC93Xrc9DDuN+XZLrtH2mWrEeeJT2j1+XJ5Zi5RG6YK8HOqcK3XK1ZulNv0yJpTOEuFmJn635DVaT8QTjFHdtGkG0YRBDGOXejGEKc1hEmt+VOMIJTpV+ZVKZUWaDVKWhpunDt1AWPgEExZgosha1_base64="2N9SQ/hdagPKnmScCl/oofHokzM=">AAAClHichVE9SwNBEH2eXzF+RYUg2IiiWMnERhELMQgWIkaNClHC3bnGxcvdcXcJaMgfsLFUsVKwEPEnWGmhP8BCEHuxVLBJ4eQuIBqMs+zu27fz3u4wmm1I1yN6qlPqGxqbmkMt4da29o7OSFf3qmvlHF0kdcuwnHVNdYUhTZH0pGeIddsRalYzxJq2Gy/fr+WF40rLXPH2bLGZVTOm3Ja66jGVnE8XxorpyCCNkh/91SBWAYPT0cSLvJ65W7QiN9jAFizoyCELARMeYwMqXB4pxECwmdtEgTmHkfTvBYoIszbHWYIzVGZ3ec3wKVVhTT6XPV1frfMrBk+Hlf0Yoke6pHe6pyt6pdKfXgXfo/yXPd61QCvsdOdB7/Lnv6os7x52vlU1FBpnBz97phK90UPN+jxsY8KvS3Kdts+UK9YDj/z+0fvy5NJQYZjO2euRzuiJbrlaM/+hXyTE0inC3KzY79ZUg9Wx0RjjBHdtBkGE0IcBjHBvxjGNOSwiye9KHOIYJ0pUmVLiymyQqtRVND34EcrCF3l1meQ=sha1_base64="A5tTMvTMZh9R/wdPpveJvzAKa78=">AAAClHichVG7SgNBFD1Z3/GRqCCCTTAoVuHGRhELUQQLEV/RgIawu45xcLO77G4CGvwBG0sVKwUL8RusbPQDUgT8AbFUsEnhzWZBNBjvMDNnztxzZi5Xsw3pekSVkNLS2tbe0dkV7u7p7YtE+we2XKvg6CKlW4blpDXVFYY0RcqTniHStiPUvGaIbe1woXa/XRSOKy1z0zuyRSav5ky5L3XVYyq1nC1NnmSjcUqQH7FGkAxAHEGsWtEH7GIPFnQUkIeACY+xARUujx0kQbCZy6DEnMNI+vcCJwiztsBZgjNUZg95zfFpJ2BNPtc8XV+t8ysGT4eVMYxRme7onZ7onl6p+qdXyfeo/eWId62uFXY2cjq88fmvKs+7h4NvVROFxtn1n71Qld7ouWl9HvYx7dcluU7bZ2oV63WP4vH5+8bM+lhpnG7Yq0zXVKFHrtYsfui3a2L9CmFuVvJ3axrB1mQiyXiN4nPzQds6MYJRTHBvpjCHJawixe9KnOECl8qQMqssKIv1VCUUaAbxI5SVLzfHlkM= 2

(null)AAACmXichVG7SgNBFD2u7/hIVBAhjSiKldzYKFZRm2BlEqPig7i7jrq4L3YnAQ35AWvBQhQULMRvsLLRD7AQxF4sFWwsvLsbEBX1DjNz5sw9Z+ZyNdc0fEl0X6fUNzQ2Nbe0xtraOzrjia7uBd8peboo6I7peEua6gvTsEVBGtIUS64nVEszxaK2MxPcL5aF5xuOPS93XbFmqVu2sWnoqmRqeVVuC6kWK2PVYmKQRimM/p8gVQOD6d7s4zqAOSdxhVVswIGOEiwI2JCMTajweawgBYLL3BoqzHmMjPBeoIoYa0ucJThDZXaH1y0+rdRYm8+Bpx+qdX7F5Omxsh9DdEcX9EI3dElP9P6rVyX0CP6yy7sWaYVbjO/35d/+VVm8S2x/qv5QaJwd/eyB3umZbv+sT2ITE2FdBtfphkxQsR55lPcOX/KTuaHKMJ2x1x2d0j1dc7V2+VU/z4rcEWLcrNT31vwEC2OjKcZZ7to0omhBEgMY4d6MI40M5lDgd20c4BgnSlKZUjLKbJSq1NU0PfgSSv4DejqagA==sha1_base64="cZOtwTbCBK4nsk8VKP2w6JBV0ks=">AAACmXichVG7SgNBFD2u7/iKCiKkEUWxkhsbxcpHI1YmMSpGCbvraAY3u8vuJKDBH7AWLERBwULET7DSQj8ghSD2YqlgY+HNbkBU1DvMzJkz95yZyzVcS/qK6L5Gq62rb2hsao60tLa1d0Q7uxZ9p+CZIm06luMtG7ovLGmLtJLKEsuuJ/S8YYklY2umcr9UFJ4vHXtBbbtiLa9v2nJDmrpiamVV5YTSs6XR3Wx0gEYoiL6fIF4FA5M9iUd5OX0z70SvsIp1ODBRQB4CNhRjCzp8HhnEQXCZW0OJOY+RDO4FdhFhbYGzBGfozG7xusmnTJW1+Vzx9AO1ya9YPD1W9mGQynROL3RLF/RE7796lQKPyl+2eTdCrXCzHXu9qbd/VXneFXKfqj8UBmeHP3ugd3qmuz/rU9jAeFCX5DrdgKlUbIYexZ2Dl9REcrA0RKfsVaYTuqdrrtYuvppnCZE8RISbFf/emp9gcXQkzjjBXZtGGE2IoR/D3JsxTGIW80jzuzb2cYRjLaZNabPaXJiq1VQ13fgSWuoD7uqcPA==sha1_base64="jYNnen75qCuqIwrE0gVqdapgc+Y=">AAACmXichVG7SgNBFD2urxhfURvBJhgUK7mxUax8NGJlEhPFB2F3HZMlm91ldxLQkB+wFixEQcFC/AYrG/2AFAF/QCwVbCy82SyIBuMdZubMmXvOzOVqjml4kqjeoXR2dff0hvrC/QODQ8ORkdGMZ5dcXaR127TdbU31hGlYIi0NaYptxxVqUTPFllZYbdxvlYXrGba1KY8csV9Uc5ZxaOiqZGpnT+aFVLOVuWo2EqNZ8iPaCuIBiCGIDTtyjz0cwIaOEooQsCAZm1Dh8dhFHASHuX1UmHMZGf69QBVh1pY4S3CGymyB1xyfdgPW4nPD0/PVOr9i8nRZGcUU1eiW3uiR7uiFPv/0qvgejb8c8a41tcLJDp+Mpz7+VRV5l8h/q9ooNM5u/uyZPumVntrWJ3GIBb8ug+t0fKZRsd70KB+fvaUWk1OVabpmrxpdUZ0euFqr/K7fJETyHGFuVvx3a1pBZm42zjhBsaWVoG0hTGASM9ybeSxhDRtI87sWTnGBS2VCWVbWlPVmqtIRaMbwI5TUF608mJs= 2 ↵ l The gray lines indicate a second possible configuration in which the same end-effector position is achieved l The number of solutions depends on the number of joints in A the manipulator. LAAAClHichVE9SwNBEH2e3/EjUUEEG1EiVjJno4iFKIKFiFGjgoZ4d6665HJ33F0CGvIHbCxVrBQsxN9gZaM/IIUg9mKpYGPh5C4gGoyz7O7bt/Pe7jC6Y0rPJ3qsU+obGpuaW1ojbe0dndFYV/eaZ+dcQyQN27TdDV3zhCktkfSlb4oNxxVaVjfFup6ZLd+v54XrSdta9Q8ckcpqe5bclYbmM5VcSBfUYjo2RKMUxEA1UCtgaLo38bwNYMmO3WILO7BhIIcsBCz4jE1o8HhsQgXBYS6FAnMuIxncCxQRYW2OswRnaMxmeN3j02aFtfhc9vQCtcGvmDxdVg4gTiW6pje6pxt6oc8/vQqBR/kvB7zroVY46ehR38rHv6os7z72v1U1FDpnhz97ok96pYea9fnYxURQl+Q6nYApV2yEHvnDk7eVyeV4YZgu2atEF/RId1ytlX83rhJi+RwRbpb6uzXVYG1sVGWc4K7NIIwW9GMQI9ybcUxjHktI8rsSxzjFmdKrTCmzylyYqtRVND34EcriFwKYmCc=sha1_base64="o94cBQ0mp3sLnNhGnpiZ7XDeebU=">AAAClHichVHPK0RRFP48v8b4NSgpGxFZ6TwbksU0k7KQDAaFpveea9y8ee/13pupMc0/YGOJrCgLyZ9gxYI/wELJXpaUjYUz700J4dzuvd/97vm+e09Hd0zp+UT3NUptXX1DY6Qp2tzS2tYe6+hc8uy8a4i0YZu2u6JrnjClJdK+9E2x4rhCy+mmWNa3k5X75YJwPWlbi37REes5LWvJTWloPlPpmUxJLWdiAzRCQfT9BGoVDMS7U4/yInE9Z8cusYYN2DCQRw4CFnzGJjR4PFahguAwt44Scy4jGdwLlBFlbZ6zBGdozG7zmuXTapW1+Fzx9AK1wa+YPF1W9mGQ7uiMXuiGzumJ3n/1KgUelb8UeddDrXAy7bs9C2//qnK8+9j6VP2h0Dk7/NkDvdMz3f5Zn49NjAd1Sa7TCZhKxUboUdjZf1mYmB8sDdEJe93RMd3TFVdrFV6N05SYP0KUm6V+b81PsDQ6ojJOcdcSCCOCXvRjmHszhjimMYc0vyuxhwMcKt3KpJJUpsJUpaaq6cKXUGY/AHdImeM=sha1_base64="8AU6ZOM6aE2Ojt77nrvkf8mDEb0=">AAAClHichVG7SgNBFD2u7/hIVBDBRgwRq3DXRhGLYBAsRBI1KmgIu+tEBze7y+4moCE/YGOpYqVgIX6DlY1+gIXgD4ilgo2FN5sFUVHvMDNnztxzZi5Xd0zp+UQPTUpzS2tbe0dnpKu7pzca6+tf9eyya4icYZu2u65rnjClJXK+9E2x7rhCK+mmWNN30/X7tYpwPWlbK/6eI/IlbduSRWloPlO5hUJVrRVicUpSECM/gRqCOMLI2LFrbGILNgyUUYKABZ+xCQ0ejw2oIDjM5VFlzmUkg3uBGiKsLXOW4AyN2V1et/m0EbIWn+ueXqA2+BWTp8vKESToni7phW7pip7o/VevauBR/8se73pDK5xC9GBo+e1fVYl3Hzufqj8UOmc3fvZI7/RMd3/W56OIqaAuyXU6AVOv2Gh4VPaPXpanlxLVMTpnr3s6owe64WqtyqtxkRVLp4hws9TvrfkJVieSKuMsxVOzYds6MIxRjHNvJpHCPDLI8bsShzjGiTKozChpZa6RqjSFmgF8CWXxAzWalkI= 1 To select solution, we use some constrains, e.g.,

(null) (null)AAACmXichVG7SgNBFD2u7/hIVBDBRhTFKty1Uax8NMHKGKPig7i7TpIlm91ldxLQ4A9YCxaioGAhfoOVjX6ARUDsxVLBxsKb3YCoqHeYmTNn7jkzl6u7lulLomqD0tjU3NLa1h7p6OzqjsZ6eld8p+QZIm04luOt6ZovLNMWaWlKS6y5ntCKuiVW9cJ87X61LDzfdOxlueuKraKWs82saWiSqfVNmRdSy1TU/UxshOIUxNBPoNbByEx/8nEbwKITu8YmduDAQAlFCNiQjC1o8HlsQAXBZW4LFeY8RmZwL7CPCGtLnCU4Q2O2wGuOTxt11uZzzdMP1Aa/YvH0WDmEUbqnS3qhW7qiJ3r/1asSeNT+ssu7HmqFm4keDKTe/lUVeZfIf6r+UOicHf7sgd7pme7+rE8ii6mgLpPrdAOmVrERepT3jl5S00ujlTE6Z697OqMq3XC1dvnVuEiKpWNEuFnq99b8BCsTcZVxkrs2hzDaMIhhjHNvJjGDBBaR5ndtHOIEp8qgMqsklIUwVWmoa/rwJZTUB3gNmn8=sha1_base64="FKvQ4FHhMlddzSwr3TszAUykU/c=">AAACmXichVHLLgRBFD3aa4zXIBGJjRBiJbdtiBVjI1bGGMQjk+5WTEVPd6e7ZhImfsBaYiEkJBYiPsGKBR9gIRF7sSSxsXCnexJBcCtVderUPafq5pqeLQNFdF+lVdfU1tXHGuKNTc0trYm29vnALfiWyFiu7fqLphEIWzoio6SyxaLnCyNv2mLB3Jws3y8UhR9I15lTW55YzRsbjlyXlqGYWlpROaGMbEnfySb6aIjC6PkJ9AroG+9MPcqL5PWMm7jECtbgwkIBeQg4UIxtGAh4LEMHwWNuFSXmfEYyvBfYQZy1Bc4SnGEwu8nrBp+WK6zD57JnEKotfsXm6bOyB/10R2f0Qjd0Tk/0/qtXKfQo/2WLdzPSCi/butuVfvtXleddIfep+kNhcnb0swd6p2e6/bM+hXWMhnVJrtMLmXLFVuRR3N5/SY/N9pcG6IS97uiY7umKq3WKr9ZpSsweIM7N0r+35ieYHx7SGae4a0lEEUM3ejHIvRnBOKYwgwy/62APhzjSurUJbUqbjlK1qoqmA19CS38A7L2cOw==sha1_base64="arzcYrHYG6j1a6ZrDaZU+kZZGko=">AAACmXichVG7SgNBFD2urxhfURvBRgyKldy1Uax8NMEqMSYRo4TdddQlm91ldxKIIT9gLViIgoKF+A1WNvoBFoI/IJYKNim82SyIinqHmTlz5p4zc7m6a5m+JHpsU9o7Oru6Iz3R3r7+gcHY0HDWd8qeITKGYznehq75wjJtkZGmtMSG6wmtpFsipxdXmve5ivB807HXZdUV2yVtzzZ3TUOTTG1uyX0htUJNrRdicZqhIMZ/AjUEcYSRdGI32MIOHBgoowQBG5KxBQ0+jzxUEFzmtlFjzmNkBvcCdURZW+YswRkas0Ve9/iUD1mbz01PP1Ab/IrF02PlOCbpga7ole7omp6p8atXLfBo/qXKu97SCrcweDiafv9XVeJdYv9T9YdC5+zWz56oQS90/2d9EruYD+oyuU43YJoVGy2PysHxa3phbbI2RRfs9UDn9Ei3XK1deTMuU2LtBFFulvq9NT9BdnZGZZyi+OJy2LYIxjCBae7NHBaRQBIZftfGEU5xpowpS0pCWW2lKm2hZgRfQkl/AKsPmJo= 1

AAACkHichVE9SwNBEH05v+NXjI1gEwyKlUxsDIIkaiNWJjEaiCJ356qHl7vj7hKMQbDWVrGwUrAQf4OVhfoDUgT8A2IZwcbCyV1AVNRZdvft23lvdxjF0jXHJaoFpJbWtvaOzq5gd09vX39oILzimEVbFVnV1E07p8iO0DVDZF3N1UXOsoVcUHSxquzON+5XS8J2NNNYdsuWWC/I24a2pamyy1RqbyMUpQnyIvITxJogmrgPzhwCWDJDt1jDJkyoKKIAAQMuYx0yHB55xECwmFtHhTmbkebdCxwgyNoiZwnOkJnd5XWbT/kma/C54el4apVf0XnarIxglKp0TXV6oBt6pvdfvSqeR+MvZd4VXyusjf6joczbv6oC7y52PlV/KBTO9n/2RO/0Qo9/1udiC3GvLo3rtDymUbHqe5T2z+qZ6fRoZYwu2atKF1SjO67WKL2qVymRPkeQmxX73pqfYGVyIsY4RdHkHPzoxDBGMM69mUISC1hClt8VOMYJTqWwFJcS0qyfKgWamkF8CWnxA0W8los=sha1_base64="8Qzt2+y04boPKnW8x9C1qgCr3X4=">AAACkHichVFNLwNRFD3GV42vqo3EptEQK7m1IRLxtRErLaUJjcyM15p0OjOZmTaq8QfYEgsrxEL8BisL/AARiT8gliQ2XbidaSII7st777zz7jnv3VzVNnTXI3pskBqbmltaQ21ye0dnV3e4J7LiWkVHEynNMiwnrSquMHRTpDzdM0TadoRSUA2xqubnaverJeG4umUue2VbZApKztSzuqZ4TCW2N8IxGiE/oj9BvA5iUzfypH32IC9a4SusYxMWNBRRgIAJj7EBBS6PNcRBsJnLoMKcw0j37wV2IbO2yFmCMxRm87zm+LRWZ00+1zxdX63xKwZPh5VRDNI9XdAr3dIlPVP1V6+K71H7S5l3NdAKe6N7r2/p/V9VgXcPW5+qPxQqZwc/e6IqvdDdn/V5yGLcr0vnOm2fqVWsBR6lnaPXpYnkYGWITtnrnk7oka65WrP0pp0nRPIYMjcr/r01P8HK6EiccYJi07MIIoR+DGCYezOGacxjESl+V2AfBziUItK4NCXNBKlSQ13Tiy8hLXwAK3qX/w==sha1_base64="R4fryOHUFpwoFYEWUQH0pGDlWjU=">AAACkHichVFNLwNRFD3GV9VHqzYSm0ZTsZJbG42NYiNWrSqSEpkZD5NOZyYz00Y1/gBbYmFFYiF+g5UNP6ALiT8gliQ2Fu58JILgvrz3zjvvnvPezVUsXXNcooc2qb2js6s70hPt7esfiMUHEyuOWbNVUVJN3bTXFNkRumaIkqu5ulizbCFXFV2sKpV57361LmxHM41lt2GJjaq8Y2jbmiq7TBX2NuMpmiA/kj9BJgQphJE34zdYxxZMqKihCgEDLmMdMhweZWRAsJjbQJM5m5Hm3wscIMraGmcJzpCZrfC6w6dyyBp89jwdX63yKzpPm5VJpKlFV/RCd3RNT/T+q1fT9/D+0uBdCbTC2owdDhff/lVVeXex+6n6Q6FwdvCzR3qnZ7r/sz4X28j6dWlcp+UzXsVq4FHfP30pTi+lm2N0wV4tOqcHuuVqjfqrelkQS2eIcrMy31vzE6xMTmQYFyiVmwvbFsEIRjHOvZlCDgvIo8TvChzhGCdSQspKM9JskCq1hZohfAlp8QOn3pS+ O x 0(null) ✓2 ⇡ Non-redundant manipulator   End effector: 2 degrees of freedom (DoF) Joint angles: 2 degrees of freedom (DoF) Python script #2-1 InverseKinematics_2Links.py $ python InverseKinematics_2Links.py 16

Setting for parameters and variables

Definition of “Inverse Kinematics” function !!! Please make the following code !!! L1 : link 1 length L2 : link 2 length x: x-position of end effector y: y-position of end effector th1 : link 1 angle th2 : link 2 angle

math.pi or np.pi math.acos() or np.acos() math.atan2(y, x) or np.atan2(y, x) 17 “acos(x)” Function in Python: Technical Issue

The range of the argument “x” for acos function in python is limited from -1 to 1.

So, if we set the value out of the range, we found it make “error” as I will show it.

It would be not so serious issue, …

If you avoid this, please make some branch conditions as an right hand code.

Then, Output of acos function is also limited from 0 to pi radian.

So, it will automatically limit our multiple solutions of inverse kinematics for our 2-joint manipulator. 18 Forward Kinematics for 3-link 3-joint Manipulator (✓ , ✓ , ✓ ) (x, y) (null) 1 2 3 ! yAAACkHichVE9LwRRFD3G11ofu1YjoRBCVHJXY6OxaES1HxYJIjPjYbLzlZnZTdbGH6AlChWJQvwBjUrDD9hiE4VWlCQahTszmwiC+/LeO++8e857N1exdc31iOpNUnNLa1t7pCPa2dXdE4v3JpZdq+SooqBauuWsKrIrdM0UBU/zdLFqO0I2FF2sKMV5/36lLBxXs8wlr2KLDUPeMbVtTZU9prKVzfgITVAQQz9BsgFG0oPX2UcAGSt+g3VswYKKEgwImPAY65Dh8lhDEgSbuQ1UmXMYacG9wD6irC1xluAMmdkirzt8WmuwJp99TzdQq/yKztNh5RBGqUaX9EJ3dEVP9P6rVzXw8P9S4V0JtcLejB3059/+VRm8e9j9VP2hUDg7/NkDvdMz3f9Zn4dtpIK6NK7TDhi/YjX0KO+dvOSnc6PVMTpnrxqdUZ1uuVqz/KpeZEXuFFFuVvJ7a36C5cmJJOMsd20OYUQwgGGMc2+mkMYCMijwuwKHOMKxlJBS0ow0G6ZKTQ1NH76EtPgBN2qXBA==sha1_base64="Mw29lhQOTZimep2s3X+yfHEDTOU=">AAACkHichVE9SwNBEH05v2L8irERFBFFsZKJjcHGqI1YJcaYQBS5O1c9crk77i6BGCxttFUsrBQsxD9gY2WjPyCF4B8Qywg2KZzcBURFnWV3376d93aHUSxdc1yip4DU0trW3hHsDHV19/T2hfsj645ZtFWRVk3dtLOK7AhdM0Ta1VxdZC1byAVFFxklv9S4z5SE7WimseaWLbFZkHcNbUdTZZepZHkrPE7T5MXoTxBtgvH48G3y9XDkNmGG77CBbZhQUUQBAgZcxjpkODxyiIJgMbeJCnM2I827FzhAiLVFzhKcITOb53WXT7kma/C54el4apVf0XnarBzFBFXpmmr0QDf0QvVfvSqeR+MvZd4VXyusrb6jwdT7v6oC7y72PlV/KBTO9n/2THV6pcc/63Oxg5hXl8Z1Wh7TqFj1PUr7Z7XU3OpEZZIu2atKF/RE91ytUXpTr5Ji9Rwhblb0e2t+gvWZ6SjjJHdtEX4EMYQxTHFvZhHHMhJI87sCxzjBqRSRYtK8tOCnSoGmZgBfQlr5AACumGo=sha1_base64="zIPGonXmtQYbyMybYc2drnAQEUM=">AAACkHichVG7SgNBFD2u7/hI1EawCYaIVbixMdj4asTKqIlCDLK7jrpks7vsbgIx+APaKhZWChbiN1jZ6AekCPgDYqlgk8K7DxAV4x1m5syZe87M5SqWrjkuUbND6uzq7unt648MDA4NR2Mjo3nHrNiqyKmmbtrbiuwIXTNEztVcXWxbtpDLii62lNKyd79VFbajmcamW7NEsSwfGNq+psouU9nabixBKfIj/hukQ5BAGGtm7B472IMJFRWUIWDAZaxDhsOjgDQIFnNF1JmzGWn+vcAxIqytcJbgDJnZEq8HfCqErMFnz9Px1Sq/ovO0WRlHkhp0S2/0SHf0Qq0/veq+h/eXGu9KoBXWbvRkfOPjX1WZdxeHX6o2CoWzg589U4te6altfS72kfHr0rhOy2e8itXAo3p08bYxt56sT9E1ezXoipr0wNUa1Xf1JivWLxHhZqV/tuY3yM+k0oyzlFhYCtvWhwlMYpp7M4sFrGANOX5X4BRnOJdGpYw0Ly0GqVJHqBnDt5BWPwGqCpS/ Position of the end effector: (x, y) AAAClXichVFNLwNRFD3Gd320WJDYNKRSIXJrQyQSQcTOR7Wa0DQz42GYzkxmpo1q/AErO8EGiYX4DVY2/IAuJP6AWJLYWLidaSI0uC/vvfPOu+e8d3MVS9ccl+ixRqqtq29obGoOtLS2tQdDHZ1Jx8zZqkiopm7aKUV2hK4ZIuFqri5Sli3krKKLVWV3pny/mhe2o5nGiluwRDorbxnapqbKLlPJ6N5wuDCYCfXTCHkRrgaxCuif6lsfOgewaIZusY4NmFCRQxYCBlzGOmQ4PNYQA8FiLo0iczYjzbsXOECAtTnOEpwhM7vL6xaf1iqsweeyp+OpVX5F52mzMowIleiaXumebuiZPn71Knoe5b8UeFd8rbAywcOe+Pu/qizvLra/VH8oFM72f/ZEH/RCD3/W52IT415dGtdpeUy5YtX3yO8fv8YnliPFAbpkrxJd0CPdcbVG/k29WhLLZwhws2I/W1MNkqMjMcZL3LVp+NGEXvQhyr0ZwxTmsYgEv7uDI5zgVOqWJqVZac5PlWoqmi58C2nhE9f+l48=sha1_base64="BAzAkeqayfwfK+x6gu6sYN57hF4=">AAAClXichVFNLwNRFD0dX1UfLRYkNg0hhMitDZFIGkTs0GpJkGZmPAzTmcnMtFGNP2BlIRGsSCzEb7Cy4QdYNPEHxJLExsLtTBOhwX1575133j3nvZurWLrmuESlgFRTW1ffEGwMNTW3tIYjbe1px8zZqkippm7aK4rsCF0zRMrVXF2sWLaQs4oulpXd6fL9cl7YjmYaS27BEutZecvQNjVVdplKD+wNRwuDmUgvjZAX0WoQq4DeeM/a0HEpXlgwI7dYwwZMqMghCwEDLmMdMhweq4iBYDG3jiJzNiPNuxc4QIi1Oc4SnCEzu8vrFp9WK6zB57Kn46lVfkXnabMyij56pGt6pXu6oWf6+NWr6HmU/1LgXfG1wsqED7uS7/+qsry72P5S/aFQONv/2RN90As9/Fmfi02Me3VpXKflMeWKVd8jv3/ympxI9BX76ZK9HumCSnTH1Rr5N/VqUSTOEeJmxX62phqkR0dijBe5a1PwI4hu9GCAezOGOOawgBS/u4MjnOJM6pQmpRlp1k+VAhVNB76FNP8J4WeZFQ==sha1_base64="GfCnE4dYsDZit9/R7pos/AdPMHE=">AAAClXichVFNLwNRFD0d3/VVLEhsGg2pROTWhkgkDSJ2+qGtBJGZ8TBMZyYz00Y1/oCVnWBFYiF+g5UNP8BC4g+IZSU2Fm6nkwgN7st777zz7jnv3VzF0jXHJXoKSA2NTc0trW3B9o7Oru5QT2/WMQu2KjKqqZv2iiI7QtcMkXE1Vxcrli3kvKKLnLI3V73PFYXtaKax7JYssZ6Xtw1tS1Nll6lsdH8sXBrdCEVonLwI14OYDyLwI2GGbrGGTZhQUUAeAgZcxjpkODxWEQPBYm4dZeZsRpp3L3CIIGsLnCU4Q2Z2j9dtPq36rMHnqqfjqVV+RedpszKMYXqka6rQPd3QC3386lX2PKp/KfGu1LTC2ug+Gki//6vK8+5i50v1h0Lh7NrPnumDXunhz/pcbGHKq0vjOi2PqVas1jyKByeV9HRquDxCl+z1SBf0RHdcrVF8U6+SInWOIDcr9rM19SA7MR5jnKRIfNZvWysGMYQo92YScSwigQy/u4tjnOJM6pdmpHlpoZYqBXxNH76FtPQJw4iWBg== x = L1 cos ✓1 + L2 cos(✓1 + ✓2)+L3 cos(✓1 + ✓2 + ✓3)

L(null) 3 (y = L1 sin ✓1 + L2 sin(✓1 + ✓2)+L3 sin(✓1 + ✓2 + ✓3)

(null)

(null) 3

LAAAClHichVE9SwNBEH2e3/EjUUEEm6BErMIkjSIWoggWIkaNClHi3bmJi5e74+4S0OAfsLFUsVKwEH+DlY3+AIuA2Iulgo2Fk7uAqBhn2d23b+e93WE025CuR1RpUBqbmlta29pDHZ1d3eFIT++qaxUdXaR1y7CcdU11hSFNkfakZ4h12xFqQTPEmrY7U71fKwnHlZa54u3ZYrOg5k2Zk7rqMZWez5aTB9nIMMXJj+hvkKiB4an+1NMWgEUrcoMNbMOCjiIKEDDhMTagwuWRQQIEm7lNlJlzGEn/XuAAIdYWOUtwhsrsLq95PmVqrMnnqqfrq3V+xeDpsDKKGD3QFb3SHV3TM3386VX2Pap/2eNdC7TCzoYPB5bf/1UVePew86Wqo9A4O/jZI33QC93Xrc9DDuN+XZLrtH2mWrEeeJT2j1+XJ5Zi5RG6YK8HOqcK3XK1ZulNv0yJpTOEuFmJn635DVaT8QTjFHdtGkG0YRBDGOXejGEKc1hEmt+VOMIJTpV+ZVKZUWaDVKWhpunDt1AWPgEExZgosha1_base64="2N9SQ/hdagPKnmScCl/oofHokzM=">AAAClHichVE9SwNBEH2eXzF+RYUg2IiiWMnERhELMQgWIkaNClHC3bnGxcvdcXcJaMgfsLFUsVKwEPEnWGmhP8BCEHuxVLBJ4eQuIBqMs+zu27fz3u4wmm1I1yN6qlPqGxqbmkMt4da29o7OSFf3qmvlHF0kdcuwnHVNdYUhTZH0pGeIddsRalYzxJq2Gy/fr+WF40rLXPH2bLGZVTOm3Ja66jGVnE8XxorpyCCNkh/91SBWAYPT0cSLvJ65W7QiN9jAFizoyCELARMeYwMqXB4pxECwmdtEgTmHkfTvBYoIszbHWYIzVGZ3ec3wKVVhTT6XPV1frfMrBk+Hlf0Yoke6pHe6pyt6pdKfXgXfo/yXPd61QCvsdOdB7/Lnv6os7x52vlU1FBpnBz97phK90UPN+jxsY8KvS3Kdts+UK9YDj/z+0fvy5NJQYZjO2euRzuiJbrlaM/+hXyTE0inC3KzY79ZUg9Wx0RjjBHdtBkGE0IcBjHBvxjGNOSwiye9KHOIYJ0pUmVLiymyQqtRVND34EcrCF3l1meQ=sha1_base64="A5tTMvTMZh9R/wdPpveJvzAKa78=">AAAClHichVG7SgNBFD1Z3/GRqCCCTTAoVuHGRhELUQQLEV/RgIawu45xcLO77G4CGvwBG0sVKwUL8RusbPQDUgT8AbFUsEnhzWZBNBjvMDNnztxzZi5Xsw3pekSVkNLS2tbe0dkV7u7p7YtE+we2XKvg6CKlW4blpDXVFYY0RcqTniHStiPUvGaIbe1woXa/XRSOKy1z0zuyRSav5ky5L3XVYyq1nC1NnmSjcUqQH7FGkAxAHEGsWtEH7GIPFnQUkIeACY+xARUujx0kQbCZy6DEnMNI+vcCJwiztsBZgjNUZg95zfFpJ2BNPtc8XV+t8ysGT4eVMYxRme7onZ7onl6p+qdXyfeo/eWId62uFXY2cjq88fmvKs+7h4NvVROFxtn1n71Qld7ouWl9HvYx7dcluU7bZ2oV63WP4vH5+8bM+lhpnG7Yq0zXVKFHrtYsfui3a2L9CmFuVvJ3axrB1mQiyXiN4nPzQds6MYJRTHBvpjCHJawixe9KnOECl8qQMqssKIv1VCUUaAbxI5SVLzfHlkM= 2

AAACmXichVG7SgNBFD2u7/hIVBAhjSiKldzYKFZRm2BlEqPig7i7jrq4L3YnAQ35AWvBQhQULMRvsLLRD7AQxF4sFWwsvLsbEBX1DjNz5sw9Z+ZyNdc0fEl0X6fUNzQ2Nbe0xtraOzrjia7uBd8peboo6I7peEua6gvTsEVBGtIUS64nVEszxaK2MxPcL5aF5xuOPS93XbFmqVu2sWnoqmRqeVVuC6kWK2PVYmKQRimM/p8gVQOD6d7s4zqAOSdxhVVswIGOEiwI2JCMTajweawgBYLL3BoqzHmMjPBeoIoYa0ucJThDZXaH1y0+rdRYm8+Bpx+qdX7F5Omxsh9DdEcX9EI3dElP9P6rVyX0CP6yy7sWaYVbjO/35d/+VVm8S2x/qv5QaJwd/eyB3umZbv+sT2ITE2FdBtfphkxQsR55lPcOX/KTuaHKMJ2x1x2d0j1dc7V2+VU/z4rcEWLcrNT31vwEC2OjKcZZ7to0omhBEgMY4d6MI40M5lDgd20c4BgnSlKZUjLKbJSq1NU0PfgSSv4DejqagA==sha1_base64="cZOtwTbCBK4nsk8VKP2w6JBV0ks=">AAACmXichVG7SgNBFD2u7/iKCiKkEUWxkhsbxcpHI1YmMSpGCbvraAY3u8vuJKDBH7AWLERBwULET7DSQj8ghSD2YqlgY+HNbkBU1DvMzJkz95yZyzVcS/qK6L5Gq62rb2hsao60tLa1d0Q7uxZ9p+CZIm06luMtG7ovLGmLtJLKEsuuJ/S8YYklY2umcr9UFJ4vHXtBbbtiLa9v2nJDmrpiamVV5YTSs6XR3Wx0gEYoiL6fIF4FA5M9iUd5OX0z70SvsIp1ODBRQB4CNhRjCzp8HhnEQXCZW0OJOY+RDO4FdhFhbYGzBGfozG7xusmnTJW1+Vzx9AO1ya9YPD1W9mGQynROL3RLF/RE7796lQKPyl+2eTdCrXCzHXu9qbd/VXneFXKfqj8UBmeHP3ugd3qmuz/rU9jAeFCX5DrdgKlUbIYexZ2Dl9REcrA0RKfsVaYTuqdrrtYuvppnCZE8RISbFf/emp9gcXQkzjjBXZtGGE2IoR/D3JsxTGIW80jzuzb2cYRjLaZNabPaXJiq1VQ13fgSWuoD7uqcPA==sha1_base64="jYNnen75qCuqIwrE0gVqdapgc+Y=">AAACmXichVG7SgNBFD2urxhfURvBJhgUK7mxUax8NGJlEhPFB2F3HZMlm91ldxLQkB+wFixEQcFC/AYrG/2AFAF/QCwVbCy82SyIBuMdZubMmXvOzOVqjml4kqjeoXR2dff0hvrC/QODQ8ORkdGMZ5dcXaR127TdbU31hGlYIi0NaYptxxVqUTPFllZYbdxvlYXrGba1KY8csV9Uc5ZxaOiqZGpnT+aFVLOVuWo2EqNZ8iPaCuIBiCGIDTtyjz0cwIaOEooQsCAZm1Dh8dhFHASHuX1UmHMZGf69QBVh1pY4S3CGymyB1xyfdgPW4nPD0/PVOr9i8nRZGcUU1eiW3uiR7uiFPv/0qvgejb8c8a41tcLJDp+Mpz7+VRV5l8h/q9ooNM5u/uyZPumVntrWJ3GIBb8ug+t0fKZRsd70KB+fvaUWk1OVabpmrxpdUZ0euFqr/K7fJETyHGFuVvx3a1pBZm42zjhBsaWVoG0hTGASM9ybeSxhDRtI87sWTnGBS2VCWVbWlPVmqtIRaMbwI5TUF608mJs= 2

LAAAClHichVE9SwNBEH2e3/EjUUEEG1EiVjJno4iFKIKFiFGjgoZ4d6665HJ33F0CGvIHbCxVrBQsxN9gZaM/IIUg9mKpYGPh5C4gGoyz7O7bt/Pe7jC6Y0rPJ3qsU+obGpuaW1ojbe0dndFYV/eaZ+dcQyQN27TdDV3zhCktkfSlb4oNxxVaVjfFup6ZLd+v54XrSdta9Q8ckcpqe5bclYbmM5VcSBfUYjo2RKMUxEA1UCtgaLo38bwNYMmO3WILO7BhIIcsBCz4jE1o8HhsQgXBYS6FAnMuIxncCxQRYW2OswRnaMxmeN3j02aFtfhc9vQCtcGvmDxdVg4gTiW6pje6pxt6oc8/vQqBR/kvB7zroVY46ehR38rHv6os7z72v1U1FDpnhz97ok96pYea9fnYxURQl+Q6nYApV2yEHvnDk7eVyeV4YZgu2atEF/RId1ytlX83rhJi+RwRbpb6uzXVYG1sVGWc4K7NIIwW9GMQI9ybcUxjHktI8rsSxzjFmdKrTCmzylyYqtRVND34EcriFwKYmCc=sha1_base64="o94cBQ0mp3sLnNhGnpiZ7XDeebU=">AAAClHichVHPK0RRFP48v8b4NSgpGxFZ6TwbksU0k7KQDAaFpveea9y8ee/13pupMc0/YGOJrCgLyZ9gxYI/wELJXpaUjYUz700J4dzuvd/97vm+e09Hd0zp+UT3NUptXX1DY6Qp2tzS2tYe6+hc8uy8a4i0YZu2u6JrnjClJdK+9E2x4rhCy+mmWNa3k5X75YJwPWlbi37REes5LWvJTWloPlPpmUxJLWdiAzRCQfT9BGoVDMS7U4/yInE9Z8cusYYN2DCQRw4CFnzGJjR4PFahguAwt44Scy4jGdwLlBFlbZ6zBGdozG7zmuXTapW1+Fzx9AK1wa+YPF1W9mGQ7uiMXuiGzumJ3n/1KgUelb8UeddDrXAy7bs9C2//qnK8+9j6VP2h0Dk7/NkDvdMz3f5Zn49NjAd1Sa7TCZhKxUboUdjZf1mYmB8sDdEJe93RMd3TFVdrFV6N05SYP0KUm6V+b81PsDQ6ojJOcdcSCCOCXvRjmHszhjimMYc0vyuxhwMcKt3KpJJUpsJUpaaq6cKXUGY/AHdImeM=sha1_base64="8AU6ZOM6aE2Ojt77nrvkf8mDEb0=">AAAClHichVG7SgNBFD2u7/hIVBDBRgwRq3DXRhGLYBAsRBI1KmgIu+tEBze7y+4moCE/YGOpYqVgIX6DlY1+gIXgD4ilgo2FN5sFUVHvMDNnztxzZi5Xd0zp+UQPTUpzS2tbe0dnpKu7pzca6+tf9eyya4icYZu2u65rnjClJXK+9E2x7rhCK+mmWNN30/X7tYpwPWlbK/6eI/IlbduSRWloPlO5hUJVrRVicUpSECM/gRqCOMLI2LFrbGILNgyUUYKABZ+xCQ0ejw2oIDjM5VFlzmUkg3uBGiKsLXOW4AyN2V1et/m0EbIWn+ueXqA2+BWTp8vKESToni7phW7pip7o/VevauBR/8se73pDK5xC9GBo+e1fVYl3Hzufqj8UOmc3fvZI7/RMd3/W56OIqaAuyXU6AVOv2Gh4VPaPXpanlxLVMTpnr3s6owe64WqtyqtxkRVLp4hws9TvrfkJVieSKuMsxVOzYds6MIxRjHNvJpHCPDLI8bsShzjGiTKozChpZa6RqjSFmgF8CWXxAzWalkI= 1

AAACmXichVG7SgNBFD2u7/hIVBDBRhTFKty1Uax8NMHKGKPig7i7TpIlm91ldxLQ4A9YCxaioGAhfoOVjX6ARUDsxVLBxsKb3YCoqHeYmTNn7jkzl6u7lulLomqD0tjU3NLa1h7p6OzqjsZ6eld8p+QZIm04luOt6ZovLNMWaWlKS6y5ntCKuiVW9cJ87X61LDzfdOxlueuKraKWs82saWiSqfVNmRdSy1TU/UxshOIUxNBPoNbByEx/8nEbwKITu8YmduDAQAlFCNiQjC1o8HlsQAXBZW4LFeY8RmZwL7CPCGtLnCU4Q2O2wGuOTxt11uZzzdMP1Aa/YvH0WDmEUbqnS3qhW7qiJ3r/1asSeNT+ssu7HmqFm4keDKTe/lUVeZfIf6r+UOicHf7sgd7pme7+rE8ii6mgLpPrdAOmVrERepT3jl5S00ujlTE6Z697OqMq3XC1dvnVuEiKpWNEuFnq99b8BCsTcZVxkrs2hzDaMIhhjHNvJjGDBBaR5ndtHOIEp8qgMqsklIUwVWmoa/rwJZTUB3gNmn8=sha1_base64="FKvQ4FHhMlddzSwr3TszAUykU/c=">AAACmXichVHLLgRBFD3aa4zXIBGJjRBiJbdtiBVjI1bGGMQjk+5WTEVPd6e7ZhImfsBaYiEkJBYiPsGKBR9gIRF7sSSxsXCnexJBcCtVderUPafq5pqeLQNFdF+lVdfU1tXHGuKNTc0trYm29vnALfiWyFiu7fqLphEIWzoio6SyxaLnCyNv2mLB3Jws3y8UhR9I15lTW55YzRsbjlyXlqGYWlpROaGMbEnfySb6aIjC6PkJ9AroG+9MPcqL5PWMm7jECtbgwkIBeQg4UIxtGAh4LEMHwWNuFSXmfEYyvBfYQZy1Bc4SnGEwu8nrBp+WK6zD57JnEKotfsXm6bOyB/10R2f0Qjd0Tk/0/qtXKfQo/2WLdzPSCi/butuVfvtXleddIfep+kNhcnb0swd6p2e6/bM+hXWMhnVJrtMLmXLFVuRR3N5/SY/N9pcG6IS97uiY7umKq3WKr9ZpSsweIM7N0r+35ieYHx7SGae4a0lEEUM3ejHIvRnBOKYwgwy/62APhzjSurUJbUqbjlK1qoqmA19CS38A7L2cOw==sha1_base64="arzcYrHYG6j1a6ZrDaZU+kZZGko=">AAACmXichVG7SgNBFD2urxhfURvBRgyKldy1Uax8NMEqMSYRo4TdddQlm91ldxKIIT9gLViIgoKF+A1WNvoBFoI/IJYKNim82SyIinqHmTlz5p4zc7m6a5m+JHpsU9o7Oru6Iz3R3r7+gcHY0HDWd8qeITKGYznehq75wjJtkZGmtMSG6wmtpFsipxdXmve5ivB807HXZdUV2yVtzzZ3TUOTTG1uyX0htUJNrRdicZqhIMZ/AjUEcYSRdGI32MIOHBgoowQBG5KxBQ0+jzxUEFzmtlFjzmNkBvcCdURZW+YswRkas0Ve9/iUD1mbz01PP1Ab/IrF02PlOCbpga7ole7omp6p8atXLfBo/qXKu97SCrcweDiafv9XVeJdYv9T9YdC5+zWz56oQS90/2d9EruYD+oyuU43YJoVGy2PysHxa3phbbI2RRfs9UDn9Ei3XK1deTMuU2LtBFFulvq9NT9BdnZGZZyi+OJy2LYIxjCBae7NHBaRQBIZftfGEU5xpowpS0pCWW2lKm2hZgRfQkl/AKsPmJo= 1

xAAACkHichVE9SwNBEH05v+NXjI1gEwyKlUxsDIIkaiNWJjEaiCJ356qHl7vj7hKMQbDWVrGwUrAQf4OVhfoDUgT8A2IZwcbCyV1AVNRZdvft23lvdxjF0jXHJaoFpJbWtvaOzq5gd09vX39oILzimEVbFVnV1E07p8iO0DVDZF3N1UXOsoVcUHSxquzON+5XS8J2NNNYdsuWWC/I24a2pamyy1RqbyMUpQnyIvITxJogmrgPzhwCWDJDt1jDJkyoKKIAAQMuYx0yHB55xECwmFtHhTmbkebdCxwgyNoiZwnOkJnd5XWbT/kma/C54el4apVf0XnarIxglKp0TXV6oBt6pvdfvSqeR+MvZd4VXyusjf6joczbv6oC7y52PlV/KBTO9n/2RO/0Qo9/1udiC3GvLo3rtDymUbHqe5T2z+qZ6fRoZYwu2atKF1SjO67WKL2qVymRPkeQmxX73pqfYGVyIsY4RdHkHPzoxDBGMM69mUISC1hClt8VOMYJTqWwFJcS0qyfKgWamkF8CWnxA0W8los=sha1_base64="8Qzt2+y04boPKnW8x9C1qgCr3X4=">AAACkHichVFNLwNRFD3GV42vqo3EptEQK7m1IRLxtRErLaUJjcyM15p0OjOZmTaq8QfYEgsrxEL8BisL/AARiT8gliQ2XbidaSII7st777zz7jnv3VzVNnTXI3pskBqbmltaQ21ye0dnV3e4J7LiWkVHEynNMiwnrSquMHRTpDzdM0TadoRSUA2xqubnaverJeG4umUue2VbZApKztSzuqZ4TCW2N8IxGiE/oj9BvA5iUzfypH32IC9a4SusYxMWNBRRgIAJj7EBBS6PNcRBsJnLoMKcw0j37wV2IbO2yFmCMxRm87zm+LRWZ00+1zxdX63xKwZPh5VRDNI9XdAr3dIlPVP1V6+K71H7S5l3NdAKe6N7r2/p/V9VgXcPW5+qPxQqZwc/e6IqvdDdn/V5yGLcr0vnOm2fqVWsBR6lnaPXpYnkYGWITtnrnk7oka65WrP0pp0nRPIYMjcr/r01P8HK6EiccYJi07MIIoR+DGCYezOGacxjESl+V2AfBziUItK4NCXNBKlSQ13Tiy8hLXwAK3qX/w==sha1_base64="R4fryOHUFpwoFYEWUQH0pGDlWjU=">AAACkHichVFNLwNRFD3GV9VHqzYSm0ZTsZJbG42NYiNWrSqSEpkZD5NOZyYz00Y1/gBbYmFFYiF+g5UNP6ALiT8gliQ2Fu58JILgvrz3zjvvnvPezVUsXXNcooc2qb2js6s70hPt7esfiMUHEyuOWbNVUVJN3bTXFNkRumaIkqu5ulizbCFXFV2sKpV57361LmxHM41lt2GJjaq8Y2jbmiq7TBX2NuMpmiA/kj9BJgQphJE34zdYxxZMqKihCgEDLmMdMhweZWRAsJjbQJM5m5Hm3wscIMraGmcJzpCZrfC6w6dyyBp89jwdX63yKzpPm5VJpKlFV/RCd3RNT/T+q1fT9/D+0uBdCbTC2owdDhff/lVVeXex+6n6Q6FwdvCzR3qnZ7r/sz4X28j6dWlcp+UzXsVq4FHfP30pTi+lm2N0wV4tOqcHuuVqjfqrelkQS2eIcrMy31vzE6xMTmQYFyiVmwvbFsEIRjHOvZlCDgvIo8TvChzhGCdSQspKM9JskCq1hZohfAlp8QOn3pS+ “Redundant” manipulator End effector: 2 degrees of freedom (DoF) Joint angles: 3 degrees of freedom (DoF) Python script #3-1 ForwardKinematics_3Links.py $ python ForwardKinematics_3Links.py

Setting for parameters and variables

!!! Please make the following code !!! Definition of “Forward Kinematics” function L1 : link 1 length L2 : link 2 length L3 : link3 length Th1 : link 1 angle Th2 : link 2 angle Th3 : link 3 angle

math.cos() or np.cos() math.sin() or np.cos() 20 Forward Kinematics for 3-link 3-joint Manipulator in 3D (✓ , ✓ , ✓ ) (x, y, z) (null) yaw 1 2 ! Position of the end effector:

z(null) x = L1 cos ✓1 + L2 cos(✓1 + ✓2) cos ✓yaw { } y = L cos ✓ + L cos(✓ + ✓ ) sin ✓ 8 { 1 1 2 1 2 } yaw > LAAAClHichVE9SwNBEH2e3/EjUUEEm6BErMIkjSIWoggWIkaNClHi3bmJi5e74+4S0OAfsLFUsVKwEH+DlY3+AIuA2Iulgo2Fk7uAqBhn2d23b+e93WE025CuR1RpUBqbmlta29pDHZ1d3eFIT++qaxUdXaR1y7CcdU11hSFNkfakZ4h12xFqQTPEmrY7U71fKwnHlZa54u3ZYrOg5k2Zk7rqMZWez5aTB9nIMMXJj+hvkKiB4an+1NMWgEUrcoMNbMOCjiIKEDDhMTagwuWRQQIEm7lNlJlzGEn/XuAAIdYWOUtwhsrsLq95PmVqrMnnqqfrq3V+xeDpsDKKGD3QFb3SHV3TM3386VX2Pap/2eNdC7TCzoYPB5bf/1UVePew86Wqo9A4O/jZI33QC93Xrc9DDuN+XZLrtH2mWrEeeJT2j1+XJ5Zi5RG6YK8HOqcK3XK1ZulNv0yJpTOEuFmJn635DVaT8QTjFHdtGkG0YRBDGOXejGEKc1hEmt+VOMIJTpV+ZVKZUWaDVKWhpunDt1AWPgEExZgosha1_base64="2N9SQ/hdagPKnmScCl/oofHokzM=">AAAClHichVE9SwNBEH2eXzF+RYUg2IiiWMnERhELMQgWIkaNClHC3bnGxcvdcXcJaMgfsLFUsVKwEPEnWGmhP8BCEHuxVLBJ4eQuIBqMs+zu27fz3u4wmm1I1yN6qlPqGxqbmkMt4da29o7OSFf3qmvlHF0kdcuwnHVNdYUhTZH0pGeIddsRalYzxJq2Gy/fr+WF40rLXPH2bLGZVTOm3Ja66jGVnE8XxorpyCCNkh/91SBWAYPT0cSLvJ65W7QiN9jAFizoyCELARMeYwMqXB4pxECwmdtEgTmHkfTvBYoIszbHWYIzVGZ3ec3wKVVhTT6XPV1frfMrBk+Hlf0Yoke6pHe6pyt6pdKfXgXfo/yXPd61QCvsdOdB7/Lnv6os7x52vlU1FBpnBz97phK90UPN+jxsY8KvS3Kdts+UK9YDj/z+0fvy5NJQYZjO2euRzuiJbrlaM/+hXyTE0inC3KzY79ZUg9Wx0RjjBHdtBkGE0IcBjHBvxjGNOSwiye9KHOIYJ0pUmVLiymyQqtRVND34EcrCF3l1meQ=sha1_base64="A5tTMvTMZh9R/wdPpveJvzAKa78=">AAAClHichVG7SgNBFD1Z3/GRqCCCTTAoVuHGRhELUQQLEV/RgIawu45xcLO77G4CGvwBG0sVKwUL8RusbPQDUgT8AbFUsEnhzWZBNBjvMDNnztxzZi5Xsw3pekSVkNLS2tbe0dkV7u7p7YtE+we2XKvg6CKlW4blpDXVFYY0RcqTniHStiPUvGaIbe1woXa/XRSOKy1z0zuyRSav5ky5L3XVYyq1nC1NnmSjcUqQH7FGkAxAHEGsWtEH7GIPFnQUkIeACY+xARUujx0kQbCZy6DEnMNI+vcCJwiztsBZgjNUZg95zfFpJ2BNPtc8XV+t8ysGT4eVMYxRme7onZ7onl6p+qdXyfeo/eWId62uFXY2cjq88fmvKs+7h4NvVROFxtn1n71Qld7ouWl9HvYx7dcluU7bZ2oV63WP4vH5+8bM+lhpnG7Yq0zXVKFHrtYsfui3a2L9CmFuVvJ3axrB1mQiyXiN4nPzQds6MYJRTHBvpjCHJawixe9KnOECl8qQMqssKIv1VCUUaAbxI5SVLzfHlkM= 2 ✓AAACmXichVG7SgNBFD2u7/hIVBAhjSiKldzYKFZRm2BlEqPig7i7jrq4L3YnAQ35AWvBQhQULMRvsLLRD7AQxF4sFWwsvLsbEBX1DjNz5sw9Z+ZyNdc0fEl0X6fUNzQ2Nbe0xtraOzrjia7uBd8peboo6I7peEua6gvTsEVBGtIUS64nVEszxaK2MxPcL5aF5xuOPS93XbFmqVu2sWnoqmRqeVVuC6kWK2PVYmKQRimM/p8gVQOD6d7s4zqAOSdxhVVswIGOEiwI2JCMTajweawgBYLL3BoqzHmMjPBeoIoYa0ucJThDZXaH1y0+rdRYm8+Bpx+qdX7F5Omxsh9DdEcX9EI3dElP9P6rVyX0CP6yy7sWaYVbjO/35d/+VVm8S2x/qv5QaJwd/eyB3umZbv+sT2ITE2FdBtfphkxQsR55lPcOX/KTuaHKMJ2x1x2d0j1dc7V2+VU/z4rcEWLcrNT31vwEC2OjKcZZ7to0omhBEgMY4d6MI40M5lDgd20c4BgnSlKZUjLKbJSq1NU0PfgSSv4DejqagA==sha1_base64="cZOtwTbCBK4nsk8VKP2w6JBV0ks=">AAACmXichVG7SgNBFD2u7/iKCiKkEUWxkhsbxcpHI1YmMSpGCbvraAY3u8vuJKDBH7AWLERBwULET7DSQj8ghSD2YqlgY+HNbkBU1DvMzJkz95yZyzVcS/qK6L5Gq62rb2hsao60tLa1d0Q7uxZ9p+CZIm06luMtG7ovLGmLtJLKEsuuJ/S8YYklY2umcr9UFJ4vHXtBbbtiLa9v2nJDmrpiamVV5YTSs6XR3Wx0gEYoiL6fIF4FA5M9iUd5OX0z70SvsIp1ODBRQB4CNhRjCzp8HhnEQXCZW0OJOY+RDO4FdhFhbYGzBGfozG7xusmnTJW1+Vzx9AO1ya9YPD1W9mGQynROL3RLF/RE7796lQKPyl+2eTdCrXCzHXu9qbd/VXneFXKfqj8UBmeHP3ugd3qmuz/rU9jAeFCX5DrdgKlUbIYexZ2Dl9REcrA0RKfsVaYTuqdrrtYuvppnCZE8RISbFf/emp9gcXQkzjjBXZtGGE2IoR/D3JsxTGIW80jzuzb2cYRjLaZNabPaXJiq1VQ13fgSWuoD7uqcPA==sha1_base64="jYNnen75qCuqIwrE0gVqdapgc+Y=">AAACmXichVG7SgNBFD2urxhfURvBJhgUK7mxUax8NGJlEhPFB2F3HZMlm91ldxLQkB+wFixEQcFC/AYrG/2AFAF/QCwVbCy82SyIBuMdZubMmXvOzOVqjml4kqjeoXR2dff0hvrC/QODQ8ORkdGMZ5dcXaR127TdbU31hGlYIi0NaYptxxVqUTPFllZYbdxvlYXrGba1KY8csV9Uc5ZxaOiqZGpnT+aFVLOVuWo2EqNZ8iPaCuIBiCGIDTtyjz0cwIaOEooQsCAZm1Dh8dhFHASHuX1UmHMZGf69QBVh1pY4S3CGymyB1xyfdgPW4nPD0/PVOr9i8nRZGcUU1eiW3uiR7uiFPv/0qvgejb8c8a41tcLJDp+Mpz7+VRV5l8h/q9ooNM5u/uyZPumVntrWJ3GIBb8ug+t0fKZRsd70KB+fvaUWk1OVabpmrxpdUZ0euFqr/K7fJETyHGFuVvx3a1pBZm42zjhBsaWVoG0hTGASM9ybeSxhDRtI87sWTnGBS2VCWVbWlPVmqtIRaMbwI5TUF608mJs=

2 (null) :>

yAAACkHichVE9LwRRFD3G11ofu1YjoRBCVHJXY6OxaES1HxYJIjPjYbLzlZnZTdbGH6AlChWJQvwBjUrDD9hiE4VWlCQahTszmwiC+/LeO++8e857N1exdc31iOpNUnNLa1t7pCPa2dXdE4v3JpZdq+SooqBauuWsKrIrdM0UBU/zdLFqO0I2FF2sKMV5/36lLBxXs8wlr2KLDUPeMbVtTZU9prKVzfgITVAQQz9BsgFG0oPX2UcAGSt+g3VswYKKEgwImPAY65Dh8lhDEgSbuQ1UmXMYacG9wD6irC1xluAMmdkirzt8WmuwJp99TzdQq/yKztNh5RBGqUaX9EJ3dEVP9P6rVzXw8P9S4V0JtcLejB3059/+VRm8e9j9VP2hUDg7/NkDvdMz3f9Zn4dtpIK6NK7TDhi/YjX0KO+dvOSnc6PVMTpnrxqdUZ1uuVqz/KpeZEXuFFFuVvJ7a36C5cmJJOMsd20OYUQwgGGMc2+mkMYCMijwuwKHOMKxlJBS0ow0G6ZKTQ1NH76EtPgBN2qXBA==sha1_base64="Mw29lhQOTZimep2s3X+yfHEDTOU=">AAACkHichVE9SwNBEH05v2L8irERFBFFsZKJjcHGqI1YJcaYQBS5O1c9crk77i6BGCxttFUsrBQsxD9gY2WjPyCF4B8Qywg2KZzcBURFnWV3376d93aHUSxdc1yip4DU0trW3hHsDHV19/T2hfsj645ZtFWRVk3dtLOK7AhdM0Ta1VxdZC1byAVFFxklv9S4z5SE7WimseaWLbFZkHcNbUdTZZepZHkrPE7T5MXoTxBtgvH48G3y9XDkNmGG77CBbZhQUUQBAgZcxjpkODxyiIJgMbeJCnM2I827FzhAiLVFzhKcITOb53WXT7kma/C54el4apVf0XnarBzFBFXpmmr0QDf0QvVfvSqeR+MvZd4VXyusrb6jwdT7v6oC7y72PlV/KBTO9n/2THV6pcc/63Oxg5hXl8Z1Wh7TqFj1PUr7Z7XU3OpEZZIu2atKF/RE91ytUXpTr5Ji9Rwhblb0e2t+gvWZ6SjjJHdtEX4EMYQxTHFvZhHHMhJI87sCxzjBqRSRYtK8tOCnSoGmZgBfQlr5AACumGo=sha1_base64="zIPGonXmtQYbyMybYc2drnAQEUM=">AAACkHichVG7SgNBFD2u7/hI1EawCYaIVbixMdj4asTKqIlCDLK7jrpks7vsbgIx+APaKhZWChbiN1jZ6AekCPgDYqlgk8K7DxAV4x1m5syZe87M5SqWrjkuUbND6uzq7unt648MDA4NR2Mjo3nHrNiqyKmmbtrbiuwIXTNEztVcXWxbtpDLii62lNKyd79VFbajmcamW7NEsSwfGNq+psouU9nabixBKfIj/hukQ5BAGGtm7B472IMJFRWUIWDAZaxDhsOjgDQIFnNF1JmzGWn+vcAxIqytcJbgDJnZEq8HfCqErMFnz9Px1Sq/ovO0WRlHkhp0S2/0SHf0Qq0/veq+h/eXGu9KoBXWbvRkfOPjX1WZdxeHX6o2CoWzg589U4te6altfS72kfHr0rhOy2e8itXAo3p08bYxt56sT9E1ezXoipr0wNUa1Xf1JivWLxHhZqV/tuY3yM+k0oyzlFhYCtvWhwlMYpp7M4sFrGANOX5X4BRnOJdGpYw0Ly0GqVJHqBnDt5BWPwGqCpS/

LAAAClHichVE9SwNBEH2e3/EjUUEEG1EiVjJno4iFKIKFiFGjgoZ4d6665HJ33F0CGvIHbCxVrBQsxN9gZaM/IIUg9mKpYGPh5C4gGoyz7O7bt/Pe7jC6Y0rPJ3qsU+obGpuaW1ojbe0dndFYV/eaZ+dcQyQN27TdDV3zhCktkfSlb4oNxxVaVjfFup6ZLd+v54XrSdta9Q8ckcpqe5bclYbmM5VcSBfUYjo2RKMUxEA1UCtgaLo38bwNYMmO3WILO7BhIIcsBCz4jE1o8HhsQgXBYS6FAnMuIxncCxQRYW2OswRnaMxmeN3j02aFtfhc9vQCtcGvmDxdVg4gTiW6pje6pxt6oc8/vQqBR/kvB7zroVY46ehR38rHv6os7z72v1U1FDpnhz97ok96pYea9fnYxURQl+Q6nYApV2yEHvnDk7eVyeV4YZgu2atEF/RId1ytlX83rhJi+RwRbpb6uzXVYG1sVGWc4K7NIIwW9GMQI9ybcUxjHktI8rsSxzjFmdKrTCmzylyYqtRVND34EcriFwKYmCc=sha1_base64="o94cBQ0mp3sLnNhGnpiZ7XDeebU=">AAAClHichVHPK0RRFP48v8b4NSgpGxFZ6TwbksU0k7KQDAaFpveea9y8ee/13pupMc0/YGOJrCgLyZ9gxYI/wELJXpaUjYUz700J4dzuvd/97vm+e09Hd0zp+UT3NUptXX1DY6Qp2tzS2tYe6+hc8uy8a4i0YZu2u6JrnjClJdK+9E2x4rhCy+mmWNa3k5X75YJwPWlbi37REes5LWvJTWloPlPpmUxJLWdiAzRCQfT9BGoVDMS7U4/yInE9Z8cusYYN2DCQRw4CFnzGJjR4PFahguAwt44Scy4jGdwLlBFlbZ6zBGdozG7zmuXTapW1+Fzx9AK1wa+YPF1W9mGQ7uiMXuiGzumJ3n/1KgUelb8UeddDrXAy7bs9C2//qnK8+9j6VP2h0Dk7/NkDvdMz3f5Zn49NjAd1Sa7TCZhKxUboUdjZf1mYmB8sDdEJe93RMd3TFVdrFV6N05SYP0KUm6V+b81PsDQ6ojJOcdcSCCOCXvRjmHszhjimMYc0vyuxhwMcKt3KpJJUpsJUpaaq6cKXUGY/AHdImeM=sha1_base64="8AU6ZOM6aE2Ojt77nrvkf8mDEb0=">AAAClHichVG7SgNBFD2u7/hIVBDBRgwRq3DXRhGLYBAsRBI1KmgIu+tEBze7y+4moCE/YGOpYqVgIX6DlY1+gIXgD4ilgo2FN5sFUVHvMDNnztxzZi5Xd0zp+UQPTUpzS2tbe0dnpKu7pzca6+tf9eyya4icYZu2u65rnjClJXK+9E2x7rhCK+mmWNN30/X7tYpwPWlbK/6eI/IlbduSRWloPlO5hUJVrRVicUpSECM/gRqCOMLI2LFrbGILNgyUUYKABZ+xCQ0ejw2oIDjM5VFlzmUkg3uBGiKsLXOW4AyN2V1et/m0EbIWn+ueXqA2+BWTp8vKESToni7phW7pip7o/VevauBR/8se73pDK5xC9GBo+e1fVYl3Hzufqj8UOmc3fvZI7/RMd3/W56OIqaAuyXU6AVOv2Gh4VPaPXpanlxLVMTpnr3s6owe64WqtyqtxkRVLp4hws9TvrfkJVieSKuMsxVOzYds6MIxRjHNvJpHCPDLI8bsShzjGiTKozChpZa6RqjSFmgF8CWXxAzWalkI= 1

AAACmXichVG7SgNBFD2u7/hIVBDBRhTFKty1Uax8NMHKGKPig7i7TpIlm91ldxLQ4A9YCxaioGAhfoOVjX6ARUDsxVLBxsKb3YCoqHeYmTNn7jkzl6u7lulLomqD0tjU3NLa1h7p6OzqjsZ6eld8p+QZIm04luOt6ZovLNMWaWlKS6y5ntCKuiVW9cJ87X61LDzfdOxlueuKraKWs82saWiSqfVNmRdSy1TU/UxshOIUxNBPoNbByEx/8nEbwKITu8YmduDAQAlFCNiQjC1o8HlsQAXBZW4LFeY8RmZwL7CPCGtLnCU4Q2O2wGuOTxt11uZzzdMP1Aa/YvH0WDmEUbqnS3qhW7qiJ3r/1asSeNT+ssu7HmqFm4keDKTe/lUVeZfIf6r+UOicHf7sgd7pme7+rE8ii6mgLpPrdAOmVrERepT3jl5S00ujlTE6Z697OqMq3XC1dvnVuEiKpWNEuFnq99b8BCsTcZVxkrs2hzDaMIhhjHNvJjGDBBaR5ndtHOIEp8qgMqsklIUwVWmoa/rwJZTUB3gNmn8=sha1_base64="FKvQ4FHhMlddzSwr3TszAUykU/c=">AAACmXichVHLLgRBFD3aa4zXIBGJjRBiJbdtiBVjI1bGGMQjk+5WTEVPd6e7ZhImfsBaYiEkJBYiPsGKBR9gIRF7sSSxsXCnexJBcCtVderUPafq5pqeLQNFdF+lVdfU1tXHGuKNTc0trYm29vnALfiWyFiu7fqLphEIWzoio6SyxaLnCyNv2mLB3Jws3y8UhR9I15lTW55YzRsbjlyXlqGYWlpROaGMbEnfySb6aIjC6PkJ9AroG+9MPcqL5PWMm7jECtbgwkIBeQg4UIxtGAh4LEMHwWNuFSXmfEYyvBfYQZy1Bc4SnGEwu8nrBp+WK6zD57JnEKotfsXm6bOyB/10R2f0Qjd0Tk/0/qtXKfQo/2WLdzPSCi/butuVfvtXleddIfep+kNhcnb0swd6p2e6/bM+hXWMhnVJrtMLmXLFVuRR3N5/SY/N9pcG6IS97uiY7umKq3WKr9ZpSsweIM7N0r+35ieYHx7SGae4a0lEEUM3ejHIvRnBOKYwgwy/62APhzjSurUJbUqbjlK1qoqmA19CS38A7L2cOw==sha1_base64="arzcYrHYG6j1a6ZrDaZU+kZZGko=">AAACmXichVG7SgNBFD2urxhfURvBRgyKldy1Uax8NMEqMSYRo4TdddQlm91ldxKIIT9gLViIgoKF+A1WNvoBFoI/IJYKNim82SyIinqHmTlz5p4zc7m6a5m+JHpsU9o7Oru6Iz3R3r7+gcHY0HDWd8qeITKGYznehq75wjJtkZGmtMSG6wmtpFsipxdXmve5ivB807HXZdUV2yVtzzZ3TUOTTG1uyX0htUJNrRdicZqhIMZ/AjUEcYSRdGI32MIOHBgoowQBG5KxBQ0+jzxUEFzmtlFjzmNkBvcCdURZW+YswRkas0Ve9/iUD1mbz01PP1Ab/IrF02PlOCbpga7ole7omp6p8atXLfBo/qXKu97SCrcweDiafv9XVeJdYv9T9YdC5+zWz56oQS90/2d9EruYD+oyuU43YJoVGy2PysHxa3phbbI2RRfs9UDn9Ei3XK1deTMuU2LtBFFulvq9NT9BdnZGZZyi+OJy2LYIxjCBae7NHBaRQBIZftfGEU5xpowpS0pCWW2lKm2hZgRfQkl/AKsPmJo= 1

(null) yaw

xAAACkHichVE9SwNBEH05v+NXjI1gEwyKlUxsDIIkaiNWJjEaiCJ356qHl7vj7hKMQbDWVrGwUrAQf4OVhfoDUgT8A2IZwcbCyV1AVNRZdvft23lvdxjF0jXHJaoFpJbWtvaOzq5gd09vX39oILzimEVbFVnV1E07p8iO0DVDZF3N1UXOsoVcUHSxquzON+5XS8J2NNNYdsuWWC/I24a2pamyy1RqbyMUpQnyIvITxJogmrgPzhwCWDJDt1jDJkyoKKIAAQMuYx0yHB55xECwmFtHhTmbkebdCxwgyNoiZwnOkJnd5XWbT/kma/C54el4apVf0XnarIxglKp0TXV6oBt6pvdfvSqeR+MvZd4VXyusjf6joczbv6oC7y52PlV/KBTO9n/2RO/0Qo9/1udiC3GvLo3rtDymUbHqe5T2z+qZ6fRoZYwu2atKF1SjO67WKL2qVymRPkeQmxX73pqfYGVyIsY4RdHkHPzoxDBGMM69mUISC1hClt8VOMYJTqWwFJcS0qyfKgWamkF8CWnxA0W8los=sha1_base64="8Qzt2+y04boPKnW8x9C1qgCr3X4=">AAACkHichVFNLwNRFD3GV42vqo3EptEQK7m1IRLxtRErLaUJjcyM15p0OjOZmTaq8QfYEgsrxEL8BisL/AARiT8gliQ2XbidaSII7st777zz7jnv3VzVNnTXI3pskBqbmltaQ21ye0dnV3e4J7LiWkVHEynNMiwnrSquMHRTpDzdM0TadoRSUA2xqubnaverJeG4umUue2VbZApKztSzuqZ4TCW2N8IxGiE/oj9BvA5iUzfypH32IC9a4SusYxMWNBRRgIAJj7EBBS6PNcRBsJnLoMKcw0j37wV2IbO2yFmCMxRm87zm+LRWZ00+1zxdX63xKwZPh5VRDNI9XdAr3dIlPVP1V6+K71H7S5l3NdAKe6N7r2/p/V9VgXcPW5+qPxQqZwc/e6IqvdDdn/V5yGLcr0vnOm2fqVWsBR6lnaPXpYnkYGWITtnrnk7oka65WrP0pp0nRPIYMjcr/r01P8HK6EiccYJi07MIIoR+DGCYezOGacxjESl+V2AfBziUItK4NCXNBKlSQ13Tiy8hLXwAK3qX/w==sha1_base64="R4fryOHUFpwoFYEWUQH0pGDlWjU=">AAACkHichVFNLwNRFD3GV9VHqzYSm0ZTsZJbG42NYiNWrSqSEpkZD5NOZyYz00Y1/gBbYmFFYiF+g5UNP6ALiT8gliQ2Fu58JILgvrz3zjvvnvPezVUsXXNcooc2qb2js6s70hPt7esfiMUHEyuOWbNVUVJN3bTXFNkRumaIkqu5ulizbCFXFV2sKpV57361LmxHM41lt2GJjaq8Y2jbmiq7TBX2NuMpmiA/kj9BJgQphJE34zdYxxZMqKihCgEDLmMdMhweZWRAsJjbQJM5m5Hm3wscIMraGmcJzpCZrfC6w6dyyBp89jwdX63yKzpPm5VJpKlFV/RCd3RNT/T+q1fT9/D+0uBdCbTC2owdDhff/lVVeXex+6n6Q6FwdvCzR3qnZ7r/sz4X28j6dWlcp+UzXsVq4FHfP30pTi+lm2N0wV4tOqcHuuVqjfqrelkQS2eIcrMy31vzE6xMTmQYFyiVmwvbFsEIRjHOvZlCDgvIo8TvChzhGCdSQspKM9JskCq1hZohfAlp8QOn3pS+ Python script #4-1 ForwardKinematics_2Links_3D.py $ python ForwardKinematics_2Links_3D.py

Setting for parameters and variables

Definition of “Forward Kinematics” function

L1 : link 1 length L2 : link 2 length Th1 : link 1 angle yaw Th2 : link 1 angle 1 Th3 : link 2 angle 2

math.cos() or np.cos() math.sin() or np.cos() 22 Kinematics for “Redundant” Manipulators End effector: 2 degrees of freedom (DoF) Joint angles: 4 degrees of freedom (DoF) Forward Kinematics Inverse Kinematics

(null) 4 yAAACkHichVE9LwRRFD3G11ofu1YjoRBCVHJXY6OxaES1HxYJIjPjYbLzlZnZTdbGH6AlChWJQvwBjUrDD9hiE4VWlCQahTszmwiC+/LeO++8e857N1exdc31iOpNUnNLa1t7pCPa2dXdE4v3JpZdq+SooqBauuWsKrIrdM0UBU/zdLFqO0I2FF2sKMV5/36lLBxXs8wlr2KLDUPeMbVtTZU9prKVzfgITVAQQz9BsgFG0oPX2UcAGSt+g3VswYKKEgwImPAY65Dh8lhDEgSbuQ1UmXMYacG9wD6irC1xluAMmdkirzt8WmuwJp99TzdQq/yKztNh5RBGqUaX9EJ3dEVP9P6rVzXw8P9S4V0JtcLejB3059/+VRm8e9j9VP2hUDg7/NkDvdMz3f9Zn4dtpIK6NK7TDhi/YjX0KO+dvOSnc6PVMTpnrxqdUZ1uuVqz/KpeZEXuFFFuVvJ7a36C5cmJJOMsd20OYUQwgGGMc2+mkMYCMijwuwKHOMKxlJBS0ow0G6ZKTQ1NH76EtPgBN2qXBA==sha1_base64="Mw29lhQOTZimep2s3X+yfHEDTOU=">AAACkHichVE9SwNBEH05v2L8irERFBFFsZKJjcHGqI1YJcaYQBS5O1c9crk77i6BGCxttFUsrBQsxD9gY2WjPyCF4B8Qywg2KZzcBURFnWV3376d93aHUSxdc1yip4DU0trW3hHsDHV19/T2hfsj645ZtFWRVk3dtLOK7AhdM0Ta1VxdZC1byAVFFxklv9S4z5SE7WimseaWLbFZkHcNbUdTZZepZHkrPE7T5MXoTxBtgvH48G3y9XDkNmGG77CBbZhQUUQBAgZcxjpkODxyiIJgMbeJCnM2I827FzhAiLVFzhKcITOb53WXT7kma/C54el4apVf0XnarBzFBFXpmmr0QDf0QvVfvSqeR+MvZd4VXyusrb6jwdT7v6oC7y72PlV/KBTO9n/2THV6pcc/63Oxg5hXl8Z1Wh7TqFj1PUr7Z7XU3OpEZZIu2atKF/RE91ytUXpTr5Ji9Rwhblb0e2t+gvWZ6SjjJHdtEX4EMYQxTHFvZhHHMhJI87sCxzjBqRSRYtK8tOCnSoGmZgBfQlr5AACumGo=sha1_base64="zIPGonXmtQYbyMybYc2drnAQEUM=">AAACkHichVG7SgNBFD2u7/hI1EawCYaIVbixMdj4asTKqIlCDLK7jrpks7vsbgIx+APaKhZWChbiN1jZ6AekCPgDYqlgk8K7DxAV4x1m5syZe87M5SqWrjkuUbND6uzq7unt648MDA4NR2Mjo3nHrNiqyKmmbtrbiuwIXTNEztVcXWxbtpDLii62lNKyd79VFbajmcamW7NEsSwfGNq+psouU9nabixBKfIj/hukQ5BAGGtm7B472IMJFRWUIWDAZaxDhsOjgDQIFnNF1JmzGWn+vcAxIqytcJbgDJnZEq8HfCqErMFnz9Px1Sq/ovO0WRlHkhp0S2/0SHf0Qq0/veq+h/eXGu9KoBXWbvRkfOPjX1WZdxeHX6o2CoWzg589U4te6altfS72kfHr0rhOy2e8itXAo3p08bYxt56sT9E1ezXoipr0wNUa1Xf1JivWLxHhZqV/tuY3yM+k0oyzlFhYCtvWhwlMYpp7M4sFrGANOX5X4BRnOJdGpYw0Ly0GqVJHqBnDt5BWPwGqCpS/

yAAACkHichVE9LwRRFD3G11ofu1YjoRBCVHJXY6OxaES1HxYJIjPjYbLzlZnZTdbGH6AlChWJQvwBjUrDD9hiE4VWlCQahTszmwiC+/LeO++8e857N1exdc31iOpNUnNLa1t7pCPa2dXdE4v3JpZdq+SooqBauuWsKrIrdM0UBU/zdLFqO0I2FF2sKMV5/36lLBxXs8wlr2KLDUPeMbVtTZU9prKVzfgITVAQQz9BsgFG0oPX2UcAGSt+g3VswYKKEgwImPAY65Dh8lhDEgSbuQ1UmXMYacG9wD6irC1xluAMmdkirzt8WmuwJp99TzdQq/yKztNh5RBGqUaX9EJ3dEVP9P6rVzXw8P9S4V0JtcLejB3059/+VRm8e9j9VP2hUDg7/NkDvdMz3f9Zn4dtpIK6NK7TDhi/YjX0KO+dvOSnc6PVMTpnrxqdUZ1uuVqz/KpeZEXuFFFuVvJ7a36C5cmJJOMsd20OYUQwgGGMc2+mkMYCMijwuwKHOMKxlJBS0ow0G6ZKTQ1NH76EtPgBN2qXBA==sha1_base64="Mw29lhQOTZimep2s3X+yfHEDTOU=">AAACkHichVE9SwNBEH05v2L8irERFBFFsZKJjcHGqI1YJcaYQBS5O1c9crk77i6BGCxttFUsrBQsxD9gY2WjPyCF4B8Qywg2KZzcBURFnWV3376d93aHUSxdc1yip4DU0trW3hHsDHV19/T2hfsj645ZtFWRVk3dtLOK7AhdM0Ta1VxdZC1byAVFFxklv9S4z5SE7WimseaWLbFZkHcNbUdTZZepZHkrPE7T5MXoTxBtgvH48G3y9XDkNmGG77CBbZhQUUQBAgZcxjpkODxyiIJgMbeJCnM2I827FzhAiLVFzhKcITOb53WXT7kma/C54el4apVf0XnarBzFBFXpmmr0QDf0QvVfvSqeR+MvZd4VXyusrb6jwdT7v6oC7y72PlV/KBTO9n/2THV6pcc/63Oxg5hXl8Z1Wh7TqFj1PUr7Z7XU3OpEZZIu2atKF/RE91ytUXpTr5Ji9Rwhblb0e2t+gvWZ6SjjJHdtEX4EMYQxTHFvZhHHMhJI87sCxzjBqRSRYtK8tOCnSoGmZgBfQlr5AACumGo=sha1_base64="zIPGonXmtQYbyMybYc2drnAQEUM=">AAACkHichVG7SgNBFD2u7/hI1EawCYaIVbixMdj4asTKqIlCDLK7jrpks7vsbgIx+APaKhZWChbiN1jZ6AekCPgDYqlgk8K7DxAV4x1m5syZe87M5SqWrjkuUbND6uzq7unt648MDA4NR2Mjo3nHrNiqyKmmbtrbiuwIXTNEztVcXWxbtpDLii62lNKyd79VFbajmcamW7NEsSwfGNq+psouU9nabixBKfIj/hukQ5BAGGtm7B472IMJFRWUIWDAZaxDhsOjgDQIFnNF1JmzGWn+vcAxIqytcJbgDJnZEq8HfCqErMFnz9Px1Sq/ovO0WRlHkhp0S2/0SHf0Qq0/veq+h/eXGu9KoBXWbvRkfOPjX1WZdxeHX6o2CoWzg589U4te6altfS72kfHr0rhOy2e8itXAo3p08bYxt56sT9E1ezXoipr0wNUa1Xf1JivWLxHhZqV/tuY3yM+k0oyzlFhYCtvWhwlMYpp7M4sFrGANOX5X4BRnOJdGpYw0Ly0GqVJHqBnDt5BWPwGqCpS/ (x, y) (x, y) AAAClXichVFNLwNRFD3Gd320WJDYNKRSIXJrQyQSQcTOR7Wa0DQz42GYzkxmpo1q/AErO8EGiYX4DVY2/IAuJP6AWJLYWLidaSI0uC/vvfPOu+e8d3MVS9ccl+ixRqqtq29obGoOtLS2tQdDHZ1Jx8zZqkiopm7aKUV2hK4ZIuFqri5Sli3krKKLVWV3pny/mhe2o5nGiluwRDorbxnapqbKLlPJ6N5wuDCYCfXTCHkRrgaxCuif6lsfOgewaIZusY4NmFCRQxYCBlzGOmQ4PNYQA8FiLo0iczYjzbsXOECAtTnOEpwhM7vL6xaf1iqsweeyp+OpVX5F52mzMowIleiaXumebuiZPn71Knoe5b8UeFd8rbAywcOe+Pu/qizvLra/VH8oFM72f/ZEH/RCD3/W52IT415dGtdpeUy5YtX3yO8fv8YnliPFAbpkrxJd0CPdcbVG/k29WhLLZwhws2I/W1MNkqMjMcZL3LVp+NGEXvQhyr0ZwxTmsYgEv7uDI5zgVOqWJqVZac5PlWoqmi58C2nhE9f+l48=sha1_base64="BAzAkeqayfwfK+x6gu6sYN57hF4=">AAAClXichVFNLwNRFD0dX1UfLRYkNg0hhMitDZFIGkTs0GpJkGZmPAzTmcnMtFGNP2BlIRGsSCzEb7Cy4QdYNPEHxJLExsLtTBOhwX1575133j3nvZurWLrmuESlgFRTW1ffEGwMNTW3tIYjbe1px8zZqkippm7aK4rsCF0zRMrVXF2sWLaQs4oulpXd6fL9cl7YjmYaS27BEutZecvQNjVVdplKD+wNRwuDmUgvjZAX0WoQq4DeeM/a0HEpXlgwI7dYwwZMqMghCwEDLmMdMhweq4iBYDG3jiJzNiPNuxc4QIi1Oc4SnCEzu8vrFp9WK6zB57Kn46lVfkXnabMyij56pGt6pXu6oWf6+NWr6HmU/1LgXfG1wsqED7uS7/+qsry72P5S/aFQONv/2RN90As9/Fmfi02Me3VpXKflMeWKVd8jv3/ympxI9BX76ZK9HumCSnTH1Rr5N/VqUSTOEeJmxX62phqkR0dijBe5a1PwI4hu9GCAezOGOOawgBS/u4MjnOJM6pQmpRlp1k+VAhVNB76FNP8J4WeZFQ==sha1_base64="GfCnE4dYsDZit9/R7pos/AdPMHE=">AAAClXichVFNLwNRFD0d3/VVLEhsGg2pROTWhkgkDSJ2+qGtBJGZ8TBMZyYz00Y1/oCVnWBFYiF+g5UNP8BC4g+IZSU2Fm6nkwgN7st777zz7jnv3VzF0jXHJXoKSA2NTc0trW3B9o7Oru5QT2/WMQu2KjKqqZv2iiI7QtcMkXE1Vxcrli3kvKKLnLI3V73PFYXtaKax7JYssZ6Xtw1tS1Nll6lsdH8sXBrdCEVonLwI14OYDyLwI2GGbrGGTZhQUUAeAgZcxjpkODxWEQPBYm4dZeZsRpp3L3CIIGsLnCU4Q2Z2j9dtPq36rMHnqqfjqVV+RedpszKMYXqka6rQPd3QC3386lX2PKp/KfGu1LTC2ug+Gki//6vK8+5i50v1h0Lh7NrPnumDXunhz/pcbGHKq0vjOi2PqVas1jyKByeV9HRquDxCl+z1SBf0RHdcrVF8U6+SInWOIDcr9rM19SA7MR5jnKRIfNZvWysGMYQo92YScSwigQy/u4tjnOJM6pdmpHlpoZYqBXxNH76FtPQJw4iWBg==

AAAClXichVFNLwNRFD3Gd320WJDYNKRSIXJrQyQSQcTOR7Wa0DQz42GYzkxmpo1q/AErO8EGiYX4DVY2/IAuJP6AWJLYWLidaSI0uC/vvfPOu+e8d3MVS9ccl+ixRqqtq29obGoOtLS2tQdDHZ1Jx8zZqkiopm7aKUV2hK4ZIuFqri5Sli3krKKLVWV3pny/mhe2o5nGiluwRDorbxnapqbKLlPJ6N5wuDCYCfXTCHkRrgaxCuif6lsfOgewaIZusY4NmFCRQxYCBlzGOmQ4PNYQA8FiLo0iczYjzbsXOECAtTnOEpwhM7vL6xaf1iqsweeyp+OpVX5F52mzMowIleiaXumebuiZPn71Knoe5b8UeFd8rbAywcOe+Pu/qizvLra/VH8oFM72f/ZEH/RCD3/W52IT415dGtdpeUy5YtX3yO8fv8YnliPFAbpkrxJd0CPdcbVG/k29WhLLZwhws2I/W1MNkqMjMcZL3LVp+NGEXvQhyr0ZwxTmsYgEv7uDI5zgVOqWJqVZac5PlWoqmi58C2nhE9f+l48=sha1_base64="BAzAkeqayfwfK+x6gu6sYN57hF4=">AAAClXichVFNLwNRFD0dX1UfLRYkNg0hhMitDZFIGkTs0GpJkGZmPAzTmcnMtFGNP2BlIRGsSCzEb7Cy4QdYNPEHxJLExsLtTBOhwX1575133j3nvZurWLrmuESlgFRTW1ffEGwMNTW3tIYjbe1px8zZqkippm7aK4rsCF0zRMrVXF2sWLaQs4oulpXd6fL9cl7YjmYaS27BEutZecvQNjVVdplKD+wNRwuDmUgvjZAX0WoQq4DeeM/a0HEpXlgwI7dYwwZMqMghCwEDLmMdMhweq4iBYDG3jiJzNiPNuxc4QIi1Oc4SnCEzu8vrFp9WK6zB57Kn46lVfkXnabMyij56pGt6pXu6oWf6+NWr6HmU/1LgXfG1wsqED7uS7/+qsry72P5S/aFQONv/2RN90As9/Fmfi02Me3VpXKflMeWKVd8jv3/ympxI9BX76ZK9HumCSnTH1Rr5N/VqUSTOEeJmxX62phqkR0dijBe5a1PwI4hu9GCAezOGOOawgBS/u4MjnOJM6pQmpRlp1k+VAhVNB76FNP8J4WeZFQ==sha1_base64="GfCnE4dYsDZit9/R7pos/AdPMHE=">AAAClXichVFNLwNRFD0d3/VVLEhsGg2pROTWhkgkDSJ2+qGtBJGZ8TBMZyYz00Y1/oCVnWBFYiF+g5UNP8BC4g+IZSU2Fm6nkwgN7st777zz7jnv3VzF0jXHJXoKSA2NTc0trW3B9o7Oru5QT2/WMQu2KjKqqZv2iiI7QtcMkXE1Vxcrli3kvKKLnLI3V73PFYXtaKax7JYssZ6Xtw1tS1Nll6lsdH8sXBrdCEVonLwI14OYDyLwI2GGbrGGTZhQUUAeAgZcxjpkODxWEQPBYm4dZeZsRpp3L3CIIGsLnCU4Q2Z2j9dtPq36rMHnqqfjqVV+RedpszKMYXqka6rQPd3QC3386lX2PKp/KfGu1LTC2ug+Gki//6vK8+5i50v1h0Lh7NrPnumDXunhz/pcbGHKq0vjOi2PqVas1jyKByeV9HRquDxCl+z1SBf0RHdcrVF8U6+SInWOIDcr9rM19SA7MR5jnKRIfNZvWysGMYQo92YScSwigQy/u4tjnOJM6pdmpHlpoZYqBXxNH76FtPQJw4iWBg==

(null) 3

AAACmXichVG7SgNBFD2u7/hIVBAhjSiKldzYKFZRm2BlEqPig7i7jrq4L3YnAQ35AWvBQhQULMRvsLLRD7AQxF4sFWwsvLsbEBX1DjNz5sw9Z+ZyNdc0fEl0X6fUNzQ2Nbe0xtraOzrjia7uBd8peboo6I7peEua6gvTsEVBGtIUS64nVEszxaK2MxPcL5aF5xuOPS93XbFmqVu2sWnoqmRqeVVuC6kWK2PVYmKQRimM/p8gVQOD6d7s4zqAOSdxhVVswIGOEiwI2JCMTajweawgBYLL3BoqzHmMjPBeoIoYa0ucJThDZXaH1y0+rdRYm8+Bpx+qdX7F5Omxsh9DdEcX9EI3dElP9P6rVyX0CP6yy7sWaYVbjO/35d/+VVm8S2x/qv5QaJwd/eyB3umZbv+sT2ITE2FdBtfphkxQsR55lPcOX/KTuaHKMJ2x1x2d0j1dc7V2+VU/z4rcEWLcrNT31vwEC2OjKcZZ7to0omhBEgMY4d6MI40M5lDgd20c4BgnSlKZUjLKbJSq1NU0PfgSSv4DejqagA==sha1_base64="cZOtwTbCBK4nsk8VKP2w6JBV0ks=">AAACmXichVG7SgNBFD2u7/iKCiKkEUWxkhsbxcpHI1YmMSpGCbvraAY3u8vuJKDBH7AWLERBwULET7DSQj8ghSD2YqlgY+HNbkBU1DvMzJkz95yZyzVcS/qK6L5Gq62rb2hsao60tLa1d0Q7uxZ9p+CZIm06luMtG7ovLGmLtJLKEsuuJ/S8YYklY2umcr9UFJ4vHXtBbbtiLa9v2nJDmrpiamVV5YTSs6XR3Wx0gEYoiL6fIF4FA5M9iUd5OX0z70SvsIp1ODBRQB4CNhRjCzp8HhnEQXCZW0OJOY+RDO4FdhFhbYGzBGfozG7xusmnTJW1+Vzx9AO1ya9YPD1W9mGQynROL3RLF/RE7796lQKPyl+2eTdCrXCzHXu9qbd/VXneFXKfqj8UBmeHP3ugd3qmuz/rU9jAeFCX5DrdgKlUbIYexZ2Dl9REcrA0RKfsVaYTuqdrrtYuvppnCZE8RISbFf/emp9gcXQkzjjBXZtGGE2IoR/D3JsxTGIW80jzuzb2cYRjLaZNabPaXJiq1VQ13fgSWuoD7uqcPA==sha1_base64="jYNnen75qCuqIwrE0gVqdapgc+Y=">AAACmXichVG7SgNBFD2urxhfURvBJhgUK7mxUax8NGJlEhPFB2F3HZMlm91ldxLQkB+wFixEQcFC/AYrG/2AFAF/QCwVbCy82SyIBuMdZubMmXvOzOVqjml4kqjeoXR2dff0hvrC/QODQ8ORkdGMZ5dcXaR127TdbU31hGlYIi0NaYptxxVqUTPFllZYbdxvlYXrGba1KY8csV9Uc5ZxaOiqZGpnT+aFVLOVuWo2EqNZ8iPaCuIBiCGIDTtyjz0cwIaOEooQsCAZm1Dh8dhFHASHuX1UmHMZGf69QBVh1pY4S3CGymyB1xyfdgPW4nPD0/PVOr9i8nRZGcUU1eiW3uiR7uiFPv/0qvgejb8c8a41tcLJDp+Mpz7+VRV5l8h/q9ooNM5u/uyZPumVntrWJ3GIBb8ug+t0fKZRsd70KB+fvaUWk1OVabpmrxpdUZ0euFqr/K7fJETyHGFuVvx3a1pBZm42zjhBsaWVoG0hTGASM9ybeSxhDRtI87sWTnGBS2VCWVbWlPVmqtIRaMbwI5TUF608mJs= ✓ ✓(null) 2 ? 4 ? ✓AAACmXichVG7SgNBFD2u7/hIVBDBRhTFKty1Uax8NMHKGKPig7i7TpIlm91ldxLQ4A9YCxaioGAhfoOVjX6ARUDsxVLBxsKb3YCoqHeYmTNn7jkzl6u7lulLomqD0tjU3NLa1h7p6OzqjsZ6eld8p+QZIm04luOt6ZovLNMWaWlKS6y5ntCKuiVW9cJ87X61LDzfdOxlueuKraKWs82saWiSqfVNmRdSy1TU/UxshOIUxNBPoNbByEx/8nEbwKITu8YmduDAQAlFCNiQjC1o8HlsQAXBZW4LFeY8RmZwL7CPCGtLnCU4Q2O2wGuOTxt11uZzzdMP1Aa/YvH0WDmEUbqnS3qhW7qiJ3r/1asSeNT+ssu7HmqFm4keDKTe/lUVeZfIf6r+UOicHf7sgd7pme7+rE8ii6mgLpPrdAOmVrERepT3jl5S00ujlTE6Z697OqMq3XC1dvnVuEiKpWNEuFnq99b8BCsTcZVxkrs2hzDaMIhhjHNvJjGDBBaR5ndtHOIEp8qgMqsklIUwVWmoa/rwJZTUB3gNmn8=sha1_base64="FKvQ4FHhMlddzSwr3TszAUykU/c=">AAACmXichVHLLgRBFD3aa4zXIBGJjRBiJbdtiBVjI1bGGMQjk+5WTEVPd6e7ZhImfsBaYiEkJBYiPsGKBR9gIRF7sSSxsXCnexJBcCtVderUPafq5pqeLQNFdF+lVdfU1tXHGuKNTc0trYm29vnALfiWyFiu7fqLphEIWzoio6SyxaLnCyNv2mLB3Jws3y8UhR9I15lTW55YzRsbjlyXlqGYWlpROaGMbEnfySb6aIjC6PkJ9AroG+9MPcqL5PWMm7jECtbgwkIBeQg4UIxtGAh4LEMHwWNuFSXmfEYyvBfYQZy1Bc4SnGEwu8nrBp+WK6zD57JnEKotfsXm6bOyB/10R2f0Qjd0Tk/0/qtXKfQo/2WLdzPSCi/butuVfvtXleddIfep+kNhcnb0swd6p2e6/bM+hXWMhnVJrtMLmXLFVuRR3N5/SY/N9pcG6IS97uiY7umKq3WKr9ZpSsweIM7N0r+35ieYHx7SGae4a0lEEUM3ejHIvRnBOKYwgwy/62APhzjSurUJbUqbjlK1qoqmA19CS38A7L2cOw==sha1_base64="arzcYrHYG6j1a6ZrDaZU+kZZGko=">AAACmXichVG7SgNBFD2urxhfURvBRgyKldy1Uax8NMEqMSYRo4TdddQlm91ldxKIIT9gLViIgoKF+A1WNvoBFoI/IJYKNim82SyIinqHmTlz5p4zc7m6a5m+JHpsU9o7Oru6Iz3R3r7+gcHY0HDWd8qeITKGYznehq75wjJtkZGmtMSG6wmtpFsipxdXmve5ivB807HXZdUV2yVtzzZ3TUOTTG1uyX0htUJNrRdicZqhIMZ/AjUEcYSRdGI32MIOHBgoowQBG5KxBQ0+jzxUEFzmtlFjzmNkBvcCdURZW+YswRkas0Ve9/iUD1mbz01PP1Ab/IrF02PlOCbpga7ole7omp6p8atXLfBo/qXKu97SCrcweDiafv9XVeJdYv9T9YdC5+zWz56oQS90/2d9EruYD+oyuU43YJoVGy2PysHxa3phbbI2RRfs9UDn9Ei3XK1deTMuU2LtBFFulvq9NT9BdnZGZZyi+OJy2LYIxjCBae7NHBaRQBIZftfGEU5xpowpS0pCWW2lKm2hZgRfQkl/AKsPmJo= 1 ? ? ✓(null) 3 ✓AAACmXichVG7SgNBFD2u7/hIVBAhjSiKldzYKFZRm2BlEqPig7i7jrq4L3YnAQ35AWvBQhQULMRvsLLRD7AQxF4sFWwsvLsbEBX1DjNz5sw9Z+ZyNdc0fEl0X6fUNzQ2Nbe0xtraOzrjia7uBd8peboo6I7peEua6gvTsEVBGtIUS64nVEszxaK2MxPcL5aF5xuOPS93XbFmqVu2sWnoqmRqeVVuC6kWK2PVYmKQRimM/p8gVQOD6d7s4zqAOSdxhVVswIGOEiwI2JCMTajweawgBYLL3BoqzHmMjPBeoIoYa0ucJThDZXaH1y0+rdRYm8+Bpx+qdX7F5Omxsh9DdEcX9EI3dElP9P6rVyX0CP6yy7sWaYVbjO/35d/+VVm8S2x/qv5QaJwd/eyB3umZbv+sT2ITE2FdBtfphkxQsR55lPcOX/KTuaHKMJ2x1x2d0j1dc7V2+VU/z4rcEWLcrNT31vwEC2OjKcZZ7to0omhBEgMY4d6MI40M5lDgd20c4BgnSlKZUjLKbJSq1NU0PfgSSv4DejqagA==sha1_base64="cZOtwTbCBK4nsk8VKP2w6JBV0ks=">AAACmXichVG7SgNBFD2u7/iKCiKkEUWxkhsbxcpHI1YmMSpGCbvraAY3u8vuJKDBH7AWLERBwULET7DSQj8ghSD2YqlgY+HNbkBU1DvMzJkz95yZyzVcS/qK6L5Gq62rb2hsao60tLa1d0Q7uxZ9p+CZIm06luMtG7ovLGmLtJLKEsuuJ/S8YYklY2umcr9UFJ4vHXtBbbtiLa9v2nJDmrpiamVV5YTSs6XR3Wx0gEYoiL6fIF4FA5M9iUd5OX0z70SvsIp1ODBRQB4CNhRjCzp8HhnEQXCZW0OJOY+RDO4FdhFhbYGzBGfozG7xusmnTJW1+Vzx9AO1ya9YPD1W9mGQynROL3RLF/RE7796lQKPyl+2eTdCrXCzHXu9qbd/VXneFXKfqj8UBmeHP3ugd3qmuz/rU9jAeFCX5DrdgKlUbIYexZ2Dl9REcrA0RKfsVaYTuqdrrtYuvppnCZE8RISbFf/emp9gcXQkzjjBXZtGGE2IoR/D3JsxTGIW80jzuzb2cYRjLaZNabPaXJiq1VQ13fgSWuoD7uqcPA==sha1_base64="jYNnen75qCuqIwrE0gVqdapgc+Y=">AAACmXichVG7SgNBFD2urxhfURvBJhgUK7mxUax8NGJlEhPFB2F3HZMlm91ldxLQkB+wFixEQcFC/AYrG/2AFAF/QCwVbCy82SyIBuMdZubMmXvOzOVqjml4kqjeoXR2dff0hvrC/QODQ8ORkdGMZ5dcXaR127TdbU31hGlYIi0NaYptxxVqUTPFllZYbdxvlYXrGba1KY8csV9Uc5ZxaOiqZGpnT+aFVLOVuWo2EqNZ8iPaCuIBiCGIDTtyjz0cwIaOEooQsCAZm1Dh8dhFHASHuX1UmHMZGf69QBVh1pY4S3CGymyB1xyfdgPW4nPD0/PVOr9i8nRZGcUU1eiW3uiR7uiFPv/0qvgejb8c8a41tcLJDp+Mpz7+VRV5l8h/q9ooNM5u/uyZPumVntrWJ3GIBb8ug+t0fKZRsd70KB+fvaUWk1OVabpmrxpdUZ0euFqr/K7fJETyHGFuVvx3a1pBZm42zjhBsaWVoG0hTGASM9ybeSxhDRtI87sWTnGBS2VCWVbWlPVmqtIRaMbwI5TUF608mJs= 2

AAACmXichVG7SgNBFD2u7/hIVBDBRhTFKty1Uax8NMHKGKPig7i7TpIlm91ldxLQ4A9YCxaioGAhfoOVjX6ARUDsxVLBxsKb3YCoqHeYmTNn7jkzl6u7lulLomqD0tjU3NLa1h7p6OzqjsZ6eld8p+QZIm04luOt6ZovLNMWaWlKS6y5ntCKuiVW9cJ87X61LDzfdOxlueuKraKWs82saWiSqfVNmRdSy1TU/UxshOIUxNBPoNbByEx/8nEbwKITu8YmduDAQAlFCNiQjC1o8HlsQAXBZW4LFeY8RmZwL7CPCGtLnCU4Q2O2wGuOTxt11uZzzdMP1Aa/YvH0WDmEUbqnS3qhW7qiJ3r/1asSeNT+ssu7HmqFm4keDKTe/lUVeZfIf6r+UOicHf7sgd7pme7+rE8ii6mgLpPrdAOmVrERepT3jl5S00ujlTE6Z697OqMq3XC1dvnVuEiKpWNEuFnq99b8BCsTcZVxkrs2hzDaMIhhjHNvJjGDBBaR5ndtHOIEp8qgMqsklIUwVWmoa/rwJZTUB3gNmn8=sha1_base64="FKvQ4FHhMlddzSwr3TszAUykU/c=">AAACmXichVHLLgRBFD3aa4zXIBGJjRBiJbdtiBVjI1bGGMQjk+5WTEVPd6e7ZhImfsBaYiEkJBYiPsGKBR9gIRF7sSSxsXCnexJBcCtVderUPafq5pqeLQNFdF+lVdfU1tXHGuKNTc0trYm29vnALfiWyFiu7fqLphEIWzoio6SyxaLnCyNv2mLB3Jws3y8UhR9I15lTW55YzRsbjlyXlqGYWlpROaGMbEnfySb6aIjC6PkJ9AroG+9MPcqL5PWMm7jECtbgwkIBeQg4UIxtGAh4LEMHwWNuFSXmfEYyvBfYQZy1Bc4SnGEwu8nrBp+WK6zD57JnEKotfsXm6bOyB/10R2f0Qjd0Tk/0/qtXKfQo/2WLdzPSCi/butuVfvtXleddIfep+kNhcnb0swd6p2e6/bM+hXWMhnVJrtMLmXLFVuRR3N5/SY/N9pcG6IS97uiY7umKq3WKr9ZpSsweIM7N0r+35ieYHx7SGae4a0lEEUM3ejHIvRnBOKYwgwy/62APhzjSurUJbUqbjlK1qoqmA19CS38A7L2cOw==sha1_base64="arzcYrHYG6j1a6ZrDaZU+kZZGko=">AAACmXichVG7SgNBFD2urxhfURvBRgyKldy1Uax8NMEqMSYRo4TdddQlm91ldxKIIT9gLViIgoKF+A1WNvoBFoI/IJYKNim82SyIinqHmTlz5p4zc7m6a5m+JHpsU9o7Oru6Iz3R3r7+gcHY0HDWd8qeITKGYznehq75wjJtkZGmtMSG6wmtpFsipxdXmve5ivB807HXZdUV2yVtzzZ3TUOTTG1uyX0htUJNrRdicZqhIMZ/AjUEcYSRdGI32MIOHBgoowQBG5KxBQ0+jzxUEFzmtlFjzmNkBvcCdURZW+YswRkas0Ve9/iUD1mbz01PP1Ab/IrF02PlOCbpga7ole7omp6p8atXLfBo/qXKu97SCrcweDiafv9XVeJdYv9T9YdC5+zWz56oQS90/2d9EruYD+oyuU43YJoVGy2PysHxa3phbbI2RRfs9UDn9Ei3XK1deTMuU2LtBFFulvq9NT9BdnZGZZyi+OJy2LYIxjCBae7NHBaRQBIZftfGEU5xpowpS0pCWW2lKm2hZgRfQkl/AKsPmJo= 1

AAACkHichVE9SwNBEH05v+NXjI1gEwyKlUxsDIIkaiNWJjEaiCJ356qHl7vj7hKMQbDWVrGwUrAQf4OVhfoDUgT8A2IZwcbCyV1AVNRZdvft23lvdxjF0jXHJaoFpJbWtvaOzq5gd09vX39oILzimEVbFVnV1E07p8iO0DVDZF3N1UXOsoVcUHSxquzON+5XS8J2NNNYdsuWWC/I24a2pamyy1RqbyMUpQnyIvITxJogmrgPzhwCWDJDt1jDJkyoKKIAAQMuYx0yHB55xECwmFtHhTmbkebdCxwgyNoiZwnOkJnd5XWbT/kma/C54el4apVf0XnarIxglKp0TXV6oBt6pvdfvSqeR+MvZd4VXyusjf6joczbv6oC7y52PlV/KBTO9n/2RO/0Qo9/1udiC3GvLo3rtDymUbHqe5T2z+qZ6fRoZYwu2atKF1SjO67WKL2qVymRPkeQmxX73pqfYGVyIsY4RdHkHPzoxDBGMM69mUISC1hClt8VOMYJTqWwFJcS0qyfKgWamkF8CWnxA0W8los=sha1_base64="8Qzt2+y04boPKnW8x9C1qgCr3X4=">AAACkHichVFNLwNRFD3GV42vqo3EptEQK7m1IRLxtRErLaUJjcyM15p0OjOZmTaq8QfYEgsrxEL8BisL/AARiT8gliQ2XbidaSII7st777zz7jnv3VzVNnTXI3pskBqbmltaQ21ye0dnV3e4J7LiWkVHEynNMiwnrSquMHRTpDzdM0TadoRSUA2xqubnaverJeG4umUue2VbZApKztSzuqZ4TCW2N8IxGiE/oj9BvA5iUzfypH32IC9a4SusYxMWNBRRgIAJj7EBBS6PNcRBsJnLoMKcw0j37wV2IbO2yFmCMxRm87zm+LRWZ00+1zxdX63xKwZPh5VRDNI9XdAr3dIlPVP1V6+K71H7S5l3NdAKe6N7r2/p/V9VgXcPW5+qPxQqZwc/e6IqvdDdn/V5yGLcr0vnOm2fqVWsBR6lnaPXpYnkYGWITtnrnk7oka65WrP0pp0nRPIYMjcr/r01P8HK6EiccYJi07MIIoR+DGCYezOGacxjESl+V2AfBziUItK4NCXNBKlSQ13Tiy8hLXwAK3qX/w==sha1_base64="R4fryOHUFpwoFYEWUQH0pGDlWjU=">AAACkHichVFNLwNRFD3GV9VHqzYSm0ZTsZJbG42NYiNWrSqSEpkZD5NOZyYz00Y1/gBbYmFFYiF+g5UNP6ALiT8gliQ2Fu58JILgvrz3zjvvnvPezVUsXXNcooc2qb2js6s70hPt7esfiMUHEyuOWbNVUVJN3bTXFNkRumaIkqu5ulizbCFXFV2sKpV57361LmxHM41lt2GJjaq8Y2jbmiq7TBX2NuMpmiA/kj9BJgQphJE34zdYxxZMqKihCgEDLmMdMhweZWRAsJjbQJM5m5Hm3wscIMraGmcJzpCZrfC6w6dyyBp89jwdX63yKzpPm5VJpKlFV/RCd3RNT/T+q1fT9/D+0uBdCbTC2owdDhff/lVVeXex+6n6Q6FwdvCzR3qnZ7r/sz4X28j6dWlcp+UzXsVq4FHfP30pTi+lm2N0wV4tOqcHuuVqjfqrelkQS2eIcrMy31vzE6xMTmQYFyiVmwvbFsEIRjHOvZlCDgvIo8TvChzhGCdSQspKM9JskCq1hZohfAlp8QOn3pS+ xAAACkHichVE9SwNBEH05v+NXjI1gEwyKlUxsDIIkaiNWJjEaiCJ356qHl7vj7hKMQbDWVrGwUrAQf4OVhfoDUgT8A2IZwcbCyV1AVNRZdvft23lvdxjF0jXHJaoFpJbWtvaOzq5gd09vX39oILzimEVbFVnV1E07p8iO0DVDZF3N1UXOsoVcUHSxquzON+5XS8J2NNNYdsuWWC/I24a2pamyy1RqbyMUpQnyIvITxJogmrgPzhwCWDJDt1jDJkyoKKIAAQMuYx0yHB55xECwmFtHhTmbkebdCxwgyNoiZwnOkJnd5XWbT/kma/C54el4apVf0XnarIxglKp0TXV6oBt6pvdfvSqeR+MvZd4VXyusjf6joczbv6oC7y52PlV/KBTO9n/2RO/0Qo9/1udiC3GvLo3rtDymUbHqe5T2z+qZ6fRoZYwu2atKF1SjO67WKL2qVymRPkeQmxX73pqfYGVyIsY4RdHkHPzoxDBGMM69mUISC1hClt8VOMYJTqWwFJcS0qyfKgWamkF8CWnxA0W8los=sha1_base64="8Qzt2+y04boPKnW8x9C1qgCr3X4=">AAACkHichVFNLwNRFD3GV42vqo3EptEQK7m1IRLxtRErLaUJjcyM15p0OjOZmTaq8QfYEgsrxEL8BisL/AARiT8gliQ2XbidaSII7st777zz7jnv3VzVNnTXI3pskBqbmltaQ21ye0dnV3e4J7LiWkVHEynNMiwnrSquMHRTpDzdM0TadoRSUA2xqubnaverJeG4umUue2VbZApKztSzuqZ4TCW2N8IxGiE/oj9BvA5iUzfypH32IC9a4SusYxMWNBRRgIAJj7EBBS6PNcRBsJnLoMKcw0j37wV2IbO2yFmCMxRm87zm+LRWZ00+1zxdX63xKwZPh5VRDNI9XdAr3dIlPVP1V6+K71H7S5l3NdAKe6N7r2/p/V9VgXcPW5+qPxQqZwc/e6IqvdDdn/V5yGLcr0vnOm2fqVWsBR6lnaPXpYnkYGWITtnrnk7oka65WrP0pp0nRPIYMjcr/r01P8HK6EiccYJi07MIIoR+DGCYezOGacxjESl+V2AfBziUItK4NCXNBKlSQ13Tiy8hLXwAK3qX/w==sha1_base64="R4fryOHUFpwoFYEWUQH0pGDlWjU=">AAACkHichVFNLwNRFD3GV9VHqzYSm0ZTsZJbG42NYiNWrSqSEpkZD5NOZyYz00Y1/gBbYmFFYiF+g5UNP6ALiT8gliQ2Fu58JILgvrz3zjvvnvPezVUsXXNcooc2qb2js6s70hPt7esfiMUHEyuOWbNVUVJN3bTXFNkRumaIkqu5ulizbCFXFV2sKpV57361LmxHM41lt2GJjaq8Y2jbmiq7TBX2NuMpmiA/kj9BJgQphJE34zdYxxZMqKihCgEDLmMdMhweZWRAsJjbQJM5m5Hm3wscIMraGmcJzpCZrfC6w6dyyBp89jwdX63yKzpPm5VJpKlFV/RCd3RNT/T+q1fT9/D+0uBdCbTC2owdDhff/lVVeXex+6n6Q6FwdvCzR3qnZ7r/sz4X28j6dWlcp+UzXsVq4FHfP30pTi+lm2N0wV4tOqcHuuVqjfqrelkQS2eIcrMy31vzE6xMTmQYFyiVmwvbFsEIRjHOvZlCDgvIo8TvChzhGCdSQspKM9JskCq1hZohfAlp8QOn3pS+ x Geometrical solution is UNIQUELY Geometrical solution is NOT uniquely computable: Joint angles to End effector position computable: End effector position to Joint angles 23 Report #1: Deadline 1/17 Thu.

Kinematics exercise:

1. Make a python script for forward kinematics of “more than 4- joint” manipulator.

2. Calculate forward and inverse kinematics for two examples, which I will explain in the next slide, and make python scripts for them (you can download templates for these scripts).

Please send it me by e-mail ([email protected]), or put printed one in a report box @ A15 503 (5F): If you need a few feedback, please (correctly) write your email address!!! 24 Exercise 1 Forward kinematics (l, ✓) (x, y) Inverse kinematics (null) $ yAAACkHichVE9LwRRFD3G11ofu1YjoRBCVHJXY6OxaES1HxYJIjPjYbLzlZnZTdbGH6AlChWJQvwBjUrDD9hiE4VWlCQahTszmwiC+/LeO++8e857N1exdc31iOpNUnNLa1t7pCPa2dXdE4v3JpZdq+SooqBauuWsKrIrdM0UBU/zdLFqO0I2FF2sKMV5/36lLBxXs8wlr2KLDUPeMbVtTZU9prKVzfgITVAQQz9BsgFG0oPX2UcAGSt+g3VswYKKEgwImPAY65Dh8lhDEgSbuQ1UmXMYacG9wD6irC1xluAMmdkirzt8WmuwJp99TzdQq/yKztNh5RBGqUaX9EJ3dEVP9P6rVzXw8P9S4V0JtcLejB3059/+VRm8e9j9VP2hUDg7/NkDvdMz3f9Zn4dtpIK6NK7TDhi/YjX0KO+dvOSnc6PVMTpnrxqdUZ1uuVqz/KpeZEXuFFFuVvJ7a36C5cmJJOMsd20OYUQwgGGMc2+mkMYCMijwuwKHOMKxlJBS0ow0G6ZKTQ1NH76EtPgBN2qXBA==sha1_base64="Mw29lhQOTZimep2s3X+yfHEDTOU=">AAACkHichVE9SwNBEH05v2L8irERFBFFsZKJjcHGqI1YJcaYQBS5O1c9crk77i6BGCxttFUsrBQsxD9gY2WjPyCF4B8Qywg2KZzcBURFnWV3376d93aHUSxdc1yip4DU0trW3hHsDHV19/T2hfsj645ZtFWRVk3dtLOK7AhdM0Ta1VxdZC1byAVFFxklv9S4z5SE7WimseaWLbFZkHcNbUdTZZepZHkrPE7T5MXoTxBtgvH48G3y9XDkNmGG77CBbZhQUUQBAgZcxjpkODxyiIJgMbeJCnM2I827FzhAiLVFzhKcITOb53WXT7kma/C54el4apVf0XnarBzFBFXpmmr0QDf0QvVfvSqeR+MvZd4VXyusrb6jwdT7v6oC7y72PlV/KBTO9n/2THV6pcc/63Oxg5hXl8Z1Wh7TqFj1PUr7Z7XU3OpEZZIu2atKF/RE91ytUXpTr5Ji9Rwhblb0e2t+gvWZ6SjjJHdtEX4EMYQxTHFvZhHHMhJI87sCxzjBqRSRYtK8tOCnSoGmZgBfQlr5AACumGo=sha1_base64="zIPGonXmtQYbyMybYc2drnAQEUM=">AAACkHichVG7SgNBFD2u7/hI1EawCYaIVbixMdj4asTKqIlCDLK7jrpks7vsbgIx+APaKhZWChbiN1jZ6AekCPgDYqlgk8K7DxAV4x1m5syZe87M5SqWrjkuUbND6uzq7unt648MDA4NR2Mjo3nHrNiqyKmmbtrbiuwIXTNEztVcXWxbtpDLii62lNKyd79VFbajmcamW7NEsSwfGNq+psouU9nabixBKfIj/hukQ5BAGGtm7B472IMJFRWUIWDAZaxDhsOjgDQIFnNF1JmzGWn+vcAxIqytcJbgDJnZEq8HfCqErMFnz9Px1Sq/ovO0WRlHkhp0S2/0SHf0Qq0/veq+h/eXGu9KoBXWbvRkfOPjX1WZdxeHX6o2CoWzg589U4te6altfS72kfHr0rhOy2e8itXAo3p08bYxt56sT9E1ezXoipr0wNUa1Xf1JivWLxHhZqV/tuY3yM+k0oyzlFhYCtvWhwlMYpp7M4sFrGANOX5X4BRnOJdGpYw0Ly0GqVJHqBnDt5BWPwGqCpS/ x = l = (y = ✓ = (null) ( (x, y) (null)

AAAClXichVFNLwNRFD3Gd320WJDYNKRSIXJrQyQSQcTOR7Wa0DQz42GYzkxmpo1q/AErO8EGiYX4DVY2/IAuJP6AWJLYWLidaSI0uC/vvfPOu+e8d3MVS9ccl+ixRqqtq29obGoOtLS2tQdDHZ1Jx8zZqkiopm7aKUV2hK4ZIuFqri5Sli3krKKLVWV3pny/mhe2o5nGiluwRDorbxnapqbKLlPJ6N5wuDCYCfXTCHkRrgaxCuif6lsfOgewaIZusY4NmFCRQxYCBlzGOmQ4PNYQA8FiLo0iczYjzbsXOECAtTnOEpwhM7vL6xaf1iqsweeyp+OpVX5F52mzMowIleiaXumebuiZPn71Knoe5b8UeFd8rbAywcOe+Pu/qizvLra/VH8oFM72f/ZEH/RCD3/W52IT415dGtdpeUy5YtX3yO8fv8YnliPFAbpkrxJd0CPdcbVG/k29WhLLZwhws2I/W1MNkqMjMcZL3LVp+NGEXvQhyr0ZwxTmsYgEv7uDI5zgVOqWJqVZac5PlWoqmi58C2nhE9f+l48=sha1_base64="BAzAkeqayfwfK+x6gu6sYN57hF4=">AAAClXichVFNLwNRFD0dX1UfLRYkNg0hhMitDZFIGkTs0GpJkGZmPAzTmcnMtFGNP2BlIRGsSCzEb7Cy4QdYNPEHxJLExsLtTBOhwX1575133j3nvZurWLrmuESlgFRTW1ffEGwMNTW3tIYjbe1px8zZqkippm7aK4rsCF0zRMrVXF2sWLaQs4oulpXd6fL9cl7YjmYaS27BEutZecvQNjVVdplKD+wNRwuDmUgvjZAX0WoQq4DeeM/a0HEpXlgwI7dYwwZMqMghCwEDLmMdMhweq4iBYDG3jiJzNiPNuxc4QIi1Oc4SnCEzu8vrFp9WK6zB57Kn46lVfkXnabMyij56pGt6pXu6oWf6+NWr6HmU/1LgXfG1wsqED7uS7/+qsry72P5S/aFQONv/2RN90As9/Fmfi02Me3VpXKflMeWKVd8jv3/ympxI9BX76ZK9HumCSnTH1Rr5N/VqUSTOEeJmxX62phqkR0dijBe5a1PwI4hu9GCAezOGOOawgBS/u4MjnOJM6pQmpRlp1k+VAhVNB76FNP8J4WeZFQ==sha1_base64="GfCnE4dYsDZit9/R7pos/AdPMHE=">AAAClXichVFNLwNRFD0d3/VVLEhsGg2pROTWhkgkDSJ2+qGtBJGZ8TBMZyYz00Y1/oCVnWBFYiF+g5UNP8BC4g+IZSU2Fm6nkwgN7st777zz7jnv3VzF0jXHJXoKSA2NTc0trW3B9o7Oru5QT2/WMQu2KjKqqZv2iiI7QtcMkXE1Vxcrli3kvKKLnLI3V73PFYXtaKax7JYssZ6Xtw1tS1Nll6lsdH8sXBrdCEVonLwI14OYDyLwI2GGbrGGTZhQUUAeAgZcxjpkODxWEQPBYm4dZeZsRpp3L3CIIGsLnCU4Q2Z2j9dtPq36rMHnqqfjqVV+RedpszKMYXqka6rQPd3QC3386lX2PKp/KfGu1LTC2ug+Gki//6vK8+5i50v1h0Lh7NrPnumDXunhz/pcbGHKq0vjOi2PqVas1jyKByeV9HRquDxCl+z1SBf0RHdcrVF8U6+SInWOIDcr9rM19SA7MR5jnKRIfNZvWysGMYQo92YScSwigQy/u4tjnOJM6pdmpHlpoZYqBXxNH76FtPQJw4iWBg==

lAAACkHichVG7SgNBFD1ZXzE+ErURbMQQsZIbG4MgvhqxSqJJBA2yu07iks3usrsJaBCstVUsrBQsxG+wslA/IEXAHxBLBRsLb3YDoqLeYWbOnLnnzFyuYuma4xI1AlJbe0dnV7A71NPb1x+ODAxmHbNiqyKjmrppryuyI3TNEBlXc3WxbtlCLiu6yCmlpeZ9ripsRzONNXfXEvmyXDS0gqbKLlMpfSsSpUnyYvQniLdAdO4uNHsAIGlGbrCJbZhQUUEZAgZcxjpkODw2EAfBYi6PGnM2I827F9hHiLUVzhKcITNb4rXIp40Wa/C56el4apVf0XnarBxFjOp0RS90T9f0RO+/etU8j+ZfdnlXfK2wtsKHw6tv/6rKvLvY+VT9oVA42//ZI73TMz38WZ+LAhJeXRrXaXlMs2LV96junb6szqRjtXG6YK86nVODbrlao/qqXqZE+gwhblb8e2t+guzUZJxxiqLzi/AjiBGMYYJ7M415LCOJDL8rcIRjnEiDUkKakxb8VCnQ0gzhS0grHyusln8=sha1_base64="M0W5xK2KDF9VZtxELH+LJcFueLg=">AAACkHichVHLSsNAFD3Gd3y06kZwI5aKq3LrRhHE10ZcWbVaqKUkcaqhaRKStKDFH9Ct4sKVigvxG1y5UD9ARPAHxKWCmy68TQqixXqHmTlz5p4zc7mqbeiuR/TcJDW3tLa1d3TKXd09vaFwX/+6axUdTSQ1y7CclKq4wtBNkfR0zxAp2xFKQTXEhppfqN5vlITj6pa55u3aIlNQtk09p2uKx1TCyIYjFCM/hutBvAYiM3fytH3xJC9b4RtsYgsWNBRRgIAJj7EBBS6PNOIg2MxlUGbOYaT79wL7kFlb5CzBGQqzeV63+ZSusSafq56ur9b4FYOnw8phROmRruid7umaXqnyp1fZ96j+ZZd3NdAKOxs6GFz9/FdV4N3DzreqgULl7OBnL1ShN3poWJ+HHCb9unSu0/aZasVa4FHaO3lfnVqJlkfpnL0e6Yye6ZarNUsf2mVCrJxC5mbFf7emHqyPx+KMExSZnUcQHRjCCMa4NxOYxSKWkeR3BQ5xhGOpX5qUZqS5IFVqqmkG8COkpS8Rapfzsha1_base64="ul2v40RECiu+9JK/IY+ChhG2cZE=">AAACkHichVG7SgNBFD1ZXzG+ojaCTTBErMKNjcHGqI1Y5WFU0CC766iLm91ldxPQ4A9oq1hYKViI32Blox+QQvAHxDKCjYV3HyAqxjvMzJkz95yZy1UsXXNcoqeI1NHZ1d0T7Y319Q8MDsWHR1Yds2aroqyaummvK7IjdM0QZVdzdbFu2UKuKrpYU/YXvfu1urAdzTRW3ANLVKryrqHtaKrsMlXQt+JJSpMfid8gE4Ikwsib8TtsYhsmVNRQhYABl7EOGQ6PDWRAsJiroMGczUjz7wWOEGNtjbMEZ8jM7vO6y6eNkDX47Hk6vlrlV3SeNisTSFGTbqhFD3RLL/Txp1fD9/D+csC7EmiFtTV0PFZ6/1dV5d3F3peqjULh7OBnz/RBr/TYtj4XO8j6dWlcp+UzXsVq4FE/PG+VZoupxiRdsVeTLumJ7rlao/6mXhdE8QIxblbmZ2t+g9XpdIZxgZK5hbBtUYxjAlPcmxnksIQ8yvyuwAlOcSaNSFlpTpoPUqVIqBnFt5CWPwGNzpSy ForwardKinematics_2Links_Exc1.py InverseKinematics_2Links_Exc1.py

L(null) 2 ✓AAAClXichVFNLwNRFD3Gd30VCxIb0VSs5NaGSBqCiJ1SLYmKzIyH0enMZOa1STUSays7wYrEQvwGKwv8gC4k/oBYkthYuJ1pIgjuy3vvvPPuOe/dXM0xDU8SPdQotXX1DY1NzaGW1rb2jnBnV9qz864uUrpt2u6KpnrCNCyRkoY0xYrjCjWnmWJZy05X7pcLwvUM21qSRUes5dQty9g0dFUylc7IbSHV9XCEhsmP/p8gVgWRidtQfB9Awg5fI4MN2NCRRw4CFiRjEyo8HquIgeAwt4YScy4jw78X2EOItXnOEpyhMpvldYtPq1XW4nPF0/PVOr9i8nRZ2Y8olemSXuiOruiJ3n/1Kvkelb8UedcCrXDWOw56k2//qnK8S2x/qv5QaJwd/OyR3umZ7v+sT2ITY35dBtfp+EylYj3wKOwevSTHF6OlQTpnrzKd0QPdcLVW4VW/WBCLpwhxs2LfW/MTpEeGY4wXKDI5hSCa0IcBDHFvRjGJOSSQ4nd3cIhjnCg9SlyZUWaDVKWmqunGl1DmPwBS4Zi3sha1_base64="pa+ni+DsQbOJq8Gbdnbf7eJDYSM=">AAAClXichVHLLgRBFD3T3u01WJDYiAmxkjs2RCIEETsMMySIdLeamaanu9NdMwkTP2BlJ1ghFuIbrCzwASISPyCWJDYW7nRPIghupapOnbrnVN1c3bVMXxI9RJSKyqrqmto6tb6hsak52tKa8p28Z4ik4ViOt6RrvrBMWySlKS2x5HpCy+mWWNQ3J0r3iwXh+aZjL8gtV6zmtIxtpk1Dk0ylVmRWSG0tGqN+CqLrJ4iXQWz0Wh1xT+/VWSd6iRWsw4GBPHIQsCEZW9Dg81hGHASXuVUUmfMYmcG9wA5U1uY5S3CGxuwmrxk+LZdZm88lTz9QG/yKxdNjZRd66I7O6YVu6IKe6P1Xr2LgUfrLFu96qBXuWvNux/zbv6oc7xLZT9UfCp2zw5890js90+2f9UmkMRTUZXKdbsCUKjZCj8L2/sv8cKKn2Esn7HVHx/RAV1ytXXg1zuZE4ggqNyv+vTU/QWqgP854jmJj4wijFp3oRh/3ZhBjmMYskvzuBvZwgEOlXRlRJpWpMFWJlDVt+BLKzAc4n5orsha1_base64="5CsmxDbDInG8yPnWWf31N00Mr7Y=">AAAClXichVFNLwNRFD0d3/XRYkFiIxpiJbc2RCIRROyUaklaaWbG0w7TmcnMaxMaf8DKTrAisRC/wcqGH9CFxB8QSxIbC7fTSYQG9+W9d95595z3bq7mmIYniR5DSlNzS2tbe0e4s6u7JxLt7Ut7dsnVRUq3Tdvd1FRPmIYlUtKQpth0XKEWNVNsaHsLtfuNsnA9w7bW5b4jtopq3jJ2DF2VTKWzsiCkmovGaIL8GG4E8QDEEETCjt4ii23Y0FFCEQIWJGMTKjweGcRBcJjbQoU5l5Hh3wscIszaEmcJzlCZ3eM1z6dMwFp8rnl6vlrnV0yeLiuHMUpVuqZXuqcbeqaPX70qvkftL/u8a3WtcHKRo8Hk+7+qIu8ShS/VHwqNs+s/e6IPeqGHP+uT2MG0X5fBdTo+U6tYr3uUD05ekzNro5UxumSvKl3QI91xtVb5Tb9aFWvnCHOz4j9b0wjSkxNxxqsUm5sP2taOIYxgnHszhTksI4EUv7uLY5ziTBlQZpVFZameqoQCTT++hbLyCbUDluo=

L(null) 1

xAAACkHichVE9SwNBEH05v+NXjI1gEwyKlUxsDIIkaiNWJjEaiCJ356qHl7vj7hKMQbDWVrGwUrAQf4OVhfoDUgT8A2IZwcbCyV1AVNRZdvft23lvdxjF0jXHJaoFpJbWtvaOzq5gd09vX39oILzimEVbFVnV1E07p8iO0DVDZF3N1UXOsoVcUHSxquzON+5XS8J2NNNYdsuWWC/I24a2pamyy1RqbyMUpQnyIvITxJogmrgPzhwCWDJDt1jDJkyoKKIAAQMuYx0yHB55xECwmFtHhTmbkebdCxwgyNoiZwnOkJnd5XWbT/kma/C54el4apVf0XnarIxglKp0TXV6oBt6pvdfvSqeR+MvZd4VXyusjf6joczbv6oC7y52PlV/KBTO9n/2RO/0Qo9/1udiC3GvLo3rtDymUbHqe5T2z+qZ6fRoZYwu2atKF1SjO67WKL2qVymRPkeQmxX73pqfYGVyIsY4RdHkHPzoxDBGMM69mUISC1hClt8VOMYJTqWwFJcS0qyfKgWamkF8CWnxA0W8los=sha1_base64="8Qzt2+y04boPKnW8x9C1qgCr3X4=">AAACkHichVFNLwNRFD3GV42vqo3EptEQK7m1IRLxtRErLaUJjcyM15p0OjOZmTaq8QfYEgsrxEL8BisL/AARiT8gliQ2XbidaSII7st777zz7jnv3VzVNnTXI3pskBqbmltaQ21ye0dnV3e4J7LiWkVHEynNMiwnrSquMHRTpDzdM0TadoRSUA2xqubnaverJeG4umUue2VbZApKztSzuqZ4TCW2N8IxGiE/oj9BvA5iUzfypH32IC9a4SusYxMWNBRRgIAJj7EBBS6PNcRBsJnLoMKcw0j37wV2IbO2yFmCMxRm87zm+LRWZ00+1zxdX63xKwZPh5VRDNI9XdAr3dIlPVP1V6+K71H7S5l3NdAKe6N7r2/p/V9VgXcPW5+qPxQqZwc/e6IqvdDdn/V5yGLcr0vnOm2fqVWsBR6lnaPXpYnkYGWITtnrnk7oka65WrP0pp0nRPIYMjcr/r01P8HK6EiccYJi07MIIoR+DGCYezOGacxjESl+V2AfBziUItK4NCXNBKlSQ13Tiy8hLXwAK3qX/w==sha1_base64="R4fryOHUFpwoFYEWUQH0pGDlWjU=">AAACkHichVFNLwNRFD3GV9VHqzYSm0ZTsZJbG42NYiNWrSqSEpkZD5NOZyYz00Y1/gBbYmFFYiF+g5UNP6ALiT8gliQ2Fu58JILgvrz3zjvvnvPezVUsXXNcooc2qb2js6s70hPt7esfiMUHEyuOWbNVUVJN3bTXFNkRumaIkqu5ulizbCFXFV2sKpV57361LmxHM41lt2GJjaq8Y2jbmiq7TBX2NuMpmiA/kj9BJgQphJE34zdYxxZMqKihCgEDLmMdMhweZWRAsJjbQJM5m5Hm3wscIMraGmcJzpCZrfC6w6dyyBp89jwdX63yKzpPm5VJpKlFV/RCd3RNT/T+q1fT9/D+0uBdCbTC2owdDhff/lVVeXex+6n6Q6FwdvCzR3qnZ7r/sz4X28j6dWlcp+UzXsVq4FHfP30pTi+lm2N0wV4tOqcHuuVqjfqrelkQS2eIcrMy31vzE6xMTmQYFyiVmwvbFsEIRjHOvZlCDgvIo8TvChzhGCdSQspKM9JskCq1hZohfAlp8QOn3pS+ 25 Exercise 2 Forward kinematics Inverse kinematics (l, ✓) (x, y) (null) $ x = l =

yAAACkHichVE9LwRRFD3G11ofu1YjoRBCVHJXY6OxaES1HxYJIjPjYbLzlZnZTdbGH6AlChWJQvwBjUrDD9hiE4VWlCQahTszmwiC+/LeO++8e857N1exdc31iOpNUnNLa1t7pCPa2dXdE4v3JpZdq+SooqBauuWsKrIrdM0UBU/zdLFqO0I2FF2sKMV5/36lLBxXs8wlr2KLDUPeMbVtTZU9prKVzfgITVAQQz9BsgFG0oPX2UcAGSt+g3VswYKKEgwImPAY65Dh8lhDEgSbuQ1UmXMYacG9wD6irC1xluAMmdkirzt8WmuwJp99TzdQq/yKztNh5RBGqUaX9EJ3dEVP9P6rVzXw8P9S4V0JtcLejB3059/+VRm8e9j9VP2hUDg7/NkDvdMz3f9Zn4dtpIK6NK7TDhi/YjX0KO+dvOSnc6PVMTpnrxqdUZ1uuVqz/KpeZEXuFFFuVvJ7a36C5cmJJOMsd20OYUQwgGGMc2+mkMYCMijwuwKHOMKxlJBS0ow0G6ZKTQ1NH76EtPgBN2qXBA==sha1_base64="Mw29lhQOTZimep2s3X+yfHEDTOU=">AAACkHichVE9SwNBEH05v2L8irERFBFFsZKJjcHGqI1YJcaYQBS5O1c9crk77i6BGCxttFUsrBQsxD9gY2WjPyCF4B8Qywg2KZzcBURFnWV3376d93aHUSxdc1yip4DU0trW3hHsDHV19/T2hfsj645ZtFWRVk3dtLOK7AhdM0Ta1VxdZC1byAVFFxklv9S4z5SE7WimseaWLbFZkHcNbUdTZZepZHkrPE7T5MXoTxBtgvH48G3y9XDkNmGG77CBbZhQUUQBAgZcxjpkODxyiIJgMbeJCnM2I827FzhAiLVFzhKcITOb53WXT7kma/C54el4apVf0XnarBzFBFXpmmr0QDf0QvVfvSqeR+MvZd4VXyusrb6jwdT7v6oC7y72PlV/KBTO9n/2THV6pcc/63Oxg5hXl8Z1Wh7TqFj1PUr7Z7XU3OpEZZIu2atKF/RE91ytUXpTr5Ji9Rwhblb0e2t+gvWZ6SjjJHdtEX4EMYQxTHFvZhHHMhJI87sCxzjBqRSRYtK8tOCnSoGmZgBfQlr5AACumGo=sha1_base64="zIPGonXmtQYbyMybYc2drnAQEUM=">AAACkHichVG7SgNBFD2u7/hI1EawCYaIVbixMdj4asTKqIlCDLK7jrpks7vsbgIx+APaKhZWChbiN1jZ6AekCPgDYqlgk8K7DxAV4x1m5syZe87M5SqWrjkuUbND6uzq7unt648MDA4NR2Mjo3nHrNiqyKmmbtrbiuwIXTNEztVcXWxbtpDLii62lNKyd79VFbajmcamW7NEsSwfGNq+psouU9nabixBKfIj/hukQ5BAGGtm7B472IMJFRWUIWDAZaxDhsOjgDQIFnNF1JmzGWn+vcAxIqytcJbgDJnZEq8HfCqErMFnz9Px1Sq/ovO0WRlHkhp0S2/0SHf0Qq0/veq+h/eXGu9KoBXWbvRkfOPjX1WZdxeHX6o2CoWzg589U4te6altfS72kfHr0rhOy2e8itXAo3p08bYxt56sT9E1ezXoipr0wNUa1Xf1JivWLxHhZqV/tuY3yM+k0oyzlFhYCtvWhwlMYpp7M4sFrGANOX5X4BRnOJdGpYw0Ly0GqVJHqBnDt5BWPwGqCpS/ (y = ✓ = (null) (

(null)

(x, y) ForwardKinematics_2Links_Exc2.py InverseKinematics_2Links_Exc2.py

AAAClXichVFNLwNRFD3Gd320WJDYNKRSIXJrQyQSQcTOR7Wa0DQz42GYzkxmpo1q/AErO8EGiYX4DVY2/IAuJP6AWJLYWLidaSI0uC/vvfPOu+e8d3MVS9ccl+ixRqqtq29obGoOtLS2tQdDHZ1Jx8zZqkiopm7aKUV2hK4ZIuFqri5Sli3krKKLVWV3pny/mhe2o5nGiluwRDorbxnapqbKLlPJ6N5wuDCYCfXTCHkRrgaxCuif6lsfOgewaIZusY4NmFCRQxYCBlzGOmQ4PNYQA8FiLo0iczYjzbsXOECAtTnOEpwhM7vL6xaf1iqsweeyp+OpVX5F52mzMowIleiaXumebuiZPn71Knoe5b8UeFd8rbAywcOe+Pu/qizvLra/VH8oFM72f/ZEH/RCD3/W52IT415dGtdpeUy5YtX3yO8fv8YnliPFAbpkrxJd0CPdcbVG/k29WhLLZwhws2I/W1MNkqMjMcZL3LVp+NGEXvQhyr0ZwxTmsYgEv7uDI5zgVOqWJqVZac5PlWoqmi58C2nhE9f+l48=sha1_base64="BAzAkeqayfwfK+x6gu6sYN57hF4=">AAAClXichVFNLwNRFD0dX1UfLRYkNg0hhMitDZFIGkTs0GpJkGZmPAzTmcnMtFGNP2BlIRGsSCzEb7Cy4QdYNPEHxJLExsLtTBOhwX1575133j3nvZurWLrmuESlgFRTW1ffEGwMNTW3tIYjbe1px8zZqkippm7aK4rsCF0zRMrVXF2sWLaQs4oulpXd6fL9cl7YjmYaS27BEutZecvQNjVVdplKD+wNRwuDmUgvjZAX0WoQq4DeeM/a0HEpXlgwI7dYwwZMqMghCwEDLmMdMhweq4iBYDG3jiJzNiPNuxc4QIi1Oc4SnCEzu8vrFp9WK6zB57Kn46lVfkXnabMyij56pGt6pXu6oWf6+NWr6HmU/1LgXfG1wsqED7uS7/+qsry72P5S/aFQONv/2RN90As9/Fmfi02Me3VpXKflMeWKVd8jv3/ympxI9BX76ZK9HumCSnTH1Rr5N/VqUSTOEeJmxX62phqkR0dijBe5a1PwI4hu9GCAezOGOOawgBS/u4MjnOJM6pQmpRlp1k+VAhVNB76FNP8J4WeZFQ==sha1_base64="GfCnE4dYsDZit9/R7pos/AdPMHE=">AAAClXichVFNLwNRFD0d3/VVLEhsGg2pROTWhkgkDSJ2+qGtBJGZ8TBMZyYz00Y1/oCVnWBFYiF+g5UNP8BC4g+IZSU2Fm6nkwgN7st777zz7jnv3VzF0jXHJXoKSA2NTc0trW3B9o7Oru5QT2/WMQu2KjKqqZv2iiI7QtcMkXE1Vxcrli3kvKKLnLI3V73PFYXtaKax7JYssZ6Xtw1tS1Nll6lsdH8sXBrdCEVonLwI14OYDyLwI2GGbrGGTZhQUUAeAgZcxjpkODxWEQPBYm4dZeZsRpp3L3CIIGsLnCU4Q2Z2j9dtPq36rMHnqqfjqVV+RedpszKMYXqka6rQPd3QC3386lX2PKp/KfGu1LTC2ug+Gki//6vK8+5i50v1h0Lh7NrPnumDXunhz/pcbGHKq0vjOi2PqVas1jyKByeV9HRquDxCl+z1SBf0RHdcrVF8U6+SInWOIDcr9rM19SA7MR5jnKRIfNZvWysGMYQo92YScSwigQy/u4tjnOJM6pdmpHlpoZYqBXxNH76FtPQJw4iWBg==

lAAACkHichVG7SgNBFD1ZXzE+ErURbMQQsZIbG4MgvhqxSqJJBA2yu07iks3usrsJaBCstVUsrBQsxG+wslA/IEXAHxBLBRsLb3YDoqLeYWbOnLnnzFyuYuma4xI1AlJbe0dnV7A71NPb1x+ODAxmHbNiqyKjmrppryuyI3TNEBlXc3WxbtlCLiu6yCmlpeZ9ripsRzONNXfXEvmyXDS0gqbKLlMpfSsSpUnyYvQniLdAdO4uNHsAIGlGbrCJbZhQUUEZAgZcxjpkODw2EAfBYi6PGnM2I827F9hHiLUVzhKcITNb4rXIp40Wa/C56el4apVf0XnarBxFjOp0RS90T9f0RO+/etU8j+ZfdnlXfK2wtsKHw6tv/6rKvLvY+VT9oVA42//ZI73TMz38WZ+LAhJeXRrXaXlMs2LV96junb6szqRjtXG6YK86nVODbrlao/qqXqZE+gwhblb8e2t+guzUZJxxiqLzi/AjiBGMYYJ7M415LCOJDL8rcIRjnEiDUkKakxb8VCnQ0gzhS0grHyusln8=sha1_base64="M0W5xK2KDF9VZtxELH+LJcFueLg=">AAACkHichVHLSsNAFD3Gd3y06kZwI5aKq3LrRhHE10ZcWbVaqKUkcaqhaRKStKDFH9Ct4sKVigvxG1y5UD9ARPAHxKWCmy68TQqixXqHmTlz5p4zc7mqbeiuR/TcJDW3tLa1d3TKXd09vaFwX/+6axUdTSQ1y7CclKq4wtBNkfR0zxAp2xFKQTXEhppfqN5vlITj6pa55u3aIlNQtk09p2uKx1TCyIYjFCM/hutBvAYiM3fytH3xJC9b4RtsYgsWNBRRgIAJj7EBBS6PNOIg2MxlUGbOYaT79wL7kFlb5CzBGQqzeV63+ZSusSafq56ur9b4FYOnw8phROmRruid7umaXqnyp1fZ96j+ZZd3NdAKOxs6GFz9/FdV4N3DzreqgULl7OBnL1ShN3poWJ+HHCb9unSu0/aZasVa4FHaO3lfnVqJlkfpnL0e6Yye6ZarNUsf2mVCrJxC5mbFf7emHqyPx+KMExSZnUcQHRjCCMa4NxOYxSKWkeR3BQ5xhGOpX5qUZqS5IFVqqmkG8COkpS8Rapfzsha1_base64="ul2v40RECiu+9JK/IY+ChhG2cZE=">AAACkHichVG7SgNBFD1ZXzG+ojaCTTBErMKNjcHGqI1Y5WFU0CC766iLm91ldxPQ4A9oq1hYKViI32Blox+QQvAHxDKCjYV3HyAqxjvMzJkz95yZy1UsXXNcoqeI1NHZ1d0T7Y319Q8MDsWHR1Yds2aroqyaummvK7IjdM0QZVdzdbFu2UKuKrpYU/YXvfu1urAdzTRW3ANLVKryrqHtaKrsMlXQt+JJSpMfid8gE4Ikwsib8TtsYhsmVNRQhYABl7EOGQ6PDWRAsJiroMGczUjz7wWOEGNtjbMEZ8jM7vO6y6eNkDX47Hk6vlrlV3SeNisTSFGTbqhFD3RLL/Txp1fD9/D+csC7EmiFtTV0PFZ6/1dV5d3F3peqjULh7OBnz/RBr/TYtj4XO8j6dWlcp+UzXsVq4FE/PG+VZoupxiRdsVeTLumJ7rlao/6mXhdE8QIxblbmZ2t+g9XpdIZxgZK5hbBtUYxjAlPcmxnksIQ8yvyuwAlOcSaNSFlpTpoPUqVIqBnFt5CWPwGNzpSy

L(null)

AAAClXichVFNLwNRFD3Gd30VCxIb0VSs5NaGSBqCiJ1SLYmKzIyH0enMZOa1STUSays7wYrEQvwGKwv8gC4k/oBYkthYuJ1pIgjuy3vvvPPuOe/dXM0xDU8SPdQotXX1DY1NzaGW1rb2jnBnV9qz864uUrpt2u6KpnrCNCyRkoY0xYrjCjWnmWJZy05X7pcLwvUM21qSRUes5dQty9g0dFUylc7IbSHV9XCEhsmP/p8gVgWRidtQfB9Awg5fI4MN2NCRRw4CFiRjEyo8HquIgeAwt4YScy4jw78X2EOItXnOEpyhMpvldYtPq1XW4nPF0/PVOr9i8nRZ2Y8olemSXuiOruiJ3n/1Kvkelb8UedcCrXDWOw56k2//qnK8S2x/qv5QaJwd/OyR3umZ7v+sT2ITY35dBtfp+EylYj3wKOwevSTHF6OlQTpnrzKd0QPdcLVW4VW/WBCLpwhxs2LfW/MTpEeGY4wXKDI5hSCa0IcBDHFvRjGJOSSQ4nd3cIhjnCg9SlyZUWaDVKWmqunGl1DmPwBS4Zi3sha1_base64="pa+ni+DsQbOJq8Gbdnbf7eJDYSM=">AAAClXichVHLLgRBFD3T3u01WJDYiAmxkjs2RCIEETsMMySIdLeamaanu9NdMwkTP2BlJ1ghFuIbrCzwASISPyCWJDYW7nRPIghupapOnbrnVN1c3bVMXxI9RJSKyqrqmto6tb6hsak52tKa8p28Z4ik4ViOt6RrvrBMWySlKS2x5HpCy+mWWNQ3J0r3iwXh+aZjL8gtV6zmtIxtpk1Dk0ylVmRWSG0tGqN+CqLrJ4iXQWz0Wh1xT+/VWSd6iRWsw4GBPHIQsCEZW9Dg81hGHASXuVUUmfMYmcG9wA5U1uY5S3CGxuwmrxk+LZdZm88lTz9QG/yKxdNjZRd66I7O6YVu6IKe6P1Xr2LgUfrLFu96qBXuWvNux/zbv6oc7xLZT9UfCp2zw5890js90+2f9UmkMRTUZXKdbsCUKjZCj8L2/sv8cKKn2Esn7HVHx/RAV1ytXXg1zuZE4ggqNyv+vTU/QWqgP854jmJj4wijFp3oRh/3ZhBjmMYskvzuBvZwgEOlXRlRJpWpMFWJlDVt+BLKzAc4n5orsha1_base64="5CsmxDbDInG8yPnWWf31N00Mr7Y=">AAAClXichVFNLwNRFD0d3/XRYkFiIxpiJbc2RCIRROyUaklaaWbG0w7TmcnMaxMaf8DKTrAisRC/wcqGH9CFxB8QSxIbC7fTSYQG9+W9d95595z3bq7mmIYniR5DSlNzS2tbe0e4s6u7JxLt7Ut7dsnVRUq3Tdvd1FRPmIYlUtKQpth0XKEWNVNsaHsLtfuNsnA9w7bW5b4jtopq3jJ2DF2VTKWzsiCkmovGaIL8GG4E8QDEEETCjt4ii23Y0FFCEQIWJGMTKjweGcRBcJjbQoU5l5Hh3wscIszaEmcJzlCZ3eM1z6dMwFp8rnl6vlrnV0yeLiuHMUpVuqZXuqcbeqaPX70qvkftL/u8a3WtcHKRo8Hk+7+qIu8ShS/VHwqNs+s/e6IPeqGHP+uT2MG0X5fBdTo+U6tYr3uUD05ekzNro5UxumSvKl3QI91xtVb5Tb9aFWvnCHOz4j9b0wjSkxNxxqsUm5sP2taOIYxgnHszhTksI4EUv7uLY5ziTBlQZpVFZameqoQCTT++hbLyCbUDluo=

xAAACkHichVE9SwNBEH05v+NXjI1gEwyKlUxsDIIkaiNWJjEaiCJ356qHl7vj7hKMQbDWVrGwUrAQf4OVhfoDUgT8A2IZwcbCyV1AVNRZdvft23lvdxjF0jXHJaoFpJbWtvaOzq5gd09vX39oILzimEVbFVnV1E07p8iO0DVDZF3N1UXOsoVcUHSxquzON+5XS8J2NNNYdsuWWC/I24a2pamyy1RqbyMUpQnyIvITxJogmrgPzhwCWDJDt1jDJkyoKKIAAQMuYx0yHB55xECwmFtHhTmbkebdCxwgyNoiZwnOkJnd5XWbT/kma/C54el4apVf0XnarIxglKp0TXV6oBt6pvdfvSqeR+MvZd4VXyusjf6joczbv6oC7y52PlV/KBTO9n/2RO/0Qo9/1udiC3GvLo3rtDymUbHqe5T2z+qZ6fRoZYwu2atKF1SjO67WKL2qVymRPkeQmxX73pqfYGVyIsY4RdHkHPzoxDBGMM69mUISC1hClt8VOMYJTqWwFJcS0qyfKgWamkF8CWnxA0W8los=sha1_base64="8Qzt2+y04boPKnW8x9C1qgCr3X4=">AAACkHichVFNLwNRFD3GV42vqo3EptEQK7m1IRLxtRErLaUJjcyM15p0OjOZmTaq8QfYEgsrxEL8BisL/AARiT8gliQ2XbidaSII7st777zz7jnv3VzVNnTXI3pskBqbmltaQ21ye0dnV3e4J7LiWkVHEynNMiwnrSquMHRTpDzdM0TadoRSUA2xqubnaverJeG4umUue2VbZApKztSzuqZ4TCW2N8IxGiE/oj9BvA5iUzfypH32IC9a4SusYxMWNBRRgIAJj7EBBS6PNcRBsJnLoMKcw0j37wV2IbO2yFmCMxRm87zm+LRWZ00+1zxdX63xKwZPh5VRDNI9XdAr3dIlPVP1V6+K71H7S5l3NdAKe6N7r2/p/V9VgXcPW5+qPxQqZwc/e6IqvdDdn/V5yGLcr0vnOm2fqVWsBR6lnaPXpYnkYGWITtnrnk7oka65WrP0pp0nRPIYMjcr/r01P8HK6EiccYJi07MIIoR+DGCYezOGacxjESl+V2AfBziUItK4NCXNBKlSQ13Tiy8hLXwAK3qX/w==sha1_base64="R4fryOHUFpwoFYEWUQH0pGDlWjU=">AAACkHichVFNLwNRFD3GV9VHqzYSm0ZTsZJbG42NYiNWrSqSEpkZD5NOZyYz00Y1/gBbYmFFYiF+g5UNP6ALiT8gliQ2Fu58JILgvrz3zjvvnvPezVUsXXNcooc2qb2js6s70hPt7esfiMUHEyuOWbNVUVJN3bTXFNkRumaIkqu5ulizbCFXFV2sKpV57361LmxHM41lt2GJjaq8Y2jbmiq7TBX2NuMpmiA/kj9BJgQphJE34zdYxxZMqKihCgEDLmMdMhweZWRAsJjbQJM5m5Hm3wscIMraGmcJzpCZrfC6w6dyyBp89jwdX63yKzpPm5VJpKlFV/RCd3RNT/T+q1fT9/D+0uBdCbTC2owdDhff/lVVeXex+6n6Q6FwdvCzR3qnZ7r/sz4X28j6dWlcp+UzXsVq4FHfP30pTi+lm2N0wV4tOqcHuuVqjfqrelkQS2eIcrMy31vzE6xMTmQYFyiVmwvbFsEIRjHOvZlCDgvIo8TvChzhGCdSQspKM9JskCq1hZohfAlp8QOn3pS+ End.