×

PC Control These demos and projects allow the robot to be controlled via a computer.

ArbotiX Commander Control - These demos and projects control the Robot using the ArbotiX Commander, the handheld Arduino based remote control.

Direct Control - These demos and projects control the Robot directly from sensors connected directly to the Robot's control board.

Pose Control - These demos and projects allow you to create and playback a sequence of poses.

Serial Control - These demos and projects control the robot using a serial packet protocol.

Standalone - These demos and projects are deisgned to let your robot function without a computer or additional microcontroller.

Wireless Control - These demos and projects allow you to control the robot wirelessly - usually by replacing the Serial Connection with XBee modules.

Reference - These articles have technical details regarding the control and operation of the robot.

×

More info here

Chip-E Getting Started Guide

Contents:

  1. Setting up the Arduino Software
  2. Centering your Servos
  3. Chip-E Assembly
  4. Wiring Chip-E
  5. Programming and Controlling Chip-E
  6. Tuning your Chip-E
  7. Demos and Projects
  8. RobotGeek 101

1. Setting up the Arduino Software

Geekduino Getting Started Guide

If you have not already set up your Geekduino/ Arduino compatible board, please see the Geekduino Getting Started Guide. This guide will assist you in getting set up with the Arduino software as well as install libraries and test sketches for the Snapper Arm. Even if you do not have a Geekduino, you should follow through this guide to grab the test sketches you will be using throughout the snapper arm getting started guide.

2. Aligning Your Servos

geekmount-pins-note.jpg

Servo motors act like robotic joints - you can set them to specific positions to move your robot to different positions. This means that the servo needs to be set to s specific position before assembling your robot, or it will not work correctly. We are going to 'center' the servos, setting them to halfway between their maximum and minimum position. To begin centering your servos, we're going to have to set up your test rig. This is incredibly easy to do with a RobotGeek Sensor Shield. Start by attaching your Sensor Shield to your Geekduino/Arduino Compatible board. Slot the bottom pins of the RobotGeek Sensor Shield into the terminals in the top of the Geekduino. Note how the boards seat evenly on top of each other, and the pins line up exactly. Be careful not to bend the pins.

Wiring
b_500_500_16777215_00__images_tutorials_chip-e_centerservos-chipe_bb.png
Jumpers and Power

RobotGeek servos must be powered by an external power supply like the 7.4V Battery included with your kit. If you have servos plugged in to the shield and do not have the external power supply plugged into your Geekduino you will see erratic behavior.

You will also need to adjust your shield to make sure the power is getting to the servos correctly. Make sure that you have both of the jumpers on the Sensor Shield set to Voltage In (VIN) If you would like more information about this, check out the Jumpers/Power section of the RobotGeek 101: 1.3 RobotGeek Sensor Shield & Wiring Primer.

b_500_500_16777215_00__images_tutorials_rgSnapperArm_powerA.jpgsnapperArm-jumpers.jpg
Code

The following code will set any servos on pins 3,5,6,9, and 10 to a centered position (90°).

This code will both test and center your servos. Each servo will move do 45 degrees, 125 degrees, then 90 degrees. If you want to restart the movement, just push the reset button on your Geekduino. Make sure to only run this code when nothing is attached to your servos. Running this code on an assembled robot could damage the robot or servos.

File > Sketchbook > RobotGeek sketches > Tools > centerServo

If you cannot find this sketch, make sure you have setup your Libraries in the Geekduino Getting Started Guide. You can load this code using the same method as you used to load your test code on the Geekduino Getting Started Guide.


Installing Servo Horns

Once the RobotGeek Servos have stopped moving, they are centered and you can install the servo horn. To line up the horn, place it with the notch facing up. If it does not slide on easily, or it clicks into place with the holes not facing cardinal directions, ignore the notch, remove the horn, rotate it about 45 degrees and try again. Repeat until the top and bottom holes are aligned as close to exactly North and South of the center, as shown.

Warning: Do not rotate the center shaft during this process. This was aligned when you ran the centerServo tool in the above step.

b_500_500_16777215_00__images_tutorials_rgServo_center3.jpg b_500_500_16777215_00__images_tutorials_rgServo_center4.jpg b_500_500_16777215_00__images_tutorials_rgServo_center5.jpg

Your servos don't need to be 'perfectly' aligned, but the closer you can get, the better the robot will operate. Once your horn is ready, use a black phillips bolt included with the horn to secure the horn to the servo.

Your two Ankle Servos will also need idler horns. Idler horns are passive horns on the opposite side of the main servo horn. The idler horn allows you to connect a hinge bracket to the servo.

To install the idler horn, fit it onto the back of the servo and secure it with the silver screw. Orientation on the idler horn does not matter.

b_500_500_16777215_00__images_tutorials_rgServo_idle1.jpg b_500_500_16777215_00__images_tutorials_rgServo_idle2.jpg b_500_500_16777215_00__images_tutorials_rgServo_idle3.jpg

If you'd like more information on centering servos, see this page for more information and a video on centering servos.

3. Chip-E Assembly

Chip-E Assembly Guide

At this point, follow through the Chip-E Assembly Guide to get your bipedal robot built. Once you have completed the assembly, return here to wire, test, and run your Chip-E.

4. Wiring Chip-E

Device Sensor Shield Port
Servos
Right Hip RobotGeek Servo Digital 9
Left Hip RobotGeek Servo Digital 10
Right Foot RobotGeek Servo Digital 5
Left Foot RobotGeek Servo Digital 6
Digital Sensors
Face Screen RobotGeek LCD Display I2C
Buzzer RobotGeek Buzzer Digital 12
IR Receiver RobotGeek IR Receiver Digital 2
b_500_500_16777215_00_images_tutorials_chip-e_wiring-chipe_bb-fixd.png

5. Programming and Controlling Chip-E

Note: This code was last checked with version 1.6.12 of the Arduino IDE

RobotGeek Chip-E Control Library

Once you extract the file, move the Chip-E and Oscillator folders to:

Documents -> Arduino -> libraries

Now start/restart your Arduino IDE. Once the IDE is open, you can open the Chip-E Gamepad Demo.

File -> Examples -> Chip-E -> Chip-E_Gamepad	

Upload this sketch and get your controller ready!

b_500_500_16777215_00__images_tutorials_chip-e_controller-colorful.png

The controller is laid out intuitively, but let's go over some of the major points:

  • The Directional Pad is used for walking Chip-E around. Pressing in a cardinal direction moves or turns Chip-E.
  • The TA and TB buttons Speed up and Slow down Chip-E's walking gait.
  • The A and B buttons are Chip-E's Emotes! Chip-E is very excitable, and will wiggle in place or dance for you if you press one of these buttons.
  • If you want to operate more than one IR controlled device, or are experiencing issues with crosstalk from another device using an Infrared Remote, you can switch between one of two signal modes with the A/B Switch. This defaults to A in the code.

6. Tuning Chip-E

Once you've played around with Chip-E a bit, you might notice that the legs are a bit off center and feet aren't exactly parallel to the ground. We can fix this easily in code by adjusting a few values. Take a look at lines 72-75 in the Chip-E_Gamepad sketch:

const int TRIM_RR = -5; //Trim on the right ankle (adjust +/- as necessary)
const int TRIM_RL = -7; //Trim on the left ankle (adjust +/- as necessary)
const int TRIM_YR = -4; //Trim on the right hip (adjust +/- as necessary)
const int TRIM_YL = -2; //Trim on the left hip (adjust +/- as necessary)

The numbers can be changed to any whole value (no decimal points), positive or negative, to adjust the center position of each of the servos individually. You can start by setting them all to zero, loading the code, and observing the default positions.

Make sure to have your Chip-E's power switch ON during this process. The Servos require the voltage from the battery to function properly.

Now one at a time, you can change the number for each servo position, upload, check, and repeat the process until your legs line up perfectly.

7. Demos and Projects

Coming Soon

RobotGeek 101

Are you ready to dive even deeper into the world of Arduino? Then take a look at Robotgeek 101! RobotGeek 101 is a step by step guide that will teach you how to build, wire, and program your Geekduino/Arduino. Through RobotGeek 101 you will learn the basics of Arduino like digital input and output, and move on to more advanced topics like PWM and servo control. By the end of RobotGeek 101 you'll be well equipped to start modifying our demo code and creating your own custom applications.

RobotGeek 101

Feedback Form


Search