Pico/Rampage Motherboards have arrived for testing!

Pico/Rampage Motherboard for V4 Robot Arduino-based Prototypes

Pico Computing and Rampage Robotics Develop Gumstix/FPGA Motherboard for V4 Prototypes

Rampage Robotics & Pico Computing Gumstix/FPGA Robot Board

Pico Computing and Rampage Robotics are currently developing a Gumstix Overo and PICO E-12 FPGA module for the Rampage Robot V series. It is expected to launch Q4 of this year.

Features:
* Gumstix Connector
* E-12 Compact Flash Slot
* USB-to-Serial Converter for Gumstix Terminal
* USB Hub with 2 USB A Host Connectors
* USB OTG Port
* 3.3V Boost Regulator to power USB Slots
* 1.8V to 3.3V Level Shifters for IO on Gumstix

Pico Computing E-12 FPGA Card


What is an E-12 module?
The PICO E-12 is CompactFlash format FPGA module.
It includes the following features:
* Virtex-4 FPGA
* 128MB SDRAM
* 64MB Flash ROM
* Gigabit Ethernet
* JTAG Hardware / Software Debugging
* 44-bit High Speed Digital Bus
* PowerPC 405 Processor (EP Model)

The E-12 module is available from Pico Computing

Gumstix Overo Series


What is a Gumstix Overo?
The Overo is a powerful computer-on-module. It contains a TI OMAP processor running at 600Mhz with performance up to 1200 Dhrystone MIPS. Onboard RAM and Flash at 256MB. A micro SD card slot allows for additional storage space (currently using a 16GB card with Ubuntu 9.04).

"Overo Fire, a tiny, ARM Cortex-A8 OMAP3530 based computer-on-module that communicates via 802.11g and Bluetooth, is low cost, high performance and production ready. Network connect your product and manage it wirelessly, while the Cortex-A8, DSP and 3D acceleration deliver the performance you crave." - Gumstix

Processor:
OMAP 3530 Applications Processor with ARM Cortex-A8 CPU, a C64x+ digital signal processor (DSP) core, and the POWERVR SGX for 2D and 3D graphics acceleration

Features:
- I/O pin compatible with all OMAP 35x-based Overo COMs
- on-board microSD card slot
- I2C, PWM lines (6), A/D (6), 1-wire, UART, SPI, Camera in, Extra MMC lines.
- Headset, Microphone, backup battery,
- USB OTG signals, USB HS Host
Wireless Communication:
802.11(g) and Bluetooth®

The Overo Fire is available from Gumstix

Additional information will be added in the next few weeks.

Gumstix Development Computer and Motion Tracking Device

Robot "Gumstix Computer" "Motion Tracking Sensor" Herbert

Available Soon!

Arduino-based Robot Starter Kit

$89.00

Rampage Robot Base V4 Prototype


Dual Power Battery Module w/ Charging ICs



Assembled Unit

Description:

This robot features the Arduino bootloader with ATmega168 microcontroller and motor control circuitry built-in.

A battery module plugs in through a stackable arduino shield compatible pinout.

More information be available shortly. Please check out our wiki for schematics.

Encoder Test on Rampage Robot from Jose Torres on Vimeo.

$89.00

Arduino Robot Abstraction Libraries and News

Check out our new Open Source Rampage Robotics subversion repository. You may browse and download arduino libraries to drive a robot. Eventually, once the first production run of rampage robots go on sale we will be releasing the full circuit board design files on the repository as well.

All files are shared under a Creative Commons Attribution-Noncommercial 3.0 Unported license.

The libraries will be divided into Sensor, Actuator, Device and Control.

Below Sensor, Actuator, and Device examples are shown. These classes are made available to you in the Arduino 16 environment by adding Encoder, Motor, Camera, and Robot packages (click to download) to arduino-0016/hardware/libraries folder. You may also download the entire Embedded/Libraries folder that includes all previously mentioned packages.

Sensor

Encoder


There are four encoders on the robot. Two per each side gives a quadrature output such as above. These sensors are connected to the A0-A4 (14-17) pins on the microcontroller. Quadrature encoding allows for determination of speed and direction of each motor. Encoder.revolutions(int) operates using a polling technique at the moment and does not make use of interrupts.

class Encoder
{
        public:
                Encoder();
                Encoder(int pin);
                void count(int num);
                void revolutions(int num);
        private:
                int _pin;
                int getValue();
};

Actuator

Motor
The Motor class is pretty straight forward, it will allow you to change the rate or speed of each motor. One PWM signal makes use of the analogWrite(pin) and the other signal is kept low with a digitalWrite(pin) both functions provided in the Arduino Environment. Pins 5 and 6 are used for the right side while 9 and 10 are used for the left. These are all analogWrite outputs (PWM capable).

class Motor
{
        public:
        Motor();
        Motor(int pwm1, int pwm2);
        Motor(int pwm1, int pwm2, int rate);
        void rate(int val);
        void drive(boolean _direction);
        void stop();
               
        private:
                int _pwm1;
                int _pwm2;
                int _rate;
};

Device

Camera
This class is designed to control a pan-tilt camera. Servo max and min values must be determined to not force the motors into a degree in which the motors jam. The move functions take a percentage and convert that to the proper servo value between Min and Max.

#define HORIZMAX 170
#define HORIZMIN 10

class Camera
{
        public:
                Camera();
                Camera(int vertPin, int horizPin);
                void move(int vertPercent, int horizPercent);
                void moveVert(int percent);
                int moveHoriz(int percent);
                int getVert();
                int getHoriz();        
        private:
                int vertPercent;
                int horizPercent;
                int vertPin;
                int horizPin;
                MegaServo servo[2];
};

Robot

The robot class allows you to make use of differential steering. Currently a turn function is not implemented which would allow you to steer the robot at a specified degree from 0 - 180. Currently the constructor requires an encoder sensor to allow each forward, reverse, spinRight, spinLeft function to operate until a certain revolutions count is met.

class Robot
{
   public:
      Robot();
      Robot(int pwm1, int pwm2, int pwm3, int pwm4, int encoderPin);
      void rate(int val);  
      void forward(int length);
      void reverse(int length);
      void stop();
      void spinRight(int val);
      void spinLeft(int val);
       
   private:
      Motor _left;
      Motor _right;
      Encoder _sensor;
      int _rate;
};

We hope to provide more advanced control functions not only in these libraries for the base processor but for different add-on processors as well. Please let us know if you have any issues or suggestions on how to make these libraries better.

Build a Pan-Tilt Camera Mount in Less Than an Hour

Isometric View of Robot with New Pan-Tilt Camera

I received two new color CMOS cameras from Electronics123.com for $26.95 each.
Immediately, I wanted to mount these onto the Rampage Robot. I'll show you how after the break.

Robotics Company Plans to Market Arduino-based Robot


Rampage Robotics was created with the goal of introducing low-cost educational and hobby robots. As seen below, a modular design allows for the rapid development of basic or complex robots by the simple adding or swapping of circuit boards.

My Robot Army is Growing

They're coming!

Four wheel drive robot with dual h-bridges controlling four motors for differential steering. ATmega168 microcontroller running at 16mhz. Arduino shield compatible headers to allow for stackable shields and protoboards. Zigbee socket for wireless bootloading or USB for wired programming. Quadrature encoders on each side for dead reckoning.

ArduinoBot Prototype w/ Protoboards

The protoshield allows for rapid development of new sensor modules. This shield incorporates a digital compass, accelerometer and IR remote receiver. A simple IMU can be developed using only these parts. One can easily explore the viability of any broken out sensor such as those sold by Sparkfun.

Speech, IMU, IR Remote Sensor

Speech/MP3 Playback can be added by using a Sparkfun Logomatic v2 and a VS1053 MP3 Decoder. By utilizing these two modules and an accelerometer, one can program the robot to say certain phrases when events occur. For example, when you pick up the robot off the floor it can say "Hey! Put me down!" or "Oww" when it bumps into a wall.

ArduinoBot Prototype w/ FPGA

With the addition of the Logomatic v2 in the Speech example, we quickly realized that more powerful processors can be added in tandem with the base module ATmega168 microcontroller. Sparkfun offers a Altera Cyclone II Breakout Board and with a baseboard shield which includes SDRAM and Flash, one can take advantage of the soft-core processors that Altera, Xilinx, or Opencores.org offers.

For more picture, please see my flickr set here.

Please leave a comment or contact us for more information.

Syndicate content