Creative Robotix - Educational Platform - 3DP

1,332

29

2

Published

Introduction: Creative Robotix - Educational Platform - 3DP

About: The Creative Science Foundation (CSf) is a nonprofit organization, dedicated to the exploration and promotion of creative methods for supporting science, engineering, business and sociopolitical innovation t...

Hey Everyone! Creative Robotix, now that's what we like! Have you ever wanted to imagine, create and make your very own humanoid robot with its very own personality? We have, so we did, and we would like to share with you what we have done.

Our Creative Robotix educational platform is an open source platform designed for those who are interested in learning more about the next major market for technology, robots! Our platform provides a fun, hands-on, fully customisable and accessible experience which addresses core STEAM (Science, Technology, Engineering, Arts & Maths) learning outcomes and is suitable for groups and individuals of any age to imagine, and create their very own robot.

Our educational platform is fully opensource and can be built from cheap off the shelf and readily available parts. By building a robot from basic parts you will lean about robotics, electronics, computing, 3D printing and modelling. While assembling the robot, you will be introduced to the basics in all these skills; you can chose to focus on a particular area by modifying any aspects of the design, such as personalising your robots face, body and arms with your own designs or decoration. Alternatively, you might like to upgrade your robots compute or sensing capabilities.

The platform is articulated with 5 low-cost servo motors, enabling differential drive with independent head and arm movements. A set of bicolour LED's enable colourful facial expressions, and the addition of speaker will allow your robot to 'talk'. The platform can also sense objects, such as lines on the floor and obstacles that are along it's pathway. It is powered by an Arduino Nano and has Bluetooth connectivity, which allows you to program the platform to operate in a few different modes. In full autonomous mode the platform makes for a happy little robot independent and carefree, or you can connect the platform to your mobile phone for some interactive fun, in super smart mode, you can give your robot a 'Brain the Size of a Planet' (as Marvin, the Paranoid Android, a fictional character in The Hitchhiker’s Guide to the Galaxy series by Douglas Adams was said to have) and hook it into the cloud of things via your PC where it can access internet knowledge and talk to other cloud connected Creative Robotix robots out there and share experiences. The options are limitless.

Our design philosophy is based around the 21st Century Robot Project an open source, crowd sourced framework approach to building robots in the 21st Century where robot's are imagined, designed and built to be social, to each have a name, to be community driven, connected, evolving, growing, improving over time, with each contribution and each iteration.

To get you started we’ve included a basic open source skin, RobEE. We encourage you to customise RobEE, with your own artistic skills, to give him his own personality, look and style, so why not print him out in white and let your artistic creativity go wild! Alternatively, why not dress him up, and take him out to see a show?

The Creative Robotix Educational Platform is skinnable, so why not show us your design skills and create a new robot character of your own, and perhaps write a creative story about your characters antics using some Science Fiction Prototyping, for more head on over to the Creative Science Foundation. To help your creative juices flow we have made another instructable, called TimEE, around our platform.

If you are technology minded, then why not try to find new ways to power our platform, perhaps with some of the latest advances in embedded technology, for example CHIP or Pi-Zero-W and why not try out some other neat sensors, maybe a camera, positioning or even give our platform a sense of smell, or try out adding some other off-the-shelf technology you prefer. By evolving our design, creating your own robots, we hope that you will enter into the spirit of free-sharing by offering your designs back to the community so our Creative Robotix project can fulfill its vision for creating an an open source, crowd sourced approach to building and exploring the future of robotics with RobEE, TimEE and Friends.

Finally, we wish you, "Happy Imagining, Happy Creating & Happy Making!"

Project Essentials:

  • Estimated time to build (excluding 3D printing): 2 hours
  • Estimated cost
    • group build (excluding 3D printing): USD 18 - USD 30, group of 5
    • individual build (excluding 3D printing): USD 33 - USD 55
  • The project will teach:
    • Engineering
    • Computer programming
    • Logic
    • Algorithms
    • Problem solving
  • Fun for individuals of any age, especially for parents and teachers to engage their children and classes with leading edge design technology and ideas of the future. We recommend younger creatives be under adult supervision.
  • The project has been designed not to require soldering. However, 'super glue' is used to fit some of the parts together. Alternatives are suggested at the relevant steps and these options maybe more suitable for younger makers.

Step 1: What You Need, the 3D Parts

The design files are split into two ZIP files, the CR-E Platform set forms the Creative Robotix robot base educational platform which can be 'skinned' to take on different robot characters. The RobEE file set is a character 'skin' which can be applied to the base. Download the design files and print them. We have tested these files on an UP BOX, printing in PLA. If you don't have access to a 3D printer then you might like to try the following online service 3D Hubs. We have also provided UP files with print layouts for the UPBOX+ and UP Box Mini.

Step 2: What You Need, the Components...

The materials can be bought from local electronics shops or online. We have used eBay to source components at the cheapest possible retail prices and have found the quality of components to be both good and reliable. A few of the components need to be bought in bulk and so the individual cost is relatively high when compared to the base unit cost. However, this is good encouragement to gather a group of friends and or classmates to share a social build together. The EXCEL sheet will automatically adjust the quantity and order counts according to your group size. Also if you find a cheaper source and component combination, please let us know.

NOTES:

  • The bill of materials excludes glue, insulation tape, double sided tape and tools as both are assumed to be common items.
  • There are three models available. Model A requires no soldering, but is the most costly as it uses dedicated 360 degree servos. Model B replaces the dedicated motors with low cost 180 degree servos, but two of these require a simple modification, which requires soldering. Model C is the lowest cost option and replaces the head and arm servos with three 'dummy' 3D-printed servos, these can be upgraded later.

Step 3: What You Need, Basic Tools, No Soldering Required.

A set of basic tools. The pair of long nosed pliers will come in handy when assembling the head and Bluetooth module.

  • Double strength double sided tape
  • Electrical insulating tape
  • set of micro screwdrivers (the smallest screwdriver is used for making pilot holes
  • Medium size cross head screw driver, it's also possible to use one from the micro set above
  • Long nosed pliers
  • Wire cutters
  • Super Glue
  • Automatic wire strippers (optional)

Step 4: Assemble the Lower Body and Line Sensors...

The line sensor modules should snap snugly into place, held by the lower sensor indents. Use the 1.4mm (or smaller) micro screw driver to make a pilot hole in the centre of the sensors screw hole. Use five 5mm washer head screws to secure them to the base, a firm press down on the screw driver will see them sink into the plastic. Hold the screws carefully to see them home. Ensure they are firmly home, but not overly tight.

Step 5: Fix the Battery Cover to the Upper Body...

Open the battery case and separate the battery cover. Using a small screw driver, make a 'pilot hole' in the centre of the battery cover. Be slow, be gentle. Placing a small square of insulating tape over the centre will prevent the cover from shattering. The battery cover should fit snugly against the bottom of the battery bay on the body. Next mark out and make two further pilot holes located just under each battery tap at the top of the case. Screw a 5mm self-tapping screw into each. Secure the cover to the body with a 5mm self-tapping screw.

Step 6: Attach the Lower Body to the Upper Body...

Press fit the 'body-lower' and the 'body-upper' parts together. We have found the parts to fit quite tightly together, so press firm, so far we haven't broken any parts at the step.

Step 7: Assemble the Wheels and Mount the Drive Servos...

Note the screw heads at the bottom of the FS90R servos. They adjust the servos resting position. Do not touch them, but they may need adjusting in the final step. Remove the FS90R servo labels. Assemble the wheels with two 5mm self-taping screws. Cut two slightly oversized rectangles of double sided tape and fit them into the servo cavities. Fit the 360 servos in position. They should press fit and hold in place. Use two 4mm servo screws to fix the wheels in place.

Tips that worked for us:

  • After the build is complete you may want to put a spot of glue to permanently secure the motors in place. However, this is best left until your build is complete and you are happy with the way it is working.
  • Instead of using the special 360 servos you may hack the cheaper Tower Pro SG90's servos for continuous rotation. By far the most reliable method is to hack a voltage divider in place of the potentiometer as ably described here.

Step 8: Attach the Castor Bar...

Put a thin line of of glue along the top edge of the castor and push fit into the body, the top of the castor should appear flush with the front body.

Tips that worked for us:

  • While glue is the best option to secure this part, you may wish to remove the need for glue at this step and use double sided tape instead. However, double sided tape may dry out and require reapplication.

Step 9: Tidy the Driver Wires...

Fix the wires from the drive servos in place with a plastic cable tie.

Step 10: Plug the Battery Wires...

Strip of a red and black single wire from the cable set, cut both in half. Strip back the ends of each half to bare about 10mm of copper. Cut the back the red and black battery wires the same amount as the half lengths you have just prepared. Strip back the ends of each to bare about 10mm of copper. Now twist both halves together, lay the twists flat and secure with insulation tape.

Step 11: Fix the Battery Mount to the Battery Casing...

Ensure the top of the battery mount (with the posts spaced furthest apart) is mounted flush to the top of the battery compartment that holds the batteries and is centred. You may need to press firmly to for a few seconds to ensure a firm and even hold.

NOTE: The tape may dry out after a few weeks and may need reapplying.

Tips that worked for us:

  • As well as double sided tape, you may optionally use 8mm self tapping washer head screws to secure the mount from the underside.
  • Super glue can also work well, but it does not adhere to some types of battery case plastic. Alternatively you may superglue the battery mount to the double sided tape.

Step 12: Upload the Test Script to the Arduino Nano...

If you haven't done so already download and install the Arduino IDE and base. Connect the Arduino Nano to your computer and open RobEE's Creative Robotics TestScript in the Arduino IDE. Select 'Tools' and then set the options 'Board' to 'Arduino Nano' and the 'Processor' to 'ATMega328'. The test script makes use of the New Ping library, to install the library, select 'Sketch', then 'Include Library' and 'Manage Libraries'. Search for 'New Ping' and install. New Ping will conflict with the Tone functions, so you will need to edit the NewPing.h file and set the TIMMER_ENABLED setting to 'false'. You will find the '.h' file under the 'Arduino/libraries/NewPing' folder, usually in your 'Documents' folder.

Step 13: Fix the IO Breakout and Arduino Nano...

Use a small screwdriver to create pilot holes in each of the four battery mount posts. Secure the IO breakout with four 5mm screws, and fit the Arduino Nano. Attach the main battery compartment to the main body.

Step 14: Wire-up the Line Sensors...

Strip 5 pairs of 3 wires from the main set of patch cables. Feed through the 5 pairs first, then connect the line sensors and tidily pull through. Facing front, the line sensors are numbered from 1 to 5, left to right. This will be important when connecting the other end of the cables to the Arduino breakout.

Tips that worked for us:

  • The 5 pairs of 3 wires should naturally be different color combinations for easy identification of sensor number.
  • Take a picture of the front, so you can reference the picture when wiring the sensors to the Arduino.

Step 15: Mount the Arm and Head Servos...

Feed the head servo cable through the fittings as shown. As with the wheels, remove the servo labels, cut slightly oversized rectangles of double sided tape and fit them into the servo cavities. Fit the servos in position. They should press fit and hold in place

The servos should fit snugly into place.

Note: Use the cutters to carefully snip out the small bridge blocking the head servo from seating.

Step 16: Feed Through Ultrasound Wiring, Connect Up the I/O and Tidy Up...

Strip off a group of four wires from the main patch cable set and feed the group of wires through the same opening at the line sensors, this maybe a tight fit, be gentle, but a firm push and some dexterity maybe needed here. Turn the base over and connect the motors and sensors according to the pin mapping PDF. To tidy the wiring, remove the screws securing the I/O breakout the the battery mount. Tidy the line sensor, battery and servo wires into the space made by the battery mount, between the main battery holder and the bottom of the I/O breakout. Fit back the I/O breakout. Secure wires each side of the battery mount using cable ties.

Tips that worked for us:

  • While securing wires with the cable ties, ensure there is just enough slack to allow you to remove the battery cover to fit and remove the batteries.

Step 17: Wire-up the Speaker and Trim Excess Solder...

Strip off 3 wires from the main set of patch cables. Attach to the speaker. Using the cutter, carefully trim off excess solder. This will help the speaker fit into the speaker holder later.

Step 18: Assemble the Bluetooth Module, Wire-up the Voltage Divider...

The Bluetooth module we are using, the HC-05/06, operates on 3.3 volt signalling, the Arduino board we are using operates on 5 volt signalling. The 3.3 volt transmissions from the Bluetooth module to the Arduino are fine, in 5 volt logic a logic 1 is seen as a voltage greater than 2 volts, so we're all good. However, the 5 volt transmissions from the Arduino to the Bluetooth module may cause very bad things to happen to the RX input, over driving the input and potentially causing damage. We need to regulate the transmission voltage down to an acceptable level. This can easily be achieved with a 'voltage divider'. In this case we need to bring 5 volts down to 3.3 volts, so we need a 20K resistor across the modules RX input to ground and a 10K resistor from RX the input. The RX input resistor will connect to the the TX output on the Arduino Uno. Use the long nosed pliers to raise the transmit pin on the Bluetooth module by 90 degrees upward.

Notes:

  • How to 'read resistor values'
  • The 20K resistor will be 3 banded red, black, orange, or 4 banded red, black, black, red
  • The 10K resistor will be 3 banded brown, black, orange, or 4 banded brown, black, black, red

Step 19: Wire-up the Transistor Block...

We need to create a 'bus' line for the serial TX output on the Bluetooth module, this will allow us to have the Bluetooth module and the USB serial device connected together at the same time. To implement this 'one line bus' we need to use a transistor. Here we use one PNP, 2N222A, transistor and a 10K base input resistor. In the picture the right most terminal is securely attached to the raised transmit pin.

Wiring in the picture:

  • Brown wire is +5 Volts
  • Yellow wire is GND
  • Top yellow wire connects to the base resistor connected to the transistor and is the activation line to Pin 12
  • Bottom yellow wire is the TX output and connects to the RX input on the Nano, Pin 1
  • Orange wire is the RX wire and connects to the TX output on the Nano, Pin 2

Step 20: Fix the Bluetooth Module to the Bluetooth Carrier...

Ensure the Bluetooth carrier is orientated with the speaker holder top left. Apply a strip of double sided tape to the lower two thirds of the carrier top. Fix the Bluetooth module in place, careful to alight the solder pins just after the edge of the carrier.

Step 21: Install the Speaker and Bluetooth Module...

Slide the speaker module into the Bluetooth carrier, this should be a tight fit. Trim the bottom solder if necessary. Slide the Bluetooth carrier over the Nano, top down. Connect speaker and the Bluetooth module cables using the pin map guide in the previous steps. use cable ties to neatly secure both to the existing cables.

Step 22: Base Platform Complete...

The platform body is now ready to apply a skin. The skin provided in the base package is RobEE and follows a 2D design aimed to be functional, yet simple and quick to print on all 3D printers. A more complex example is our Timee skin.

Step 23: Mount the Ultrasound Sensor and Front Body...

  • Apply a strip of double sided tape to the ultrasound holder.
  • Connect the sensor wiring according to the pin mapping in the previous step
  • Press fit the sensor into the sensor holder, it should be quite snug.
  • Fit the holder over the body, you may need to apply a slight bend to lift the holder strut over the side of the body.

Step 24: Assemble the Arms...

Thumbs Up! Using two of the long servo arm mounts from the Tower Pro secure them to the upper arms with two 5mm self-tapping screws, ensuring correct orientation, for left arm, right arm.

Step 25: Assemble the Head Mount Bracket...

  • Mount the remaining long servo arm to the head mount bracket using two 5mm self-tapping screws.

Step 26: Fix the Eyes and Mouth LED's...

Using the long nosed pliers, fit the 5mm LED plastic mounts into each eye socket and mouth, they should push through so that the rear clasps protrude through into the rear of the head cavity as shown. Ensure all LED's are aligned, flat edge facing up, leads vertically aligned, with the shortest to the bottom. Use the pliers to bend the LED leads from mouth, right, at roughly 45 degrees. Cut all leads so that they are of equal length.

Tips that worked for us:

  • If the LED clasps are a little tight, or do not allow the LED eyes to be easily pushed through, then you may widen the eyes at the rear by gently removing some of the plastic. This can be achieved with a Philips head screw driver which is larger than the rear eye holes, or with the pliers.

Step 27: Make Up the Patch Wires for the Eyes and Mouth...

Strip off 3 pairs of three wires from the main set of patch wires. Select two pairs of 3 for the eyes. Pare back one wire on each, this will be the ground wire. Cut the other two wires in each pair at the mid point. Use the automatic wire stripper to bare 5mm of copper at each of the four cut ends. Pair up the pairs twisting the ends together. Place resistor in series. Take two 220 Ohm resistors and twist one into each of the twisted pairs. Take one shorter cut wire and twist on to the other end of each resistor. Insulate the expose wires. Repeat for the mouth cable.

Step 28: Wire-up the Facial Features...

Wire up the eye LED's the common patch wire in each pair attaches to the middle leg of each eye LED. The wires sharing the same twisted pair should connect to leads in the same position on each eye. Wire up the mouth LED with the mouth cable. The common wire should connect to the middle leg of the LED. Ensure the female connectors have a reasonable hold onto the LED legs. Secure connectors with a square of insulating tape.

Tips that worked for us:

  • If you find the female connectors are not tight and easily 'fall-off' then cut the female connector from the patch cable, use the wire stripper to bare 1 cm of copper and twist the copper into each LED leg. Secure with insulating tape.

Step 29: Attach the Head and Wire Up the Eyes and Mouth...

Ensure that the servo motor spindle is centred before attaching the head, follow the pin map to connect the LED's.

Tips that worked for us:

  • We used a spare servo arm to place on the spindle, gently turning to each extreme to gauge and set the center point. It doesn't need to be precise as you can set of offset in the driver software to tune the center position.

Step 30: Attach the Arms...

Role the servo spindle backwards until it reaches its end-stop, then attach the arms using two 4mm screws. A magnetic screwdriver head will make it easier to guide the screws down the arm spindle.

Tips that worked for us:

  • We generally fix the arms so they are raised vertically upwards in the 'up' extreme.

Step 31: Build Done! Let's Test the Basic Functions...

Ensure the power switch is in the 'off' position. Insert 4 AA batteries into RobEE, any AA batteries will do, however we recommend to go green and use rechargeable ones. Place RobEE on a flat surface, or low pile carpet, then flip the power switch to 'on'. If all has gone well, then RobEE should spring to life and run through the test script loaded earlier.

If nothing happens, or things don't work out as they should, don't worry, just flip the power switch to the 'off' position. You will now need to 'debug' RobEE to help to work properly. He's probably just got a few of his wires crossed, so carefully check through the connections, a VCC (+5 volts) or a signal wire may have connected to a GND (0 volts) point, or visa versa. If you can see nothing wrong, then remove all wires from the Arduino Breakout I/O board, and then add them back, one sensor at a time, until you have them all connected and working. Debugging, or problem solving, may take time, but it is a very useful skill to acquire.

Tips that worked for us:

  • If your RobEE's wheels move slightly when they should be stationary, then you can adjust the servos by using a small screw driver to adjust the feedback resistor. The feedback resistor screw can be found at the bottom of the servo. Turn the screw until the servo stops turning or is stable at rest.

Step 32: Setup and Test the Bluetooth Connection...

Open your computers Bluetooth and scan for the HC-06 Bluetooth module, there the connection PIN should be '000' or '1234'. You may choose to name your connection. View your Bluetooth devices and select properties, then select 'Hardware' in the properties window. Note down the COM port number for the Bluetooth module, in this case it's on COM32. For the purposes of the test, remove the USB cable from RobEE. And flip the power switch to 'on', wait for RobEE to go through his little forward and back 'dance' routine. Then open the Arduino IDE, select tools, the correct 'Port' number, then 'Serial Monitor'. When the Serial Monitor opens, select a 'baud' rate of 9600 and change 'no line ending' to 'Both NL & CR'. You should now see the screen scroll with sensor information RobEE is feeding back you you, play around with the sensors to see the screen output change. You can also send messages to RobEE, try typing a message to RobEE in the top window and press return to send.

Tips that worked for us:

  • While the Arduino serial monitor is adequate there are more powerful serial terminals available. One of our favourites is YAT (Yet Another Terminal).
  • You may also try connecting to RobEE using your mobile phone. One of our favourite serial terminals for Android is 'Serial Bluetooth Terminal' by Kai Morich. If you are using an iPhone / iPad, then you may try BluTerm.

Step 33: Congratulations! Your Creative Journey Has Just Begun!

You now have your very own RobEE humanoid robot to play with, to program, to customize, to use at home, to use in class, or for your university project. Let us know what you do with yours!

We will be uploading some standalone sample applications and driver software for different platforms, including Python, C/C++, ROS and Android, to our Creative Robotix project pages.

Lastly, we wish you,

"Happy Learning. Happy Playing & Happy Experimenting!"

Share

    Recommendations

    • Oil Contest

      Oil Contest
    • Creative Misuse Contest

      Creative Misuse Contest
    • Clocks Contest

      Clocks Contest

    2 Discussions

    Hi Shahed,

    Yes it is possible to use an UNO. To make the build practical you would need to use an UNO IO breakout module, like this,

    http://tinyurl.com/y9styhpz

    Hope this helps and happy building!

    great work. is it possible to make it arduino UNO