{"id":17334877,"url":"https://github.com/tfeldmann/biorobotic-arm","last_synced_at":"2025-03-27T07:11:29.221Z","repository":{"id":4972782,"uuid":"6130588","full_name":"tfeldmann/Biorobotic-Arm","owner":"tfeldmann","description":"An Arduino controlled robotic arm with facetracking capabilities","archived":false,"fork":false,"pushed_at":"2013-04-28T17:15:49.000Z","size":2608,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-01T12:09:19.996Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"chef-cookbooks/fail2ban","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tfeldmann.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}},"created_at":"2012-10-08T20:16:08.000Z","updated_at":"2020-12-21T10:59:59.000Z","dependencies_parsed_at":"2022-09-21T21:10:38.783Z","dependency_job_id":null,"html_url":"https://github.com/tfeldmann/Biorobotic-Arm","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tfeldmann%2FBiorobotic-Arm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tfeldmann%2FBiorobotic-Arm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tfeldmann%2FBiorobotic-Arm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tfeldmann%2FBiorobotic-Arm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tfeldmann","download_url":"https://codeload.github.com/tfeldmann/Biorobotic-Arm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245798359,"owners_count":20673902,"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-10-15T15:07:25.479Z","updated_at":"2025-03-27T07:11:29.203Z","avatar_url":"https://github.com/tfeldmann.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Biorobotic Arm\nThis is a collaborative project for the course \"biorobotics and locomotion\".\nIt contains the source files for the firmware, graphical control software, scripting (automation) software, mobile control- and face recognition software.\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"Documentation/BioRob.png\" alt=\"BioRoboter\"\u003e\n\u003c/p\u003e\n\n- [Documentation](#documentation)\n- [Driver](#driver)\n- [Firmware](#firmware)\n- [RemoteInterface](#remoteinterface)\n- [RobControl](#robcontrol)\n- [Scripter](#scripter)\n- [API](#api)\n    - [Receiving data](#receiving-data)\n        - [Control characters](#control-characters)\n        - [Position monitoring](#position-monitoring)\n    - [Commands](#commands)\n        - [Base](#base)\n        - [Shoulder](#shoulder)\n        - [Elbow](#elbow)\n        - [Wrist](#wrist)\n        - [Grip](#grip)\n        - [Autolevel](#autolevel)\n        - [Identify](#identify)\n- [Contributors](#contributors)\n\n\n## Documentation\nThe folder \"Documentation\" contains screenshots, the board layout and schematics.\n\n- [Board layout](Documentation/board-layout.pdf)\n- [Board schematics](Documentation/board-schematic.pdf)\n\n\n## Driver\nThis folder contains the driver which is needed on older windows versions ([installation instructions](http://arduino.cc/en/Guide/windows#toc4)). As of Windows Vista the Arduino is recognized automatically.\n\nOn Mac OS X everything should work out of the box. It should work on Linux, too (although this is yet untested).\n\n\n## Firmware\nHere you find the robot's firmware. It is written for an Arduino Mega 2560 R3.\nTo compile and upload use the [Arduino Software](http://arduino.cc/en/Main/Software) unless you know what you are doing.\nThe [SerialCommand](https://github.com/kroimon/Arduino-SerialCommand) library must be installed. An archive of the SerialCommand library and the modified Servo library is included in Firmware/libraries.\n\n\n## RemoteInterface\nThis folder contains the setup file for the remote interface (iOS / Android).\nYou will need the software \"[Control](http://charlie-roberts.com/Control/)\".\n\nMake sure that you are in the same network as the PC running the RobControl-software and enter the given IP-adress as destination. Install and start the RobControl Remote interface (the .js file in the folder \"RemoteInterface\").\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"Documentation/RemoteInterface.png\" alt=\"RemoteInterface\"\u003e\n\u003c/p\u003e\n\n## RobControl\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"Documentation/RobControl.png\" alt=\"RobControl\"\u003e\n\u003c/p\u003e\nThe graphical robot control software. Start it after you connected the robot to the PC, select the right port and you're good to go. You can control the robot by clicking and dragging. Everything should be quite self-explanatory.\n\n\n## ScriptingSoftware\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"Documentation/ScriptingSoftware.png\" alt=\"ScriptingSoftware\"\u003e\n\u003c/p\u003e\nThe programmatical robot control software. Here you can enter any command from the section \"API\" as well as the command \"WAIT [seconds]\". Click on start to run the script. Additionally you can send single commands in the entry field on the bottom.\n\nThe ScriptingSoftware is written in Python 2.7.4 and uses no external modules except for PySerial.\n\n\n## API\nConnect to the robot via a ```19200 baud, 8N1``` serial connection. Monitoring data as well as commands must be sent in plain uppercase ASCII.\n\n### Receiving data\n\n#### Control characters\nA hash (#) indicates that a output is for logging purposes only and can be dismissed. Examples:\n\n    # Collision sensor found\n    # Ready\n\nAn exclamation mark (!) indicates an error and should always be shown to the user. Possible errors are:\n\n    !01 Unknown command\n    !02 Collision detected [Axis]\n    !03 Could not connect to MMA8452Q\n\nThe question mark (?) is used as the identifier (see chapter \"Identify\").\n\n    ? BIOROBOTIC_ARM\n\n\n#### Position monitoring\nAbout every 50ms (20Hz) the robot sends a ```P``` followed by five integers separated by ```;``` which describe the robot's position.\nFor example:\n\n    P130;45;-90;30;1\n      |  |   |  |  |\n      |  |   |  |  + - grip opened/closed\n      |  |   |  +- - - wrist angle    (γ)\n      |  |   + - - - - elbow angle    (β)\n      |  + - - - - - - shoulder angle (α)\n      +- - - - - - - - base angle     (δ)\n\nThe robot automatically constrains sent values to mechanically possible angles.\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"Documentation/Geometry.png\" alt=\"geometry\"\u003e\n\u003c/p\u003e\n\n\n### Commands\nA short introduction to the commands the robot supports.\nPlease notice that every line beginning with ```\u003e\u003e``` indicates a command you can send. Do not send ```\u003e\u003e```.\n\n#### Base\nControls the angle of the base. Send only the command name to see how it is used.\n\n    \u003e\u003e BASE\n    # BASE [ANGLE]\n\nExample usage:\n\n    \u003e\u003e BASE -30  \u003c-- turn base 30 degrees counterclockwise (seen from above)\n    \u003e\u003e BASE 0    \u003c-- sets base to center position\n\n#### Shoulder\nControls the DC-Motor for the shoulder joint. ```POSITION``` can be any integer value between 0 and 350\nSend only the command name to see how it is used.\n\n    \u003e\u003e SHOULDER\n    # SHOULDER [ANGLE]\n\nExample usage:\n\n    \u003e\u003e SHOULDER 0   \u003c-- sets the shoulder perfectly horizontal\n    \u003e\u003e SHOULDER 30  \u003c-- turns the shoulder 30 degrees to ground\n\n#### Elbow\nControls the DC-Motor in the base. ```POSITION``` can be any integer value between 55 and 1023\nSend only the command name to see how it is used.\n\n    \u003e\u003e ELBOW\n    # ELBOW [ANGLE]\n\nExample usage:\n\n    \u003e\u003e ELBOW 0    \u003c-- sets the elbow in line with the shoulder\n    \u003e\u003e ELBOW -45\n\n#### Wrist\nControls the robot's wrist. ```ANGLE``` can be any integer value between -80 and 90. Send only the command name to see a overview:\n\n    \u003e\u003e WRIST\n    # WRIST [ANGLE]\n\nExample usage:\n\n    \u003e\u003e WRIST 60   \u003c-- sets wrist to 60 degrees up\n    \u003e\u003e WRIST 0    \u003c-- sets wrist in line with the underarm\n    \u003e\u003e WRIST -50  \u003c-- sets wrist 50 degrees down\n\n#### Grip\nControl the robot's grip with the grip command. You can send the command name to see a overview:\n\n    \u003e\u003e GRIP\n    # GRIP [\"OPEN\" | \"CLOSE\" | \"TOGGLE\"]\n\nExample usage:\n\n    \u003e\u003e GRIP OPEN\n    \u003e\u003e GRIP CLOSE\n    \u003e\u003e GRIP TOGGLE\n\n#### Autolevel\nThe robot is able to automatically maintain a specific wrist angle. To enable this use the autolevel command.\n\n    \u003e\u003e AUTOLEVEL\n    # AUTOLEVEL [\"ON\" | \"H\" | \"V\" | \"OFF\"]\n\nExample usage:\n\n    \u003e\u003e AUTOLEVEL ON   \u003c-- keep the angle the wrist currently has\n    \u003e\u003e AUTOLEVEL H    \u003c-- Keep the wrist parallel to the ground (horizontal)\n    \u003e\u003e AUTOLEVEL V    \u003c-- Keep the wrist orthogonal to the ground (vertical)\n    \u003e\u003e AUTOLEVEL OFF  \u003c-- disables autolevel\n\nThe ```H``` and ```V``` options enable autolevel automatically.\n\n#### Identify\nA single question mark is the identify command. You can use this to check your connection settings and whether you're talking to the correct device.\n\n    \u003e\u003e ?\n    ? BIOROBOTIC_ARM\n\n\n## Contributors\n\u003cp align=\"center\"\u003e\n    Fehmer, Manuel \u003cbr\u003e\n    Feldmann, Marlene \u003cbr\u003e\n    Feldmann, Thomas \u003cbr\u003e\n    Hussmann, Carsten \u003cbr\u003e\n    Neuhaus, Alexander\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"Documentation/Roboterfabrik.png\" alt=\"Logo\"\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftfeldmann%2Fbiorobotic-arm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftfeldmann%2Fbiorobotic-arm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftfeldmann%2Fbiorobotic-arm/lists"}