My Robot Store

My Robot Store
This is my robot store! Click on picture above for more information

Monday, September 5, 2016

Paper / Book Outline for 3D Printing of Humanoid Robots

Yes, it needs work but this is a quick brain dump of my ideas.

I. Introduction to 3d printing of Humanoid robots.

A. 3D printing and why you should use it?
1. Additive manufacturing instead of subtractive manufacturing.
2. You can create smoother, more rounded, natural shapes for your robots.
3. 3d printing allows you to be more creative and think outside of the box with our robot designs.
4. Cheaper entry level for people to get into robotics if you own a 3d printer.


B. What is a humanoid robotics and why should you want to build one.
1. How did the Hobby start in Japan? Hobbyist wanted their own version of the ASIMO robot. The first humanoid robots where built with repurposed Kondo hobby servos for R/C cars and airplanes. First servos used where similar in capability to the XL-320.
2. Humanoid robots try to mimic human movements as close as they can.
3. The best way to interact with humans and use human tools without modification is a humanoid robot.
4. Watch a RoboCup video to see how cool and capable they are.
5. Humanoid robots will start appearing in our everyday lives more and more in the not too distant future.

6. Watch videos of the DARPA DRC robotics challenge to see why robots need a human shape.

C. What are the benefits of 3D printing out a humanoid robot?
1. Cheaper cost to print out brackets then other traditional manufacturing processes if you own a 3d printer.
2. 3d printers are cheaper than most metal cutting CNC machines.
3. Gives you more design options.
4. Standard metal brackets are ¼ to ½ inch 5052 Aluminum Metal. The metal sheets cost around 9.00 dollars for a 12 by 24 sheet.
5. Need cost of an average bracket to print out.

D. Why I started 3d printing out humanoid robots.
1. Testing out a new manufacturing process (experimentation).
2. For me a 3d printing robot is easier to use than a metal cutting CNC machine and a metal bending machine. Creating a metal bracket is a two-step process.
3. It is also not easy to correctly bend a bracket from a 2d object to a 3d object. This is a lot harder than you think. If the bend lines of the brackets in the legs are. different than it can be almost impossible to get the robot to walk.

E. Why start with an open platform robot.
1. Most of the robot is ready to 3d print with only a few modifications.
2. You can share your work with other people.
3. Usually cheaper to build then a closed sourced robot.
4. Easier to ask for help when building or programing (community/forums).


II. The road traveled or a brief history of how I got here.
A. The early days. There was a lot of failures! The MakerBot Cupcake was full of possibilities but very hard to use.

B. My first usable bracket! (Picture) I printed it on a UP Plus version 1.1.

C. I can print out a robot now! I now regular print out all of my brackets on my personal UP Plus version 1.2.

III. Servo selection.
A. Picking the right servo to use is the first and most important step of the design process.
1. The selection comes down to Robotis servos vs. Kondo servos.
2. Servos are an actuator which acts as the joints and muscles of a robot. Each servo counts as a DOF for your robot (Degrees Of Freedom).   

3. Your servo will have two servo horns one on each side usually. One will be powered by the servo and the other will be free spinning.
3. A cheap servo selection leads to a cheap robot.

4. A good servo can turn a bad design into a workable robot.

B. Servo selection factors.
1. Price is important as you will need between 16 and 24 servos. You can get by with less but that will decrease the robots capabilities. It is all about how much can you afford. It is a balance between cost and capability.

2. Holding torque of the servo.

3. Speed of servo.
4. Backlash is when a servo comes to a stop but still moves or wobbles. Like a gymnast not sticking their landing. Metal gears usually have less backlash then plastic gears.

5. Metal gears vs. Plastic gears.
6. What is the resolution of the servo motor and internal controller?
7. A Digital servo is a most.
a. Higher resolution than an analog servo.
b. Faster response time, more acceleration than an analog servo.

c. Constant torque throughout the servo travel and increased holding power when stationary than an analog servo.


8. Servos need to be Daisy chainable to the controller. If not you will have a control wire from each servo to the controller. This will create a huge mess that you will have to deal with. Also Servo wire nicking is a consistent issue that you will have to watch out for.  

9. Will you have to make your own servo horns?
10. How will the servo horns interact with your brackets?

C. The servo type selected will then tell you the robot size and
weight range.
1. It all comes down to holding torque; The weight of the robot will be determined by how much weight the servos can hold up right without too much stress, overloading or heating. If the servos can barely hold the robot upright then how can it support the robot when walking?
2. Big form factor servos will make it easier to build a larger robot.
3. Just as small form factor servo will make it easier to build a small robot.
4. Compare the size of the MX-106s to the XL-320 using a picture.
5. So you pick the servo based on the size, height and weight of the robot you want.

a. XL-320 < 1 kg.

b. AX-12 and AX-18 servos between 1 kg. and 2.5 kg.

c. MX-28 between 2.5kg and 4 kg.
d. MX-106 between 4 kg and 6 kg.

e. Dynamixel Pro > 5 kg .


D. The servo you select can make or break your robot project.
1. The right servo makes it easy to program the robot. The wrong servo makes it almost impossible to program the robot to do anything.
2. Do you want to spend a lot of time programing around weak servos?
3. Try to max out your budget as much as possible on servos. You will thank yourself later.


IV. What other hardware or software elements do I need?

A. Servo controller.
1. Open or closed sourced?
2. Is it the best way to control your servos?
3. Is the servo controller powerful enough to Handle 16 to 20 plus servos?
4. How will you connect your servos to the controller?

B. Programming software.
1. Ease of use. Is there a high learning curve?
2. Straight Embedded C++ programming is the most difficult to start out with.
3. GUI inference is very helpful for the first time user.
4. Can you program it like a Claymation movie? The robot replaces the clay figure.
5. Can you program the robot directly and then line capture the servo positions?
6. I use RoboPlus versions 1.1 and 2.1 and embedded C++. They were designed to be used by the Robotis line of servos.

C. Higher level brain then the servo controller.
1. Is the board too big or small for the robot?
2. The price of the add-on computer is a factor?
3. Can you connect it to your servo controller easily?
4. How will you power it?
5. How will you mount it on the robot?

D. Camera.
1. Vision capabilities can add a lot of functionality to your robot like face, color and object recognition.
2. PIXY camera is another option as it does a lot of the processing of the camera image on board.
3. Cameras are cheap and easy to buy.
4. They are usually easy to connect to your controller.


E. Battery.
1. Without a battery your robot will be tethered to the wall.
2. Need to get the right amperage and voltage plus capacity?
3. Will it connect to your servo controller?  


F. Sensors.
1. Sensors will allow your robot to interact with its environment.

2. Type of sensors need a good list.

3. If you are following RoboCup rules then you can only add sensors that a human has. Allow sensors are eyes (camera), ears (mic) and a way to communicate between robots (Wi-Fi).
4. Sonic distance sensor.
5. IR distance sensor.
6. Kinect like sensor which is both a camera and distance sensor. 
7. Speaker for voice.

8. Mic for voice commands.
9. Touch sensor.

V. Moding and creation of the brackets and body covers for 3d printing.

A. Open platform robots benefits.
1. Sharing of ideas and problems.
2. Gives you a great place to start.
3. Great for first time robotic builders.
4. Someone has already made this robot before. You can learn from their mistakes.

5. Hopefully it has Good documentation.

B. What is a robot bracket?
1. Servo connecter is its main job. Brackets are the bones of a robot.
2. The Brackets need to securely connect your servos together.

3. The brackets will be connected to your servos by servo horns. There is one horn on each side of the servo. Usually one side is powered by the servo and the other side is free spinning.
4. This is the main structure of you robot and needs to support everything your robot does. This is the main part you 3d print out.

C. Why does my robot need body covers?
1. Makes it look cool and give it personality.
2. Can decrease flex of the robot and make it stronger. This is based on how many connection points and where the connection points are on the robot. 
3. You can personalize your robot.
4. The covers can act as a cushion for your robot when it falls. This becomes more and more important as your robot gets bigger and heavier.   


D. Best CAD programs to use.
1. Price, ease of use.
2. Autodesk inventor, education license is free.
3. Solidworks questions? Need to talk to someone who uses it.
4. Free software is 123d design and Sketch up.


E. How to create a .STL file.
1. Make sure that you can easily convert a .STEP file to a .STL with your CAD program.
2. Show this in Solidworks through pictures and diagrams.
3. Show this in Inventor through pictures and diagrams.
4. Show this in 123d design and Sketch up through pictures and diagrams.


F. How to design for 3d printing tips.

1. Added Ribbing and Gussets especially perpendicular along the z layer of the part. If your part fails it will usually fail between z axis layers.

2. Rounded corners and rounded shapes to increase strength.

3. Increase thickness of part to force infill between walls. Think of infill as internal ribbing and gussets. You can create a hollow between walls if the walls are too thin

4. Eliminate as much bridging as possible
5. Always keep track of weights of each individual part and the total weight of the robot. You do not want to max out your servos.

6. If you start with a bracket designed to be created by metal, one of the easy tricks to do is eliminate the weight saving holes of the bracket. This will increase the weight of the bracket but with plastic it will make it stronger less flexible and make it easier and cheaper to print out.


VI. 3d printing of the robot.


A. 3d printing on your own personal 3d printer.
1. First you need to buy one. Checkout Make’s Ultimate Guide to 3d printing for suggests. This guide usually comes out each year in November and December. 
2. What capabilities will you need (make a list).
3. Support material is very helpful for robot brackets.
4. Can the printer print in ABS?
5. Is the price of the printer in your budget range?
6. Price of the plastic.
7. Ease of use. Is the hardware and software easy to use?

B. Printing out the robot through Shapeways and I,materialize 3d printing services.
1. There are other services but these are the two that I use.
2. Compare prices for parts at both Shapeways and I,materialize before you order.
3. What types of plastic should you use?

a. Nylon is the cheapest but it is very flexible.

b. ABS can be very expensive.

c. Nylon / aluminum is the best of both worlds, strong and tough parts and flex of part is less than ABS. But the parts can be very expensive!!

4. Show how by pictures and diagrams how to upload a design to both services. Also how to start-up a store in Shapeways and how to get the parts into the BETA program.

C. Sharing your robot design.
1. Allows other people to help you with the design and testing of your robot.
2. Thingiverse is still a good place to store .STL files for sharing them.
3. Open up a shop through Shapeways BETA product is another.
4. Share more than just the .STL files. Example is .STEP files which you can change and modify.

D. Tips and tricks I have learned while printing out my robots.
1. Elmer’s purple glue sticks works great and it is safe to use. Put it on the heated build platform to get rid of ABS curling. I use a thin sheet of aluminum with a thin layer of purple glue stick. I have also experimented with borosilicate glass and purple glue stick.
2. I try to keep the temperature of my print room at 80 degrees using a space heater.
3. I enclose the printer with a large cardboard box. This also protects the printer from my cat. I find that I get less curling and better layer adhesion with an enclosed printer. 

4. Warm dry air is great for 3d printing.

5. I also keep my house closed and use the best air filters you can buy because of my allergies. This keeps dust from collecting on your filament.
6. I store my plastic in a plastic container with a lid and inside is a water wick compound.


E. Types of Filament you can use.

1. PLA, pros and cons for robot brackets. PLA is usually to Heat sensitive and too brittle.

2. ABS, pros and cons for robot brackets. Good compromise between PLA and Nylon.

3. Nylon, pros and cons for robot brackets. Very strong and tough but it has too much flex.

4. Carbon nanotubes, pros and cons for robot brackets.  Adds increased strength and toughness to ABS. I have just started to use this filament.
5. ABS/Nylon adds increased toughness to ABS.

6. Future filament in the works that looks interest.

7. Too much flexing of a robot bracket when the robot moves can lead to increasing oscillations of the whole. This will then leads to major failure of disastrous results.

VII. Building of the robot.

A. So how do I assemble the robot
1. Make your own assembly manual or use an already created one.
2. Think out how you are going to assemble the robot beforehand.
3. Planning, planning and planning beforehand is key.

4. Sometimes you will have to disassembly part of the robot to assembly another part. Then you will have to reassembly the parts again. This is where documentation and pictures will come in handing. So you can show other people how not to make the same mistakes. For example the DARwIn-OP manual is full of small mistakes on which parts to assemble first.

B. What tools will you need?
1. Jewelry type straight edged screw drivers and Phillip’s screw drivers are a most (sizes 000, 00, 0, 01).
2. Extra lighting over your work table.
3. A build surface that is clean and where you can easily see small screws.
4. Lock-tight glue is dangerous to use with 3d printed parts as it will damage them.

5. Pliers set.

C. Fasteners or glue.
1. Pros and cons of both.
2. Experiment to see which creates the strongest joint.
3. Use both on important joints like in the legs, high stress joints.
4. Glue is like welding in some ways. Welding is how most robot parts are joined together.

D. Zen and robot assembly.
1. Lots of small screws and very tedious work. You need to channel the screw driver. That or have all of your screw drivers magnetized! 

2. Lock-tight can help keep screws from coming louse but the lock-tight will damage plastic parts.
3. Take breaks, no take breaks. Set back and take a deep breath every once and a while.
4. A cool, quiet area with few distractions works best for me. No cats (pets) or kids.
5. Organize and label all parts. Specially screws and nuts!!!.

VIII. Intro to robot programming.
A. How to get started.
1. How do you program the servo controller?
2. Embeded C++ is the usually way.
3. GUI software package that converts high level programming to embeded C++.
4. Motion capture software that takes servo postions and converts them to C++ code.

B. Create basic movements.
1. Start out with upper body movements.

2. Build moves one small movement at a time.

3. Motion capture GUI tool is great for this.

4. Lower body movements are the hardest to get right.
5. This can be a long an arborous process. Great example is that it takes humans one to 2 years to learn how to walk and we are not including stairs.


C. Create a basic walk.

1. Start out with the robot balancing on both the right and left foot.

2. Then have the opposite foot move forward a few millimeters.

3. Start with a shuffle step then work towards the robot picking up its moving foot.

4. Create a loop of this motion.

5.  Walking and running is a balance between the speed of the robot legs and the distance between its foot strikes or gait length. 

D. Make your robot dance.
1. GUI software packages like RoboPlus 2.1 makes this easy. There is a 3d computer model of your robot on your computer screen that acts like your robot. You then build the moves using the model. Then when you are done you uploaded it to the robot.

2. Embedded C++ is not for beginners.

3. Another easy way is to connect your robot to a software program. Then you turn the robot servos off and on. You move then to the next position then turn them on and line captures their positions. This way is usually a series of very small moves. Like the Claymation movie process. 



IX. Testing of the robot leads to improvements (iteration).

A. what is iteration and why it is a great tool.
1. Small changes to the robot with a 3d printer cost very little.
2. Design and print out small improvements or changes then test.
3. If the part does not work redesign it.
4. The important thing to remember is that failure is okay as it will not cost you that much.
5. Don’t get frustrated if things do not work. See this as a challenge not a road block.


B. Think of testing as playing with your robot.
1. You have to have fun or why do a humanoid robot project?
2. You have to have fun or why would you do this in the first place?
3. You can learn a lot about robotics and what works and what does not work.
4. Testing validates your design and tells you what parts you need to improve.
5. Hands on work or testing is the best way to learn anything.


C. A robot competition is a great testing ground for your robot.
1. What better way to test your robots functionality.
2. Learn from your issues and make your robot better.
3. Talk to the other roboticist and see how they work or design around their issues.
4. Robogames in San Mateo, US is a great competition to go to.
5. General Lessons learned during competitions or what not to do at your first competition (list).

D. Share your robot at your local hacker/maker space or Maker faire.
1. Feedback is always good.
2. Showing off what you are working on is fun.
3. Making and robotics can and should be a social activity.
4. After you get your robot working you need to do something with it! Not having it collect dust on a shelf or your desk.


X. Future ideas and ways to print out humanoid robots.

A. Metal printers.
1. The future is in both professional grade and DIY/ personal grade printers.

2. As robots get bigger, stronger and faster than so do brackets need to get stronger and tougher to.
3. Big issues will be the cost of the printer and cost of the parts.
4. Maybe a good option for a few very important parts of your robot (legs, hips).

B. Resin printers.
1. Examples: Form1.
2. Very detailed and precise objects can be created.
3. Solves the issue of z layer adhesion issues and breakage.
4. The liquid resin is the support material.

C. Better tougher and stronger plastics for FFM printers.
1. ABS/Nylon.
2. Granite and Nao-tube filament to increase strength and toughness.
3. Graphene filament to print out servos and circuit boards?
4. Right now FFM printers are the cheapest and easiest printers to use and to buy.
5. We need better ways to do support material.
6. Plastics are now being design for their properties after they are printed not before.

7. More testing needs to be done on the after 3d printed properties of filament.


D. Flexible and non-flexible plastic in the same print.
1. Yes way!
2. Possibilities are endless.
3. May revolutionize bracket creation and design.
4. We getting closer to printing out the whole robot at once now.
5. Flexible plastic for covers would be a good experiment to start with.

6. A part of the bracket can be flexible, while other parts can be rigid.
7. Parts can be made like a samurai sword. Flexible plastic in the middle that is incased by non-flexible plastic on the outside or the other way around may work better? This needs testing! 


E. Soft robotics and 3d printing.

1. Build the internal frame by 3d printing.

2. The soft outer shell will protect the internal frame. This could be 3d printed.

3. Soft to the touch.
4. Will the robot be powerful enough to be a Heath assistant robot like Baymax?
5. The old axiom is true. The bigger the robot is the harder it will fall!!


XI. Examples of robots to start with.


A. DARWIN-MINI project.
1. Parts list and what is needed.
2. List pros and cons of the robot.
3. Price too build is the lowest of any humanoid.
4. Capabilities okay but limited.

B. DARWIN-OP project.
1. Parts list and what is needed.
2. List pros and cons of the robot.
3. Very expensive robot to make and buy.
4. Capabilities are off the charts.

C. BIOLOID-3D project.
1. Parts list and what is needed.
2. List pros and cons of the robot.
3. Good compromise between the MINI and the OP.

D. 4 servo robot project.
1. Parts list and what is needed.
2. List pros and cons of the robot.
3. Cheap and easy robot to put together.
4. Limited capabilities.

XII. Conclusion.


A. There is a synergism between robots and 3d printing.
1. Leads to cheaper and easier access to both printers and robots.
2.  Improvements in one area will help the other area.
3. Leads to robot being improved and designed faster. Great help in decreasing development time.


B. The future is only limited by our imagination.
1. What do you want a robot to do?
2. What do you want a robot to look like?
3. What cool capabilities do you want your robot to do that no other robot does?
4. 3D printing will help you express your imagination better.

C. Humanoid robots among us.
1. It is just a matter of time. Examples are the DARPA DRC challenge, ASIMO and Pepper robots.
2. Best robot is a robot that can use human tools without a redesign of our tools.
3. Best robot is a robot that can move around in the human environment without issues. The humanoid shape works the best here.

D. What are my next 3d printed humanoid robot projects?
1. A 3d printed adult size humanoid robot for the DARPA Rescue robot Challenge.
2. A robot that can repair itself using an external or internal 3d printer .
3. Thinking outside of the box when designing a humanoid robot. 3D printing will allow me to do this. 

No comments:

Post a Comment