Introduction: Xbox 360 ROBOTIC ARM [ ARDUINO ] : AXIOM ARM

Picture of Xbox 360 ROBOTIC ARM [ ARDUINO ] : AXIOM ARM

AXIOM ARM was designed by Sergei Dines : Mechanical Engineer Senior at USF ( Tampa ).

LinkedIN : http://www.linkedin.com/in/sergeidines

Website : http://www.surgerobotics.com/

Email : sergeidines@gmail.com

NEW !! : Shortened version visit : http://www.intorobotics.com/arduino-robotic-arm-controlled-xbox-360-wireless-controller/

*Update ( 11 / 24 / 2015) :

If using windows 8 or higher and having trouble ( especially with adapter not being recognized or having a green solid light) try the following: http://www.microsoft.com/hardware/en-us/d/xbox-360-wireless-controller-for-windows

Step 1: Purpose

The purpose of AXIOM ARM was to create a stand alone robotic arm that was controlled wirelessly.

Current Research :

Study biological systems to incorporate mechanisms that add mechanical advantage and reduce power consumption.


*** The controls are intentionally quick since the current system studies snake movements while balancing a large moment - I.e. if you want smooth controls, use 5 servos not 6***

This was accomplished using a Xbox 360 Controller although any device that has a usb adapter will work.

Disclosure :

This instructable was created in the summer of 2014 - further , independent research occurred during the Fall of 2014 in accordance with the Makecourse at USF.

The following discusses the parts you will need, how to wire everything, every version of the Arduino CODES ( including final Code), and an instruction manual.

Step 2: Parts

Picture of Parts

PART LIST

Although the MAKE class used this arduino kit (which took about 3 weeks to arrive), the following are the core parts you need to build this in the cheapest manner.

See Conclusion --> Instruction Manuel for Core Part List Excel + estimated lowest lost

SOFTWARE :

Create student account to get 3 yrs free

Final Code Uses XBOXRECV [wireless]

Optional Software :

For Circuit Schematics

MECHANICAL :

  • Breadboard - This is the breadboard used in the picture, however, this smaller breadboard makes things fit better [plus the power rails on both sides snap off which gives you freedom].
  • Polycase - Here is the one we had to use for the MAKE course; there you can find the 3D Inventor part file
  • 3D Printed Parts : Varies
    • Claws : I designed the claws but there are plenty of good ones online. If you don't feel like 3D printing the claws, order some such as these or these *NOTE : I cannot promise the servos you order will fit standard servos, so do some research*
    • Servo Brackets : See Attached Files below or Search for dimensions standard servo bracket to make your own -
      • ***If 3D printing brackets, make holes SMALLER than usual ( 1mm or so) and go back with a drill, otherwise your brackets will fail near the holes.
      • ***Do Not have to use "3Rd Bracket" {i.e. the custom servo bracket that looks like a box with a bunch of holes in it - can use other brackets}
  • Standard Servo Brackets :

You have a lot of options :

Buy this excellent servo bracket kit from amazon which has enough brackets for later projects or if you want to experiment with other geometries for the robotic arm * Includes All the bolts, nuts you need [M3, 0.5]*

You could buy the parts individually from amazon ; however, I recommend only buying servo brackets that have a textured look (like these ones) as I found that there are some "standard" brackets that don't allow the bolts to go in.

3D print : Make bolt holes smaller, will have to drill + make bracket thicker. May be easier to buy from amazon

  • Servo Bolts, Hex Nuts :

Unfortunately; if you don't buy the Servo Bracket kit from amazon, you are going to have to find servo bolts and nuts.

These Bolts and Nuts may work, but I cannot promise.

Also, this Bolt selectionon amazon is useful.

Ball Bearings : Buy Here: *buy only if you plan on 3D printing the swivel parts.

NOTE : I recommend using rubber -bands to counteract the weight of the arm, else you will be drawing a lot of current and will need to charge more frequently  - you may also risk damaging the servo. {Could also use other brackets, lever arms, strings, ect.}

ELECTRICAL :

  • Wires : Buy Here
  • Toggle Switch w/ Blue Light ( X1): Buy Here
  • Arduino UNO R3 ( X1): Buy Here
  • USB Shield (X1) : Buy Here
  • Standard Servos ( X6) : like These

Base joint : Used This (better quality then HD Power listed below)

Spin Claw : Used This

Other 4 joints : Used HD 1501MG Metal Gear

NOTE : Could  Buy 6 HD 1501MG Metal Gear if you don't feel like buying different types
  • Venom NiMH Battery 7.2V , 3000 mAh : Buy Here
  • Battery Charger : Buy Here
  • Alligator Clips :
    *Note : you will have a pair that come with the battery, but you will have to cut the wires that have the adapter on them, strip them, wrap a few breadboard wires and possibly solder. Electrical tape will also be needed. Or you could buy some from here
  • Xbox 360 Controller + Adapter ( For PC ) : Any Xbox 360 Controller should work, like This one : Buy Adapter Here

To Reduce the Cost Even Further :

  • Use micro servos
  • 3D print custom micro servo brackets
  • ***Change the geometry to use less brackets -buy brackets individually

Projected lowest cost could be around $140 [ using micro servos ]

NOTE : I do not own the rights of the part "Servo Futaba S30031" or " PolyCase Edit"

Autodesk Inventor 2014 Parts :

Step 3: Wiring

Picture of Wiring

I'm sure there is someone who could make this look nicer but this works just fine.

The small boxes on the bottom is a logical progression of the circuit [ something that makes more sense to me ]

Also, here is a description of what is going on as well as the Fritzing circuit schematic :

Step 4: CODE [ All Attemps ]

Here are all of the versions of the code.

Although I was able to get the robot to work with earlier versions of the code, I was unable to get accurate output values. This in turn meant the servo did not know where its position was; the codes had a lot of joystick compensation to keep it at one position. Knowing what I know now, it is most probable that an encoder was all that was needed.

Finally, I commented all previous versions of the code and found about 3 different ways to approach the problem.

I wanted a solution that made sense and so I sought the help of Barrett Anderies who had expensive experience with robotic projects.

All Versions of The Codes :

Step 5: CODE [FINAL]

UPDATED + SIMPLE CODE [ by yours truly ] : http://www.surgerobotics.com/coding.html#c++

Unlike other robotic arms that use an Xbox 360 controller, this one stays at the last position it was told and reacts how you could expect.

The controls of each servo are convenient and there are some extra cool features thrown in [ like Pressing A to start the whole robot, pressing B to safely detach servos].

NOTE : Stealing someone's work is not tolerable.

By using the Code Below you agree :

Keep Line 2 [“Barrett Anderies”] of the Final Axiom as he was the main contributor to the smoother controls.

PDF file = Full Code Description

Step 6: AXIOM SNAKE [ Updated Version ]

Picture of AXIOM SNAKE [ Updated Version ]

As a continuation from the Axiom Arm , Axiom Snake is able to extend further, have a longer operation time, and is more robust.

Step 7: Conclusion

Picture of Conclusion

This project was very involved and I would like to thank the following people :

Barrett Anderies

Anthony Rose

Additional References :

Advanced Visualization Center(AVC), Research Computing(RC) at University of South Florida

Design For X - Lab : http://www.eng.usf.edu/dfx/

***Please See the Following Instruction Manual of AXIOM ARM for proper acknowledgement, functionality, and lowest projected cost part list***

If you have any questions:

LinkedIN : http://www.linkedin.com/in/sergeidines
My Website : http://sergeidines.weebly.com/

Email : sergeidines@gmail.com

Step 8: Renderings

Picture of Renderings

Comments

wilgubeast (author)2014-09-22

Cool! Thanks for sharing such an elaborate and awesome project. We're always trying to capture school projects like this one, and you've shared a doozy. That picture of the arm looking out over the city at sunset has a whisper of a hint of melancholy.

Sergei Dines (author)wilgubeast2014-10-03

Astute observation concerning the sunset - and glad to help spread the love for robotics. If you have any questions, feel free.

Also : take a look at http://www.intorobotics.com/arduino-robotic-arm-controlled-xbox-360-wireless-controller/ for a new shortened version

About This Instructable

7,694views

41favorites

License:

Bio: Transformational Speaker - Writer - Philosopher - Futurist - Inventor - Philosophy Portfolio : http://www.strainbalanced.com/ Robotic Portfolio : http://www.surgerobotics.com
More by Sergei Dines:How to get started with roboticsHow to create an engineering / maker / technical portfolioReal Pipboy / IronMan : Wearable Heater + Runner Utility Light
Add instructable to: