{"id":22887223,"url":"https://github.com/chanulee/4cutphoto","last_synced_at":"2025-03-31T19:13:31.191Z","repository":{"id":260514992,"uuid":"881512846","full_name":"chanulee/4cutphoto","owner":"chanulee","description":"Web version of Life 4 Cuts","archived":false,"fork":false,"pushed_at":"2024-10-31T18:15:40.000Z","size":5,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-06T23:30:50.390Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/chanulee.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}},"created_at":"2024-10-31T18:12:34.000Z","updated_at":"2024-10-31T18:15:44.000Z","dependencies_parsed_at":"2024-10-31T19:21:17.420Z","dependency_job_id":"d56ac7f8-5d00-4a62-996c-fb728b50407c","html_url":"https://github.com/chanulee/4cutphoto","commit_stats":null,"previous_names":["chanulee/4cutphoto"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chanulee%2F4cutphoto","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chanulee%2F4cutphoto/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chanulee%2F4cutphoto/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chanulee%2F4cutphoto/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chanulee","download_url":"https://codeload.github.com/chanulee/4cutphoto/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246523875,"owners_count":20791444,"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","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":[],"created_at":"2024-12-13T20:31:42.201Z","updated_at":"2025-03-31T19:13:31.163Z","avatar_url":"https://github.com/chanulee.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Title\n![Image](resources/hero.jpeg)  \nintro description\n## 1. File Directory\n- demonov01: For final demo of Cyber Physical Systems module happened in 01 Nov 2023. oF, ino, wek files + recreation guide\n- testcode: QC tools made for the project: osc communication, serial communication and motor control\n## 2. Specimen\n![Image](resources/sysdia.png)\n### 2-1. Hardware\nCheck out fritzing file for more information.\n- Arduino Nano Every (Arduino Mega 2560)\n- Micro Servo MG90S (Black small one) * 6 (5V)\n- Logitech C270 (HD 720p, proven to work as a video grabbing webcam) [Amazon](https://www.amazon.co.uk/dp/B01BGBJ8Y0?psc=1\u0026ref=ppx_yo2ov_dt_b_product_details)\n- PCA9685 Motor Driver (for power delivery, should be connected to power and arduino)\n### 2-2. Software Requirements\n- oF ofxOsc\n- oF ofxGui (for Motor Testing)\n- wekinator\n- visionOSC [go to repo](https://github.com/LingDong-/VisionOSC)\n- touchDesigner (not yet)\n### 2-3. Features\n- OSC Communication (visionOSC - wekinator - oF)\n- Multiple OSC inputs\n- OSC input parsing\n- Combine multiple OSC messages and send (trying)\n- Serial Communication (oF - Arduino)\n- Motor Control\n- Higher resolution (room to improve)\n- Breathing motion\n## 3. visionOSC data structure\nThrough several experiments with processing and wekinator OSC input monitor, I mapped out datapoints of [LingDong's visionOSC](https://github.com/LingDong-/VisionOSC).  \nCheck out [visionOscDatapoints folder](https://github.com/chanulee/cote-bloom/tree/main/appendix/visionOscDatapoints)\n## 4. Future Works\n- visionOSC \u0026 TouchDesigner --multiOSC--\u003e oF --modifiedOSC--\u003e wekinator --class--\u003e oF --serial--\u003e Arduino\n- If openframeworks gets data directly from OSC not wekinator, we can make some decision before getting to the wekinator part - for example, maybe we can use certain model in certain condition - and we can exclude non-related data from the original OSC so machine learning part would be much more accurate with faster training/learning\n- motor angle data 0-254 is mapped to 0-270 and finally about 1000-2000, but I'm still using 0-254 part so the resolution is quite low.\n- nothing happens if there's nobody or one person in the cam view, everything stops. maybe we can add breathing motion when nothing is detected\n- getting input from multiple addresses works in oF\n- Selecting certain relevant OSC messages and then make them into a new message, sending it to wekinator - receiving and making new message kind of works, but the sending timing makes the message's size vary.\n- Simple keypressedSerial is working on both Arduino nano and Mega - but servoAngleSerial doesn't work on Mega.\n## 5. References\n1. ofxOsc OSC Message documentaiton [openframeworks.cc](https://openframeworks.cc/documentation/ofxOsc/ofxOscMessage/)\n2. ofxOsc bundling and parsing [forum.openframeworks.cc](https://forum.openframeworks.cc/t/osc-bundle-help/15404)\n3. Based on research by H. Segerman [Paper](https://archive.bridgesmathart.org/2022/bridges2022-313.pdf)\n## 6. Credits (Teammates)\n- Hardware design engineering mainly by Jinhak Lee (IDE 23/25)\n- Virtual prototyping, visual design and circuit diagram mainly by Poh Asdathorn (GIDv / Keio Media Design)\n---\n**Cyber Physical Systems, October-November 2023**    \nAdvisor Dr. Rebecca Stewart, Charlotte Slingsby, Dr Shayan Sharifi   \nMSc Innovation Design Engineering   \nDyson School of Design Engineering, Imperial College London  \n  \nThis module was funded by [Design Education Trust](https://www.designeducationtrust.org.uk/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchanulee%2F4cutphoto","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchanulee%2F4cutphoto","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchanulee%2F4cutphoto/lists"}