close-circle
Close
0%
0%

CyborgDistro

An Open-Source Initiative to Build Multi-Robot Cyborgs

Similar projects worth following
close
How many times have you felt like a task would be so much easier, if only you had an extra hand? No longer do you have to be on your tip-toes straining for the top shelf, or juggling a circus of objects in your hands. CyborgDistro is creating a suite of customizable Multi-Robot Cyborgs, which can be designed to lend a helping hand in your daily life when you need it most.

CyborgDistro is an open-source project to build Multi-Robot Cyborgs. Part technology community, part social movement – we believe anyone can create their own Multi-Robot Cyborg if they set their mind to it. Our GitHub repo and blog posts provide designs, code samples, and sensor APIs to help anyone make one.

Our first two Proto-Borgs are the Autonomous Cyborg Backpack and the Wearable MultiClaw.

More Robots = More Degrees of Freedom. There are possibilities in ultra-cheap prosthetics, smart medical arm casts, and even fashion. Read on to find out how you can #JoinTheCyborgs!

The CyborgDistro is an open source project that allows anyone to build a multi-robot, multi-sensor cyborg. The CyborgDistro software currently runs on Raspbian on Raspberry Pi and interfaces with Android phones over sockets. The software can run on many different configurations of manipulator and sensor hardware.

We have prototyped two Cyborg hardware configurations:

Autonomous Cyborg Backpack: https://tandonp.wordpress.com/autonomous-cyborg-backpack/


Wearable MultiClaw: https://tandonp.wordpress.com/wearable-multiclaw/

----------------------------------------Autonomous Cyborg Backpack---------------------------------
The Autonomous Cyborg Backpack is a proto cyborg of the Distro. This cyborg has multiple robots -- many robot arms, grippers, etc. Additionally, it supports many sensor modalities such as sonar and camera. C and Java API libraries are provided with the Distro to control different sensors.

Watch the cyborg backpack in action!:
--Cyborg Hardware Specs--

  • 2 Dagu 6DOF Arms
  • SSC32 Servo Controller w/ custom enclosure
  • Raspberry Pi 2 w/ portable USB battery and Wi-Fi dongle
  • 2 Ultrasonic sensors on the sides of the backpack serve to detect obstacles and your phone beeps if you get close to something. This helps you protect the extra arms from damage.
  • 2 Web Cams mounted on the backpack help you see behind you! GoPro has it backwards.
  • The backpack is completely controllable via an Android application that lets you move the arms and see sensor output in real-time.
  • Tekkeon External Battery for powering the servo controller.

--Cyborg Software Specs--

The GitHub repository (https://github.com/prateekt/CyborgDistro) contains four directories for useful code.

  1. RealTimeSystem - Python Scripts and compiled jars for running the system. Includes the Python CameraServer and SonarServer for automating these USB sensors. Looking at this folder is the best way to get off the ground and get a running Cyborg system.
  2. ServoControlServer - Server that runs on Raspberry Pi to control Servo Motors. Interacts with Android App over sockets to allow user to send commands to the robot from their phone.
  3. CyborgApp - Android App Project that allows a user to control the Cyborg. The Android App supports real-time visualization of the incoming sensor data. It allows the user to control and send commands to the servo motors to move the arms.
  4. Sensor API - C APIs for various popular off the shelf sensors. This is derived from my blog post (https://tandonp.wordpress.com/2014/10/11/python-sensor-libraries/). You can easily use Python CTypes to automate obtaining data from the sensors in high level python. In fact, the entire higher level logic of the system is written in Python and Java at the end of the day, but we can also control the low level polling details of sensors and actuators in C if we need to.

---------------------------------------------Wearable MultiClaw--------------------------------------------

The Wearable MultiClaw is another Cyborg that is almost ready for human consumption! The slide-on Wearable MultiClaw can go anywhere you need a couple helping hands. Perhaps you’d like to carry some additional items on your arm. Or maybe on your feet.

Watch the Wearable MultiClaw in action:

The hardware and software used to build the device are highly scalable and cost-effective.

  • The grippers are $5 grippers from SparkFun. Never before has having lots of grippers ever been so affordable (which is subsequently spawning this multi-robot cyborg revolution).
  • Pololu Micro Maestro Controller ($20), the Raspberry Pi ($35), along with some batteries.
  • The grippers are mounted on inexpensive ($5) fitness wristbands.
  • Code for your MultiClaw in Python or using the Pololu Maestro language!

With all slide-on these robotic actuators and sensors, you will be able to manipulate the world at your fingertips -- or claw tips!

---------------------------------------------Plan for the Cyborgs-------------------------------------------

Multiple robots augmenting a human? ? You don’t have to wait until 2050...

Read more »

  • 1 × Raspberry Pi 2 Autonomous Cyborg Backpack: The Raspberry PI 2 serves as the main CPU in the backpack. A Wi-Fi dongle allows connectivity over an ad-hoc network with the user's smartphone.
  • 2 × Dagu 6DOF Robot Arms Autonomous Cyborg Backpack: The robot arms -- a total of 12 servos!
  • 1 × SSC32 Servo Controller Autonomous Cyborg Backpack: The servo controller that the arm's servos are connected to. A custom enclosure is used to protect the servo controller inside the backpack.
  • 2 × GoBotics Sonar Sensor Autonomous Cyborg Backpack: Ultrasonic sensors on the sides of the backpack serve to detect obstacles. Your phone beeps if you get close to something. This helps you protect the extra arms from damage.
  • 2 × WebCams Autonomous Cyborg Backpack: The webcams provide a video feed of what is going on behind you. GoPro has it wrong. You need cameras to see behind you, not in front of you!

View all 12 components

  • Plan for the Cyborgs

    prateekt07/23/2015 at 16:07 0 comments

    Multiple robots augmenting a human? ? You don’t have to wait until 2050 to see this become reality. There are many useful real-world applications of multi robot cyborgs that can be realized today. They can be useful in addressing problems everyone has in their daily lives.

    In Medicine: If you broke an arm or sprained an ankle, wouldn’t it be nice to have a smart medical cast that lends a helping hand while you heal? Cyborgs can provide people temporary capability to grasp and hold objects. But why stop at only one robot arm? Like pasta, more is always better! Slide-on Multi-Claws may enable people to be flexible and interact with multiple objects, while waiting for an arm to heal.


    For Daily Chores: If your hands are tired, get a helping hand for simple chores. You can press a button on your smartphone and let them do the manipulation of the object. Need to clean dog doo, take out the trash, or change baby diapers? Let your multi-robot add-ons provide a helping hand. No need to get your hands dirty anymore! Just sit back and control with your smartphone.

    In Entertainment/Fashion: Multi-robot cyborg attire lets you lead the cutting edge lifestyle you want. And they can certainly do more than take selfies. In the home, Multi-Robot Cyborgs provide entertainment for adults and children alike. Going out, leave an impression with 3D-printed bootstraps that can tie themselves using tiny snake robots. At the mall, multiple arms serve as a butler, helping hold items for you as you continue browsing the racks. Better yet, they’ll never complain about getting tired or bored!

    In Education
    : Cyborgs are a fun way to learn Python -- especially if you are writing Python code to control a snake robot. And if that snake robot is a highly flexible Cyborg tail? Students can subsequently become experts for highly lucrative "Big Data" companies by learning how to model intricate tail distributions! Who doesn't want to statistically model a Cyborg tail?

    In Sensitive Situations: If you have to deal with insurance agents, car dealerships, politicians or the DMV, wouldn't having two cameras near the back of your head be useful? Don't go into any negotiation or dispute without a pair of extra arms to protect yourself and have the upper hand (or claw) against fraud.

    In Job Interviews: Coming to an interview in multi-robot cyborg attire showcases your maturity and skills as a maker. It gives you enhanced credibility - much more than showing up in a traditional suit. It shows you are truly a self-made person to lead any major heterogenous team of humans and robotic contraptions towards business interests. If your shoelaces can tie themselves using snake robots, that's much more impressive than someone that manually lifts themselves up by their own bootstraps.

    For everyone: With multiple robots augmenting a human, you can have more degrees of freedom than ever before. How about something to hold that hot coffee for you so you don't burn yourself as you open the car door? What about something to reach a paper in the top file cabinet? Or an automated backscratcher? The application areas of Multi-Robot Cyborgs technology are endless.


    Systems can be designed in such a way that they are noninvasive. It’s like any other type of clothing. If you don’t want it anymore, you can simply take it off. Maybe, though, you’ll even want to keep the extra arms and sensors just for the sheer power of manipulating the world at your will!

    The end result of CyborgDistro is greater efficiency, precision, and control over your world when you need it. Via our free and open-source designs, we hope to empower anyone to have this power and use it to better their lives as well as the human race at large!

    cropped-11110376_10103165446102465_1127215096100486148_o.jpg

    #AdvanceHumanity
    #2050IsIn2015
    #JoinTheCyborgs
    https://github.com/prateekt/CyborgDistro

View project log

  • 1
    Step 1

    Autonomous Cyborg Backpack Instructions:
    --Hardware Setup--

    1. Mount Dagu arms on rigid surface (such as a cardboard box or plastic container).
    2. Place arms/surface in backpack and seal backpack so arms do not fall out (possibly seal via industrial-grade tape).
    3. Mount cameras on back of backpack and sonar sensors on side of backpack. Buying plastic sonar mounts such as these may be helpful. You can then use tape or strings to secure the sonar mounts on the backpack exterior.
    4. Create enclosure for SSC32 servo controller. We recommend using a spark fun box (or some other box you have lying around. It's helpful to have a box with a flappable lid from one side so you can add/replace batteries. Tape the servo controller down into the box. Make a cut-out for the serial/usb cable. Poke holes in top of the box for the top for servo wires and pull the wires out. Finally, make a cut-out for the switch. Here is one way you can make an enclosure:

    5. Hook up servo connections of Dagu arms with SSC32 servo controller. Servo extender wire is extremely helpful to get appropriate wire lengths. Hook up cameras and ultrasonic sensors over usb to raspberry pi. Connect servo controller to Raspberry Pi over usb. A powered usb hub such as this may be helpful for all the usb connections. Power can be provided via the Tekkeon battery.
    6. Place electronics in backpack and close backpack via zip.
    Congrats! You have yourself a hardware cyborg backpack!




    --Software Setup--

    1. Download GitHub code for project from https://github.com/prateekt/CyborgDistro and load onto Raspberry Pi.
    2. Figure out servo limits and place parameters into code. Here are some guidelines.

      CyborgDistro/CyborgApp/src/com/TandonRobotics/Cyborg/RobotArm/RobotArmSettings.java is the file that describes the arm model. You will need to define the mapping of servo id (the servo id on the SSC32 controller) for each arm servo that you attach as well as its min/max servo limits.

      You want to choose servo limits to minimize the possibility of breaking the arm. You should try to figure out what is the maximum motion of the joints. You can start with the defaults in the code to test the system.
    3. Download Android code, compile into APK, and load onto phone.

      The CyborgDistro/CyborgApp directory contains the Android code. Load into Eclipse (or AndroidStudio) and compile into an APK. Deploy the APK on your android phone.
    4. Set up ad-hoc connection between Raspberry Pi and Android. Set up a ad-hoc network on the Android phone using the Android networking icon on your phone.

      Boot into Raspberry Pi and have Raspberry Pi connect to the Android server. It may be helpful to configure Raspberry Pi to automatically connect to the Android ad-hoc server on boot. This tutorial may be helpful.
    5. Start CyborgSys.sh on Raspberry Pi. This boots up the camera server process on the Raspberry Pi, the sonar sensor process, and the servo controller server process. You should see camera data being streamed to your phone as a sign the system is working. On the app, you can move the servos to see if your system is up and running.

      Note: It may be useful to add CyborgSys.sh to the list of scripts that boot up when the Raspberry Pi boots up


    If you got this far, mega congrats! Have fun with your Cyborg Backpack!

  • 2
    Step 2

    Wearable MultiClaw Instructions:

    --Hardware Setup--

    1. Assemble Micro Gripper Kit A with Servos (follow instructions on SparkFun site). Actually, there might not be instructions for assembling the servos. Look for a tutorial on YouTube -- there's a good one that I used to figure it out. It's really simple. It's only three pieces. You can probably figure it out.
    2. Mount grippers on wrist bands via adhesive (such as tape). A good rule is 3 grippers per wrist band. You don't want to have too many, else the wrist band will get too heavy and the grippers may come off.
    3. Hook up grippers via servo extender wire to the Pololu Micro Maestro servo controller.
    4. Attach battery to servo controller and mount battery on wrist band. Small batteries are obviously useful here. We recommend the Tenergy ones.


    --Software Setup--


    In the software set up, you have two choices if you are using the recommended Pololu Micro Maestro servo controller -- you can either use the Pololu language to script the grippers or attach the Pololu Micro Maestro over usb to a Raspberry Pi and write Python code for the Raspberry Pi. Either way, it's not too bad.

    • METHOD 1: Script Pololu Micro Maestro to open and close grippers via the Pololu language. The advantage of using the Polulu language is that you don't need any additional hardware to control the grippers and/or other sensors you choose to add to the servo controller pins.
    • METHOD 2: Alternatively, you can code for the Micro Maestro in Python on a Raspberry Pi! This may be easier for novices looking to build cyborgs more quickly. The downside is you'll have to find a convenient place to keep the Raspberry Pi (perhaps in the pocket).

View all instructions

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates