{ "info": { "author": "Interstellar Technologies Inc.", "author_email": "hoge@google.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Education", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Mathematics", "Topic :: Scientific/Engineering :: Physics" ], "description": "=================================================\nOpenGoddard - Trajectory Optimization for Python\n=================================================\n\nOpenGoddard is a open source python library designed for solving general-purpose optimal control problems.\nOpenGoddard is based on the pseudospectral optimal control theory.\n\nWhat sort of problems does OpenGoddard solve?\n=============================================\nGenerally speaking, it can adapt to open-loop nonlinear optimal control problems such as aerospace, robot, industry, energy, chemistry etc.\nIn the field of aerospace, for example, it is possible to generate the optimum trajectory of the spacecraft.\n\nExamples\n========\n\n1. Brachistochrone problem\n2. Goddard problem (optimal rocket ascent problem)\n3. Launch vehicle trajectory optimization\n4. Low thrust spacecraft trajectory transition problem\n\n.. image:: docs/_images/result.png\n\nFeatures\n========\n* Easy to install\n* Lots of examples\n* Readable source code\n* Adopt pseudospectral method\n* Pseudospectral method of Legendre-Gauss-Lobatto\n* Pseudospectral knotting-method\n* Easy to scale variable\n* use SLSQP(in scipy) for solving nonlinear programming problem (NLP)\n\nInstallation\n============\n::\n\n $ pip install OpenGoddard\n\nUsage\n=====\n::\n\n from OpenGoddard.optimize import Problem, Guess, Condition, Dynamics\n\n#. Make object that has methods and variables to optimize trajectory\n#. Equation of motion\n#. Constraint\n#. Evaluation function\n#. Instantiation of Problem class\n#. Installation of an object class that optimizes trajectory\n#. Set canonical unit of optimization variable (optional)\n#. Guess initial values and set it (optional)\n#. Set Problem.functions and knotting condition\n#. Solve\n#. Post process (visualization)\n\nLicense\n=======\nOpenGoddard is an Open Source project licensed under the MIT License\n\n\n----\n\n==========================================================\nOpenGoddard - \u9023\u7d9a\u6642\u9593\u306e\u975e\u7dda\u5f62\u6700\u9069\u5236\u5fa1\u554f\u984c\u306e\u305f\u3081\u306epython\u30e9\u30a4\u30d6\u30e9\u30ea\n==========================================================\n\nOpenGoddard\u306f\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u306a\u9023\u7d9a\u6642\u9593\u306e\u975e\u7dda\u5f62\u6700\u9069\u5236\u5fa1\u554f\u984c\u3092\u89e3\u304fpython\u30e9\u30a4\u30d6\u30e9\u30ea\u3067\u3059\u3002\n\u6570\u5024\u89e3\u6cd5\u3068\u3057\u3066\u306f\u64ec\u30b9\u30da\u30af\u30c8\u30eb\u6cd5\u3092\u63a1\u7528\u3057\u3066\u3044\u307e\u3059\u3002\n\n\u3069\u3093\u306a\u554f\u984c\u304c\u89e3\u3051\u308b\u304b\uff1f\n===================\n\u4e00\u822c\u7684\u306b\u3001\u822a\u7a7a\u5b87\u5b99\u3001\u30ed\u30dc\u30c3\u30c8\u3001\u7523\u696d\u3001\u30a8\u30cd\u30eb\u30ae\u30fc\u3001\u5316\u5b66\u306a\u3069\u306a\u3069\u306e\u30aa\u30fc\u30d7\u30f3\u30eb\u30fc\u30d7\u306a\u975e\u7dda\u5f62\u6700\u9069\u5236\u5fa1\u554f\u984c\u306b\u9069\u5fdc\u3067\u304d\u307e\u3059\u3002\n\u822a\u7a7a\u5b87\u5b99\u306e\u5206\u91ce\u3067\u306f\u4f8b\u3048\u3070\u3001\u5b87\u5b99\u6a5f\u306e\u6700\u9069\u306a\u8ecc\u9053\u3092\u751f\u6210\u3059\u308b\u3053\u3068\u306a\u3069\u304c\u3067\u304d\u307e\u3059\u3002\n\n\u4f8b\n====\n\n1. \u6700\u901f\u964d\u4e0b\u554f\u984c\n2. \u30b4\u30c0\u30fc\u30c9\u554f\u984c\uff08\u30ed\u30b1\u30c3\u30c8\u306e\u6700\u9069\u4e0a\u6607\u5236\u5fa1\u554f\u984c\uff09\n3. \u30ed\u30b1\u30c3\u30c8\u306e\u6700\u9069\u8ecc\u9053\u751f\u6210\n4. \u4f4e\u63a8\u529b\u8ecc\u9053\u9077\u79fb\u554f\u984c\n\n.. image:: docs/_images/result.png\n\n\n\u7279\u5fb4\n====\n* \u7c21\u5358\u306a\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb - python\u306enumpy, scipy, matplotlib\u306b\u3057\u304b\u4f9d\u5b58\u3057\u3066\u3044\u307e\u305b\u3093\u3002\n* \u8907\u6570\u306e\u4f8b\u984c\n* \u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u306e\u9ad8\u3044\u53ef\u8aad\u6027\n* \u975e\u7dda\u5f62\u6700\u9069\u5236\u5fa1\u3092\u6570\u5024\u89e3\u6cd5\u306e\u3046\u3061\u3001\u76f4\u63a5\u6cd5\u306e\u4e2d\u306e\u64ec\u30b9\u30da\u30af\u30c8\u30eb\u6cd5\u3092\u63a1\u7528\n* Legendre-Gauss-Lobatto\u306e\u64ec\u30b9\u30da\u30af\u30c8\u30eb\u6cd5\n* pseudospectral knotting-method\n* \u7c21\u6613\u306a\u5909\u6570\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\n* \u975e\u7dda\u5f62\u8a08\u753b\u554f\u984c\uff08NLP\uff09\u3092\u89e3\u304f\u306e\u306fScipy\u306e\u9010\u6b21\u4e8c\u6b21\u8a08\u753b\u6cd5\uff08SLSQP\uff09\n\n\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\n==========\n::\n\n $ pip install OpenGoddard\n\n\u4f7f\u3044\u65b9\n=====\n::\n\n from OpenGoddard.optimize import Problem, Guess, Condition, Dynamics\n\n#. \u8ecc\u9053\u306e\u6700\u9069\u5316\u3092\u3059\u308b\u7269\u4f53\u30af\u30e9\u30b9\u306e\u30e1\u30bd\u30c3\u30c9\u3068\u5909\u6570\u306e\u8a18\u8ff0\n#. \u904b\u52d5\u65b9\u7a0b\u5f0f\u306e\u95a2\u6570\n#. \u62d8\u675f\u6761\u4ef6\u306e\u95a2\u6570\n#. \u8a55\u4fa1\u95a2\u6570\u306e\u95a2\u6570\n#. Problem\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u751f\u6210\n#. \u8ecc\u9053\u306e\u6700\u9069\u5316\u3092\u3059\u308b\u7269\u4f53\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u751f\u6210\n#. \u6700\u9069\u5316\u5909\u6570\u306e\u6b63\u898f\u5316\u306e\u305f\u3081\u306e\u5358\u4f4d\u8a2d\u5b9a\uff08\u4efb\u610f\uff09\n#. \u521d\u671f\u5024\u306e\u63a8\u5b9a\u3068\u8a2d\u7f6e\uff08\u4efb\u610f\uff09\n#. \u95a2\u6570\u306e\u6307\u5b9a\u3068knotting\u6761\u4ef6\u306e\u6307\u5b9a\n#. solve\n#. \u30dd\u30b9\u30c8\u30d7\u30ed\u30bb\u30b9\uff08\u53ef\u8996\u5316\uff09\n\n\u30e9\u30a4\u30bb\u30f3\u30b9\n=========\nOpenGoddard\u306fMIT\u30e9\u30a4\u30bb\u30f3\u30b9\u306e\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u3059\u3002\n\n\n---------\n\n\nReferences\n==========\nFariba Fahroo and I. Michael Ross. \"Costate Estimation by a Legendre Pseudospectral Method\", Journal of Guidance, Control, and Dynamics, Vol. 24, No. 2 (2001), pp. 270-277.\nhttp://dx.doi.org/10.2514/2.4709\n\nI. Michael Ross and Fariba Fahroo. \"Pseudospectral Knotting Methods for Solving Nonsmooth Optimal Control Problems\", Journal of Guidance, Control, and Dynamics, Vol. 27, No. 3 (2004), pp. 397-405.\nhttp://dx.doi.org/10.2514/1.3426\n\nQi Gong, Fariba Fahroo, and I. Michael Ross. \"Spectral Algorithm for Pseudospectral Methods in Optimal Control\", Journal of Guidance, Control, and Dynamics, Vol. 31, No. 3 (2008), pp. 460-471.\nhttp://dx.doi.org/10.2514/1.32908\n\nIsaac Ross, Christopher D'Souza, Fariba Fahroo, and Jim Ross. \"A Fast Approach to Multi-Stage Launch Vehicle Trajectory Optimization\", AIAA Guidance, Navigation, and Control Conference and Exhibit, Guidance, Navigation, and Control and Co-located Conferences,\nhttp://dx.doi.org/10.2514/6.2003-5639\n\nRea, Jeremy Ryan. A legendre pseudospectral method for rapid optimization of launch vehicle trajectories. Diss. Massachusetts Institute of Technology, 2001.\nhttp://hdl.handle.net/1721.1/8608\n\nRao, Anil V., et al. \"Algorithm 902: Gpops, a matlab software for solving multiple-phase optimal control problems using the gauss pseudospectral method.\" ACM Transactions on Mathematical Software (TOMS) 37.2 (2010): 22.\nhttp://s3.amazonaws.com/researchcompendia_prod/articles/595f4b3cca056a0f35655cad73868234-2013-12-23-01-43-18/a22-rao.pdf\n\n\u65e5\u672c\u8a9e\u3067\u64ec\u30b9\u30da\u30af\u30c8\u30eb\u6cd5\u306e\u3053\u3068\u304c\u8a18\u8ff0\u3055\u308c\u3066\u3044\u308b\u6587\u732e\n----------------------------------------\n\n\u539f\u7530\u6b63\u7bc4. \"\u30e4\u30b3\u30d3\u64ec\u30b9\u30da\u30af\u30c8\u30eb\u6cd5\u306b\u3088\u308b\u6700\u9069\u5316\u624b\u6cd5\u306e\u91cd\u307f\u95a2\u6570\u306e\u9ad8\u7cbe\u5ea6\u8a08\u7b97\u6cd5.\" \u65e5\u672c\u6a5f\u68b0\u5b66\u4f1a\u8ad6\u6587\u96c6 C \u7de8 77.784 (2011): 4458-4467.\nhttp://doi.org/10.1299/kikaic.77.4458\n\n\u539f\u7530\u6b63\u7bc4. \"\u30e4\u30b3\u30d3\u64ec\u30b9\u30da\u30af\u30c8\u30eb\u6cd5\u3092\u7528\u3044\u305f\u6700\u9069\u5236\u5fa1\u554f\u984c\u306e\u89e3\u6cd5\u306b\u304a\u3051\u308b\u53cc\u5bfe\u5909\u6570\u306e\u63a8\u5b9a.\" \u8a08\u6e2c\u81ea\u52d5\u5236\u5fa1\u5b66\u4f1a\u8ad6\u6587\u96c6 49.8 (2013): 808-815.\nhttp://doi.org/10.9746/sicetr.49.808\n\n\u539f\u7530\u6b63\u7bc4. \"\u9ad8\u6b21\u30ac\u30a6\u30b9\u30fb\u30ed\u30d0\u30c3\u30c8\u5247\u306e\u91cd\u307f\u95a2\u6570\u3092\u7528\u3044\u305f\u30e4\u30b3\u30d3\u64ec\u30b9\u30da\u30af\u30c8\u30eb\u6cd5\u306b\u3088\u308b\u8ecc\u9053\u6700\u9069\u5316.\" \u65e5\u672c\u6a5f\u68b0\u5b66\u4f1a\u8ad6\u6587\u96c6 C \u7de8 73.728 (2007): 1075-1080.\nhttp://doi.org/10.1299/kikaic.73.1075\n\n\u85e4\u5ddd\u8cb4\u5f18, \u571f\u5c4b\u6b66\u53f8, and \u7530\u53e3\u79c0\u4e4b. \"\u89b3\u6e2c\u30ed\u30b1\u30c3\u30c8\u3092\u5229\u7528\u3057\u305f\u6975\u8d85\u97f3\u901f\u98db\u884c\u8a66\u9a13: 2 \u8ecc\u9053\u691c\u8a0e.\" title \u5e73\u6210 24 \u5e74\u5ea6\u5b87\u5b99\u8f38\u9001\u30b7\u30f3\u30dd\u30b8\u30a6\u30e0: \u8b1b\u6f14\u96c6\u9332 Proceedings of Space Transportation Symposium: FY2012. 2013.\nhttps://repository.exst.jaxa.jp/dspace/handle/a-is/14011", "description_content_type": null, "docs_url": null, "download_url": null, "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/istellartech/OpenGoddard", "keywords": "optimization trajectory optimal control aerospace pseudospectral_method", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "OpenGoddard", "package_url": "https://pypi.org/project/OpenGoddard/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/OpenGoddard/", "project_urls": { "Homepage": "https://github.com/istellartech/OpenGoddard" }, "release_url": "https://pypi.org/project/OpenGoddard/1.1.0/", "requires_dist": null, "requires_python": null, "summary": "Optimal Trajectories module with PseudoSpectral Method", "version": "1.1.0" }, "last_serial": 2702760, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "2a17954672ca91f5fb5c15673a198a61", "sha256": "3f98f26bca2bd638d72f7e6f04029fad59a00e32f06eec3b17a18a634cd75e10" }, "downloads": -1, "filename": "OpenGoddard-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2a17954672ca91f5fb5c15673a198a61", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 27764, "upload_time": "2017-03-06T07:33:15", "url": "https://files.pythonhosted.org/packages/db/c1/d250f6edc1f95de6a3f2afa8fe62e89db47d0be3bd05ac87b92094b6cc10/OpenGoddard-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "46a6cd23e025c3560432b6666972ec57", "sha256": "1e7ca5e68191141be73dde43b800e33d1fee79fcb24af5dbf160ec061428b056" }, "downloads": -1, "filename": "OpenGoddard-1.0.0-py3.5.egg", "has_sig": false, "md5_digest": "46a6cd23e025c3560432b6666972ec57", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 53672, "upload_time": "2017-03-06T07:33:18", "url": "https://files.pythonhosted.org/packages/dd/bf/a2b900aa4a6068aee034ce32d0f2d2d509b58c9f491b9da98edae1b4fe33/OpenGoddard-1.0.0-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "d3fb518a8d2879b5309e3e26af317842", "sha256": "45c956c429ff516a3f2f780e24761e5ad203b29ba04289d2aff9a40e75437c18" }, "downloads": -1, "filename": "OpenGoddard-1.0.0.tar.gz", "has_sig": false, "md5_digest": "d3fb518a8d2879b5309e3e26af317842", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2857950, "upload_time": "2017-03-06T07:34:13", "url": "https://files.pythonhosted.org/packages/ac/37/245fda600e5fd49e2cc9ea4588d3f86efb01b30a709512ec7a18807d3f67/OpenGoddard-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "78a557d89417fd98eae8819acb62a0bd", "sha256": "b126be67186d90c90148c87f844a077f16cc31ef02c013ead2306d40b0aeb7a3" }, "downloads": -1, "filename": "OpenGoddard-1.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "78a557d89417fd98eae8819acb62a0bd", "packagetype": "bdist_wheel", "python_version": "any", "requires_python": null, "size": 28445, "upload_time": "2017-03-13T15:22:09", "url": "https://files.pythonhosted.org/packages/33/c4/bed7fee924e79af4b4486116cebd461d6243309dbdcb9de70e7b3104a652/OpenGoddard-1.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e09907298efa73ee2a1912951e56701e", "sha256": "ee8efee3e4e311ef7ca48eb31ffa581c32fed03b2e3f5f139f3527371bfaf808" }, "downloads": -1, "filename": "OpenGoddard-1.1.0.tar.gz", "has_sig": false, "md5_digest": "e09907298efa73ee2a1912951e56701e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2980004, "upload_time": "2017-03-13T15:22:44", "url": "https://files.pythonhosted.org/packages/e4/74/4ffc1a5ff5b04f036154b8d57b340c836afee5f2f70482ef6bb037115799/OpenGoddard-1.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "78a557d89417fd98eae8819acb62a0bd", "sha256": "b126be67186d90c90148c87f844a077f16cc31ef02c013ead2306d40b0aeb7a3" }, "downloads": -1, "filename": "OpenGoddard-1.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "78a557d89417fd98eae8819acb62a0bd", "packagetype": "bdist_wheel", "python_version": "any", "requires_python": null, "size": 28445, "upload_time": "2017-03-13T15:22:09", "url": "https://files.pythonhosted.org/packages/33/c4/bed7fee924e79af4b4486116cebd461d6243309dbdcb9de70e7b3104a652/OpenGoddard-1.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e09907298efa73ee2a1912951e56701e", "sha256": "ee8efee3e4e311ef7ca48eb31ffa581c32fed03b2e3f5f139f3527371bfaf808" }, "downloads": -1, "filename": "OpenGoddard-1.1.0.tar.gz", "has_sig": false, "md5_digest": "e09907298efa73ee2a1912951e56701e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2980004, "upload_time": "2017-03-13T15:22:44", "url": "https://files.pythonhosted.org/packages/e4/74/4ffc1a5ff5b04f036154b8d57b340c836afee5f2f70482ef6bb037115799/OpenGoddard-1.1.0.tar.gz" } ] }