# [PD] Calculating Inverse Kinematics Using Expr

me.grimm megrimm at gmail.com
Thu Jan 26 15:17:23 CET 2017

```for those interested I am sharing forward and inverse 2d 2dof kinematics.

next up is 2d/3d 3dof but only when i find a decent tutorial/implementation
that will translate to [expr] easy.... which also might not be so easy

cheers
m

On Wed, Jan 25, 2017 at 11:25 AM, me.grimm <megrimm at gmail.com> wrote:

> hey matt yeah that does work out correctly. thank for the help...
>
> i figured i was using the "^" operator wrong here....
>
> cheers
> m
>
> On Wed, Jan 25, 2017 at 11:10 AM, Matt Barber <brbrofsvl at gmail.com> wrote:
>
>> In expr, ^ is bitwise-exclusive-or, but you want exponentiation. Just
>> replace \$f1^2 with \$f1*\$f1.
>>
>> On Wed, Jan 25, 2017 at 11:03 AM, me.grimm <megrimm at gmail.com> wrote:
>>
>>> Hello,
>>>
>>> I am trying to calculate inverse kinematics in 2D space with 2 DOF
>>> according to this tutorial(1) and formulas within using [expr]. For some
>>> reason my calculations for "c2" using [expr] deliver quite a different
>>> result than the excel sheet calculation that the tutorial provides.
>>>
>>> What am I doing wrong here? It may be I don't quite understand how "^"
>>> is used?
>>>
>>> Using:
>>> Linkage 1 length of 5
>>> Linkage 2 length of 4
>>>
>>> and plotting my the end of joint 2 at (3.56, 6.43) I should get c2 to
>>> equal 0.3254625 but get 0.25 with [expr]. Because of this further
>>> calculations to get joint angles are also off, obviously.
>>>
>>> attached is patch.
>>>
>>> but maybe someone has already done this type of work which might save me
>>> some trouble...
>>>
>>> cheers
>>> m
>>>
>>>
>>> (1) http://www.societyofrobots.com/robot_arm_tutorial.shtml#
>>> inverse_kinematics
>>>
>>> --
>>> ____________________
>>> m.e.grimm, m.f.a, ed.m.
>>> syracuse u., tc3
>>> megrimm.net
>>> ____________________
>>>
>>> _______________________________________________
>>> Pd-list at lists.iem.at mailing list
>>> UNSUBSCRIBE and account-management -> https://lists.puredata.info/li
>>> stinfo/pd-list
>>>
>>>
>>
>
>
> --
> ____________________
> m.e.grimm, m.f.a, ed.m.
> syracuse u., tc3
> megrimm.net
> ____________________
>

--
____________________
m.e.grimm, m.f.a, ed.m.
syracuse u., tc3
megrimm.net
____________________
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20170126/a2427258/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: inv-fwd-kin-test.pd
Type: application/octet-stream
Size: 914 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20170126/a2427258/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: kin.fwd.2d.2dof-help.pd
Type: application/octet-stream
Size: 925 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20170126/a2427258/attachment-0001.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: kin.fwd.2d.2dof.pd
Type: application/octet-stream
Size: 829 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20170126/a2427258/attachment-0002.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: kin.inv.2d.2dof-help.pd
Type: application/octet-stream
Size: 868 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20170126/a2427258/attachment-0003.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: kin.inv.2d.2dof.pd
Type: application/octet-stream
Size: 1000 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20170126/a2427258/attachment-0004.obj>
```