Blogs

Pico/Rampage Motherboards Have Arrived for Initial Testing

 
Pico/Rampage E-12/Gumstix Carrier Board
 

Features:

  • Gumstix Overo (Connector)
  • E-12 FPGA Module (Compact Flash Connector)
  • USB-to-Serial Converter for Gumstix Terminal
  • USB Hub with 2 USB Host Connectors
  • USB On-The-Go Port
  • 3.3->5V Charge Pump for USB Peripheral Power
  • 1.8V->3.3V Level Shifting for Gumstix I/O

FPGA / OMAP3 Carrier Board for Rampage Bot Prototypes


Pico Computing and Rampage Robotics are currently developing a Gumstix Overo and PICO E-12 FPGA module for the Rampage Robot Prototype platforms. 
 

Rampage Robotics & Pico Computing Gumstix/FPGA Robot Board
 

Pico Computing E-12 FPGA Card

What is an E-12 module?
The PICO E-12 is Compact Flash format FPGA module.

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:

  • On-board microSD card slot
  • I2C, Six PWM and A/D Signals, 1-wire, UART, SPI, Camera in, Extra MMC lines
  • Headset and Microphone Signals
  • USB OTG signals, USB HS Host

Wireless Communication: 802.11(g) and Bluetooth®

The Overo Fire is available from Gumstix

Arduino Robot Abstraction Libraries

 

We will be releasing our Arduino Robot Abstraction libraries under  a Creative Commons Attribution-Noncommercial 3.0 Unported license.

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

These classes are made available to you in the Arduino 0018 environment by adding Encoder, Motor, Camera, and Robot packages to the arduino-0018/hardware/libraries folder. Below Sensor, Actuator, and Device examples are shown.

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

 

We recently received two new color CMOS cameras from Electronics123Immediately, we wanted to mount one onto a Rampage Robot.  Fast prototyping with small scale PCBs allows for rapid development of structural elements of a pan-tilt camera.  Since parts were gathered while constructing, I used what I had laying around.  After devising several methods for pan-tilt we came up with the following solution. 

Isometric View of Robot with New Pan-Tilt Camera

Sparkfun:
2 x PRT-08808 - ProtoBoard - Square 1" Single Sided (Comes in a package of 2)
1 x PRT-08810 - ProtoBoard - Round 2" (To be cut in half)
1 x PRT-00553 - Break Away Headers - Right Angle
(We didn't have these on hand but bent straight pin worked fine)
2 x ROB-09065 - Servo - Small
(These are not the ones we used but are the same size)
5 x PRT-08993 - Screw 2-56 Button Head - 3/8"
4 x PRT-08995 - Machine Screw Nut 2-56

Electronics123:
1 x BB016 - C-Cam8-6016IR Miniature CMOS Camera

Miscellaneous:
8 - Servo Horn Screws (I used left over screws from the inside of a Game Boy.)
4 - 2-56 Washers (If screw head is too small for servo.)
Build time with the help of a dremel and soldering iron is less than 2 hours.
Please view the pictures below as a guide for building your own.

Pan-Tilt Camera Front View

IMG_2566

Pan-Tilt Camera Riew View

We plan to build a stereo camera mount next.
Official PCBs will be manufactured for this type of pan-tilt camera mount.

Syndicate content