{"id":23043782,"url":"https://github.com/robincpc/minibot_candy_pick_demo","last_synced_at":"2025-08-14T23:30:58.550Z","repository":{"id":37229276,"uuid":"227733695","full_name":"RobinCPC/minibot_candy_pick_demo","owner":"RobinCPC","description":"Use NexCOBOT MiniBOT to pick candy with AWS SageMaker as inference engine","archived":false,"fork":false,"pushed_at":"2025-07-01T01:56:42.000Z","size":4625,"stargazers_count":5,"open_issues_count":2,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-01T02:39:49.759Z","etag":null,"topics":["aws-sagemaker","computer-vision","deep-learning","robot-arm","robotics"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RobinCPC.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-12-13T01:57:05.000Z","updated_at":"2025-07-01T01:56:39.000Z","dependencies_parsed_at":"2023-12-30T04:25:37.742Z","dependency_job_id":"6235785d-6de1-42c6-ac42-7d5ad3577c16","html_url":"https://github.com/RobinCPC/minibot_candy_pick_demo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/RobinCPC/minibot_candy_pick_demo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobinCPC%2Fminibot_candy_pick_demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobinCPC%2Fminibot_candy_pick_demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobinCPC%2Fminibot_candy_pick_demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobinCPC%2Fminibot_candy_pick_demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RobinCPC","download_url":"https://codeload.github.com/RobinCPC/minibot_candy_pick_demo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobinCPC%2Fminibot_candy_pick_demo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270499924,"owners_count":24595148,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-14T02:00:10.309Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws-sagemaker","computer-vision","deep-learning","robot-arm","robotics"],"created_at":"2024-12-15T20:49:28.734Z","updated_at":"2025-08-14T23:30:58.133Z","avatar_url":"https://github.com/RobinCPC.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MiniBOT candy picking demo\nThis demo presents how to use NexCOBOT [MiniBOT](http://www.nexcom.com/Products/industrial-computing-solutions/machine-automation/education-robot-solution/ethercat-nexrobo-minibot-robot) to pick candy with AWS SageMaker as inference engine.\n\nIn this demo, we use AWS SageMaker to label our candy dataset, train a SSD model, and setup endpoint to do inference.\nI will create another repo for the detail. \n\n\nHere is the result of the inference (also a youtube link of demo video):\n\n\u003ca href=\"https://youtu.be/2Wl_zsUDQKc\"\u003e\n  \u003cimg src=\"./inference_result.png\" alt=\"SageMaker inference result\" width=\"100%\" height=\"auto\"\u003e\n\u003c/a\u003e\n\n\n## System Architecture\n![](./AWS_MiniBOT_Pick_Jupyter.png)\n\n## MiniBOT software environment setup for candy picking\nThe OS platform of MiniBOT controlller is Windows 7 32-bit\n\n### Pre-requirement\n* Install `NexMotion Studio` to get NexMotion C/C++ API and NexMotion.dll.\n* Create a project to setup MiniBOT Configuration from NexMotion Studio.\n* For operating real robot arm, do homing process in NexMotion Studio first.\n\n\n### Clone Nexmotion Python API and this demo jupyter notebook.\nIn windows system, you can install `Git` to run following command in `Git Bash` \n``` bash\n# Go to Documents folder\ncd Documents\n# clone NexMotion Python API\ngit clone https://github.com/RobinCPC/NexMotion-Python_API.git\ncd NexMotion-Python_API\n# cloen this demo repo\nhttps://github.com/RobinCPC/minibot_candy_pick_demo.git\n```\n\n### AWS Setup\n* Install AWS CLI version 1 (`2` only for 64-bit)  \nhttps://docs.aws.amazon.com/cli/latest/userguide/install-windows.html#install-msi-on-windows\n* Set up aws configuration\nhttps://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html  \nFor configure, open Windows `command prompt` (CMD), and enter `aws configure`. Then, will show parameter for setup.\n``` batch\nREM ntoe: you should got your own key from your AWS account\naws_access_key_id=XXXAIOSFODNN7EXAMPLE\naws_secret_access_key=wJalrXUtnFXXX/K7MDENG/bPxRfiCYEXAMPLEKEY\nregion=us-west-2\noutput=json\n```\n\n\n### Python Setup\n* Install python 2.7 from python.org or use conda  \nhttps://www.python.org/downloads/release/python-2717/\n\n* Setup virtual environment (In MiniBOT controller)  \nOpen Windows CMD, then\n``` batch\nREM install virtualenv\npip isntall virtualenv\nREM cd to Document or where you store your code\ncd \\Users\\\u003cyour_name\u003e\\Documents\\\nREM create folder \nmkdir python-virtual-env\ncd python-virtual-env\nREM create virtual env\nvirtualenv minibot-env\n```\n* Activate environment and install necessary package for candy picking project  \nStill in Windows CMD\n``` batch\nREM activate python virtual env\ncd Documents\\python-virtual-env\nminibot-env\\Scripts\\activate\npip install -r requirements.txt\n```\n\n* Back to this repo folder and launch jupyter notebook\n``` batch\ncd Document\\NexMotion-Python_API\\minibot_candy_pick_demo\njupyter notebook\n```\n\nIn addition, I also use ipywidgets to create robot controller WebUI in Jupyterlab.  \nHere is the screenshot (also a youtube link of demo video):\n\u003ca href=\"https://youtu.be/Yj4uIBeA2f8\"\u003e\n  \u003cimg src=\"./ipywidgets_robot_webUI.jpg\" alt=\"Closed-form IK demo\" width=\"100%\" height=\"auto\"\u003e\n\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobincpc%2Fminibot_candy_pick_demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobincpc%2Fminibot_candy_pick_demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobincpc%2Fminibot_candy_pick_demo/lists"}