{ "info": { "author": "lanius", "author_email": "lanius@nirvake.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5" ], "description": "Tinyik\r\n======\r\n\r\nTinyik is a simple and naive inverse kinematics solver.\r\n\r\nIt defines an actuator as a set of links and revolute joints from an origin. Here is an example of a robot arm that consists of two joints that rotate around z-axis and two links of 1.0 length along x-axis:\r\n\r\n.. code-block:: python\r\n\r\n >>> import tinyik\r\n >>> arm = tinyik.Actuator(['z', [1., 0., 0.], 'z', [1., 0., 0.]])\r\n\r\nSince the joint angles are zero by default, the end-effector position is at (2.0, 0, 0):\r\n\r\n.. code-block:: python\r\n\r\n >>> arm.angles\r\n array([ 0., 0.])\r\n >>> arm.ee\r\n array([ 2., 0., 0.])\r\n\r\nSets the joint angles to 30 and 60 degrees to calculate a new position of the end-effector:\r\n\r\n.. code-block:: python\r\n\r\n >>> import numpy as np\r\n >>> arm.angles = [np.pi / 6, np.pi / 3] # or np.deg2rad([30, 60])\r\n >>> arm.ee\r\n array([ 0.8660254, 1.5 , 0. ])\r\n\r\nSets a position of the end-effector to calculate the joint angles:\r\n\r\n.. code-block:: python\r\n\r\n >>> arm.ee = [2 / np.sqrt(2), 2 / np.sqrt(2), 0.]\r\n >>> arm.angles\r\n array([ 7.85398147e-01, 3.23715739e-08])\r\n >>> np.round(np.rad2deg(arm.angles))\r\n array([ 45., 0.])\r\n\r\n\r\nInstallation\r\n------------\r\n\r\n.. code-block:: console\r\n\r\n $ pip install tinyik", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/lanius/tinyik", "keywords": null, "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "tinyik", "package_url": "https://pypi.org/project/tinyik/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/tinyik/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/lanius/tinyik" }, "release_url": "https://pypi.org/project/tinyik/1.2.0/", "requires_dist": null, "requires_python": null, "summary": "A tiny inverse kinematics solver", "version": "1.2.0" }, "last_serial": 2597862, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "7775a9d687f30348f716276dd14bd31b", "sha256": "8fe4fa303e1e3f9c604d17e166ac8e1f65066adcfed6f0d6a7c9b1bec1c6374a" }, "downloads": -1, "filename": "tinyik-0.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7775a9d687f30348f716276dd14bd31b", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 4790, "upload_time": "2016-02-09T17:06:44", "url": "https://files.pythonhosted.org/packages/4d/e0/d09374dae9e92a1c4b2fd494ba054095e57c097dae6e33a43f858cb2fb67/tinyik-0.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fe4e21bff5f4773808c56fd25d72c20f", "sha256": "85916b3c4d3d636e64c390a5431dc03fa26be92ea8f5d5edcb7679c5ab4e9036" }, "downloads": -1, "filename": "tinyik-0.0.1.zip", "has_sig": false, "md5_digest": "fe4e21bff5f4773808c56fd25d72c20f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7471, "upload_time": "2016-02-09T17:06:38", "url": "https://files.pythonhosted.org/packages/ec/08/74ec17c7232e053b6b38c82411a30161d115e13630b31f81b1e09d6cca88/tinyik-0.0.1.zip" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "1001fb06f3c75a3891cce5ec789690e1", "sha256": "a69fe044e21be091417a2c3a950611c3aff210108488c6fee513440e8370427a" }, "downloads": -1, "filename": "tinyik-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1001fb06f3c75a3891cce5ec789690e1", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 4979, "upload_time": "2016-02-26T17:18:18", "url": "https://files.pythonhosted.org/packages/8a/a4/1715bf64756a2b0b29de92df585d70308f2ea78b8fe204e1cd87377e11aa/tinyik-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e81418581490f97649bbe53f4ea28c04", "sha256": "e730b93c10ff3c859e20d54b3dfb8e6c0e47640d7add9899e26eff26ca04c753" }, "downloads": -1, "filename": "tinyik-0.1.0.zip", "has_sig": false, "md5_digest": "e81418581490f97649bbe53f4ea28c04", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7723, "upload_time": "2016-02-26T17:18:12", "url": "https://files.pythonhosted.org/packages/b7/89/de51dcf40f032a867b67809e54c81d9155be47f8d46c439bcf60bcade608/tinyik-0.1.0.zip" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "640d43611a6a311207fc75e419267635", "sha256": "515c86f2982e71265b35f09980e6ee40703f83609e9ce6a8c737c25161480184" }, "downloads": -1, "filename": "tinyik-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "640d43611a6a311207fc75e419267635", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 5344, "upload_time": "2016-02-26T18:42:39", "url": "https://files.pythonhosted.org/packages/c8/cd/6938e4d6bbbdeec1caf8bf3fb3f4b374b6f99933890c35c3b8d04f766fd9/tinyik-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f2c87cdfe7b8f3a2a35b8deed41cb566", "sha256": "1235f85648682101564758f9477a80f7cda43d70075923eb571999252f735329" }, "downloads": -1, "filename": "tinyik-1.0.0.zip", "has_sig": false, "md5_digest": "f2c87cdfe7b8f3a2a35b8deed41cb566", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8128, "upload_time": "2016-02-26T18:42:32", "url": "https://files.pythonhosted.org/packages/c1/68/604dd5e3424afb588732984f9bebc61e2a6a991eb67d119182e49748a98c/tinyik-1.0.0.zip" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "16797b4ad8345bf4b68752031f4b0470", "sha256": "85ee7410e8116fda37c547f29c4430791893a3a063ef1ff44883fbef65a25a68" }, "downloads": -1, "filename": "tinyik-1.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "16797b4ad8345bf4b68752031f4b0470", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 6218, "upload_time": "2016-03-21T16:16:23", "url": "https://files.pythonhosted.org/packages/89/f4/31756e68b459eb1237f797100c2fbe19cfd797af68b372bb5edf86b88f87/tinyik-1.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5ccd645d6d4e5f54d0c4174f2e2f7404", "sha256": "c5e19d9cfd7a289384ad4f3d9aa551d476660c6cc0b77e2bf4f35acab2cd08ca" }, "downloads": -1, "filename": "tinyik-1.1.0.zip", "has_sig": false, "md5_digest": "5ccd645d6d4e5f54d0c4174f2e2f7404", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9017, "upload_time": "2016-03-21T16:15:54", "url": "https://files.pythonhosted.org/packages/e3/2d/ea08cba6e0e5947c88d3700111b0fa75db166e33fdf22fe1d127280d6fbf/tinyik-1.1.0.zip" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "a004b9f6185147e735452fcf8bddfb3e", "sha256": "c4979d4684f63a22b216e8dd76bafb6edc362ccb3944a07fd79c2c4a17dc4f51" }, "downloads": -1, "filename": "tinyik-1.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a004b9f6185147e735452fcf8bddfb3e", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 6653, "upload_time": "2017-01-25T16:42:15", "url": "https://files.pythonhosted.org/packages/98/ec/6fa93d1bb0356a28ffff23de4ee9b4ebb0337f91fc5999578ec2b8284c94/tinyik-1.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d47b197324c1270854ca0419c1d78882", "sha256": "3ed1538682e9770111e3c5f4be859cbb650ece935cc06b5adbdf5fe105ab9c67" }, "downloads": -1, "filename": "tinyik-1.2.0.zip", "has_sig": false, "md5_digest": "d47b197324c1270854ca0419c1d78882", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10497, "upload_time": "2017-01-25T16:42:13", "url": "https://files.pythonhosted.org/packages/1d/66/5b2f3b9c9427a6a319ddef8678b0274a620316e2f38ddcdb2c73e83e471e/tinyik-1.2.0.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a004b9f6185147e735452fcf8bddfb3e", "sha256": "c4979d4684f63a22b216e8dd76bafb6edc362ccb3944a07fd79c2c4a17dc4f51" }, "downloads": -1, "filename": "tinyik-1.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a004b9f6185147e735452fcf8bddfb3e", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 6653, "upload_time": "2017-01-25T16:42:15", "url": "https://files.pythonhosted.org/packages/98/ec/6fa93d1bb0356a28ffff23de4ee9b4ebb0337f91fc5999578ec2b8284c94/tinyik-1.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d47b197324c1270854ca0419c1d78882", "sha256": "3ed1538682e9770111e3c5f4be859cbb650ece935cc06b5adbdf5fe105ab9c67" }, "downloads": -1, "filename": "tinyik-1.2.0.zip", "has_sig": false, "md5_digest": "d47b197324c1270854ca0419c1d78882", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10497, "upload_time": "2017-01-25T16:42:13", "url": "https://files.pythonhosted.org/packages/1d/66/5b2f3b9c9427a6a319ddef8678b0274a620316e2f38ddcdb2c73e83e471e/tinyik-1.2.0.zip" } ] }