{ "info": { "author": "Antoine Hoarau", "author_email": "hoarau.robotics@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "M3 CMake Project Creator\r\n==============================\r\n\r\nThis scripts generates a CMake project that contains a simple sin controller to control the Meka robot.\r\n\r\n## Download\r\n```bash\r\nsudo -E pip install m3project-creator\r\n```\r\n## Upgrades\r\n\r\n```bash\r\nsudo -E pip install m3project-creator --upgrade\r\n```\r\n\r\n## Run the script\r\nLaunch the GUI : \r\n```bash\r\nm3create_pkg\r\n```\r\nor the console version :\r\n```bash\r\nm3create_pkg -h \r\n```\r\nExample : \r\n```bash\r\nm3create_pkg m3awesome_project sincontrollers myawesomecontroller \r\n```\r\nNew Features:\r\n\r\n* Template based generator (see the template folder)\r\n* Console interface\r\n* On the GUI : Preview the files before being generated (double-click on them on the tree)\r\n\r\n### The generated files\r\n\r\n* **mycontroller.cpp**: The source file that contains your component class (inherits from the M3Component class).\r\n* **mycontroller.h**: The header file associated.\r\n* **factory_proxy.cpp**: This file is used by the m3 system to instantiate your component.\r\n* (OPTIONAL) **mycontroller.proto**: A protobuf file that can be used to communicate with your controller (using python for example). This is used in the m3 software.\r\n* (OPTIONAL) **mycontroller.py**: The python interface to your controller\r\n* (OPTIONAL) **controller_example.py**: An example on how to use the python interface\r\n\r\n### The generated project\r\n\r\n```bash\r\nmyproject\r\n|-- src\r\n| `-- myproject\r\n| |-- mycomponent\r\n| | |-- my_class.cpp\r\n| | |-- my_class_factory.cpp\r\n| | `-- CMakeLists.txt\r\n| `-- CMakeLists.txt\r\n|-- include\r\n| `-- myproject\r\n| `-- mycomponent\r\n| `-- my_class.h\r\n|-- proto\r\n| `-- myproject\r\n| `-- mycomponent\r\n| `-- my_class.proto\r\n|-- python\r\n| `-- myproject\r\n| |-- mycomponent\r\n| | |-- __init__.py\r\n| | |-- my_class.py\r\n| | `-- my_class_example.py\r\n| `-- __init__.py\r\n|-- robot_config\r\n| |-- mycomponent\r\n| | `-- my_class_v1.yml\r\n| `-- m3_config.yml\r\n`-- CMakeLists.txt\r\n```\r\n## Compile your project\r\nIf you don't have the M3_CMAKE_MODULES var set (latest version of m3 software):\r\n```\r\necho $M3_CMAKE_MODULES \r\n```\r\nThen,you might want to get some useful FindXXX.cmake (for M3 system, Yamlccp, protobuf etc):\r\n```\r\ncd /path/to/your/project\r\ngit clone https://github.com/ahoarau/meka-cmake-modules.git\r\n```\r\nThen you can compile your project safely:\r\n\r\n```bash\r\ncd /path/to/your/project\r\nmkdir build\r\ncd build\r\ncmake ..\r\nmake\r\n```\r\n\r\nThis will generate the following files:\r\n\r\n* **libmycomponent.so**: The library that needs to be loaded in m3. Generated in lib/\r\n* **my_class.cc**: The generated protobuf source file. Generated in build/\r\n* **my_class.pb.h**: The generated protobuf header. Generated in build/\r\n* **my_class.pb.py**: The generated protobuf python source. Generated in python/\r\n* **setup.bash**: A file that contains information about your package\r\n* \r\n## Run your project ##\r\nLet M3 knows there's an external path to check out (you should do that in all terminals you open):\r\n```bash\r\nsource /path/to/your/project/setup.bash\r\n```\r\nRun the server as usual:\r\n```bash\r\nm3rt_server_run\r\n```\r\nYour component should be at the top of the available components lists (default name is controller_example_v1).\r\n\r\nVizualize the robot in rviz : \r\n```bash\r\nroslaunch meka_description m3ens_viz.launch\r\n```\r\nAdd a robot model and change 'fixed frame' to 'T0'.\r\nNow **enable** your component and see the robot moves:\r\n```bash\r\n# source your setup.bash first !\r\ncd /path/to/your/project/python/componentdir/mycontroller/\r\npython mycontroller_example.py\r\n```\r\n\r\nGood luck !\r\n\r\nBased on m3project_creator.py provided by Meka Robotics, LLC.\r\n", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ahoarau/m3-cmake-project-creator", "keywords": null, "license": "GPL", "maintainer": null, "maintainer_email": null, "name": "m3project-creator", "package_url": "https://pypi.org/project/m3project-creator/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/m3project-creator/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/ahoarau/m3-cmake-project-creator" }, "release_url": "https://pypi.org/project/m3project-creator/1.2.1/", "requires_dist": null, "requires_python": null, "summary": "M3 CMake project generator", "version": "1.2.1" }, "last_serial": 1273612, "releases": { "1.2.0": [ { "comment_text": "", "digests": { "md5": "f3a71d1204f1a46fa98edf92851c0737", "sha256": "147715d4774eb90f26683c87887e5cbcc3a0dad16ea15041df57e06f24024877" }, "downloads": -1, "filename": "m3project-creator-1.2.0.tar.gz", "has_sig": false, "md5_digest": "f3a71d1204f1a46fa98edf92851c0737", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15292, "upload_time": "2014-10-17T11:03:32", "url": "https://files.pythonhosted.org/packages/5c/0b/f2ed28d279ff0a6ae39ec0ee0f1c4f48096ea6237548efab25940ceaf1e0/m3project-creator-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "a2d4e3ab3ad8cabb4114903dedb27500", "sha256": "4577fcee4a347f48a84a756c201b91ee75a7b2ac8cc20736a1e06c1343a9c050" }, "downloads": -1, "filename": "m3project-creator-1.2.1.tar.gz", "has_sig": false, "md5_digest": "a2d4e3ab3ad8cabb4114903dedb27500", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15296, "upload_time": "2014-10-17T11:06:12", "url": "https://files.pythonhosted.org/packages/d7/3d/794de5209ff4a0e35c3eb07b8493b8c4c87ecd23d6483043412d06bcd593/m3project-creator-1.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a2d4e3ab3ad8cabb4114903dedb27500", "sha256": "4577fcee4a347f48a84a756c201b91ee75a7b2ac8cc20736a1e06c1343a9c050" }, "downloads": -1, "filename": "m3project-creator-1.2.1.tar.gz", "has_sig": false, "md5_digest": "a2d4e3ab3ad8cabb4114903dedb27500", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15296, "upload_time": "2014-10-17T11:06:12", "url": "https://files.pythonhosted.org/packages/d7/3d/794de5209ff4a0e35c3eb07b8493b8c4c87ecd23d6483043412d06bcd593/m3project-creator-1.2.1.tar.gz" } ] }