Senior Design 2010 Group 01 Members: Team Leader: Seth Beinhart Peter Martinson Joshua Clausman Advisors: Dr. Nicola Elia Matt Griffith Client: Department of Electrical and Computer Engineering Iowa State University Purpose To build a third omnidirectional robot for Dr. Nicola Elia’s research on cooperative tasks in distributed robotics Robot design should be simple enough so that additional robots can be easily produced To create collaborative tasks for three robots which support the direction of Dr. Elia’s research Omnidirectional Robots – Senior Design ‘10 Beinhart ,Clausman, Martinson Legacy Robots – Kryten & Dalec Strengths to keep Small profile Software system Limitations to overcome Computational limitations Motor power limited Wheel production Computer hardware not in production Omnidirectional Robots – Senior Design ‘10 Beinhart ,Clausman, Martinson Legacy Vision System Overhead Camera Robot (x,y) localization system Vision algorithm run LabView Localization packets sent WiFi with robot ID Omnidirectional Robots – Senior Design ‘10 Beinhart ,Clausman, Martinson Legacy I/O Server Ubuntu desktop SHH to robots and load AIs AI is program to control robot WiFi Scripts: drive mounting, libraries GUI to upload programs and manually control robots Data logging system Omnidirectional Robots – Senior Design ‘10 Beinhart ,Clausman, Martinson Legacy Concept Diagram Concept Diagram adopted from May-09-05 Senior Design Group Requirements Computer and Software x86, Linux, integrate previous system, overcome comp limits, I/O board, IMU, PC/104+ Wheels Easily reproducible, omnidirectional Electrical Variable motor power, old battery swap Physical Size, Weight, Speed, Acceleration Omnidirectional Robots – Senior Design ‘10 Beinhart ,Clausman, Martinson Requirements Changes Dropped I/O board – due to compatibility and integration time IMU – Still in project and tested on bench, not mounted Variable motor power supply Requirements changed mostly due to equipment failure and lack of integration time Omnidirectional Robots – Senior Design ‘10 Beinhart ,Clausman, Martinson Design Overview Legacy Software System Linux, Drivers, APIs Computer Hardware Power System Physical System Omnidirectional Robots – Senior Design ‘10 Beinhart ,Clausman, Martinson Design: Computer Hardware Main System CPU Board – Diamond Systems Pluto Motor Controller – MESA SoftDMC Motor Controller Peripheral IMU - Pololu CHR-6d Wireless – NetGear WG111 Omnidirectional Robots – Senior Design ‘10 Beinhart ,Clausman, Martinson Design: Computer Boards Diamond Systems Pluto Intel Atom N270 1.6GHz ETX Form Factor USB2.0/CFII/PC104+ 2 GB 5v @ ~2A 4I68 FPGA 400K gate Xilinx Spartan3 72 programmable I/O bits 50 Mhz crystal oscillator PC104+ bus SoftDMC 4 axis VHDL motor controller Requires ~200k logic units Mesa Electronics Omnidirectional Robots – Senior Design ‘10 Beinhart ,Clausman, Martinson Design: Peripherals IMU – Pololu CHR-6d 3 accelerometer, 3 gyro axis ARM Cortex Processor TTL 3.3 converted to RS-232 Wireless – NetGear WG111 USB2.0 Wireless G adapter Linux community driver support Omnidirectional Robots – Senior Design ‘10 Beinhart ,Clausman, Martinson Design: Power System Power Board Input: 6~16V Output: 3.3V @ 2A 5V @ 4A 6~12V @ 60A Motor Drivers 20kHz PWM 2 channel 5.5-16V 014A Current Sensing Batteries Motors Omnidirectional Robots – Senior Design ‘10 Beinhart ,Clausman, Martinson Design: Physical System Wheels Modified schematic from Kryten Injection molded ABS polymer Cheaply mass produced Frame Lower COM Larger Battery Kryten & Dalec Dual layer Omnidirectional Robots – Senior Design ‘10 Beinhart ,Clausman, Martinson Implementation: Software Linux – Ubuntu 10.10 Sensor Manager Sensor config Legacy Integration libconfig Scripts Network Libconfig Robot ID, IP addr Localization IP addr Cross compilation parameters Motor controller Omnidirectional Robots – Senior Design ‘10 Beinhart ,Clausman, Martinson Implementation: Software Motor Controller Legacy Code: MotorController.cpp Driver: DMCCom.cpp IMU Legacy Code: SensorManger.cpp Driver: imu.cpp, serial.cpp Encoders Legacy Code: SensorManger.cpp Driver: DMCCom.cpp Omnidirectional Robots – Senior Design ‘10 Beinhart ,Clausman, Martinson Implementation: Computer PC/104+ SoftDMC Serial - TTL IMU TTL-Serial Omnidirectional Robots – Senior Design ‘10 Beinhart ,Clausman, Martinson Pluto Implementation: Motor Controller SoftDMC Source provided by Mesa Electronics Modified VHDL Dual PWM Pin assignments Upload program Linux program for 4i65 (PLX 9030) Changed for 4i68 (PLX 9054) Omnidirectional Robots – Senior Design ‘10 Beinhart ,Clausman, Martinson Implementation: Power 5 VDC Supply Pluto Murata Power Solutions OKR-T/6 CD/CD Converter 4.-14VDC input, 0.591-6.0 VC @ 6A output 3.3 VDC IMU, motor drivers, intermediate motor logic Murata Power Solutions NGA 10S15033SC DC/DC Converter 4.75-28 VDC input, 3.3 VDC @ 2A output Motors run directly off battery power Omnidirectional Robots – Senior Design ‘10 Beinhart ,Clausman, Martinson Implementation: Frame Plate 18 cm diameter x 15 cm Diagonal slots to bypass wires Motor Mount 1016 Aluminum CNC Mill Omnidirectional Robots – Senior Design ‘10 Beinhart ,Clausman, Martinson Implementation: Drive Train Wheels ABS plastic Wire ring Rollers from mold Transmission Series 20/1 Planetary Gearhead Motors Faulhaber Series 2232006 SR DC Motors Omnidirectional Robots – Senior Design ‘10 Beinhart ,Clausman, Martinson Implementation: Wiring Connector board Motor, encoders, driver out, 3.3V power FPGA 8 pin connectors FPGA PWM to drivers Motor encoder to FPGA Batteries To power board To motor drivers Omnidirectional Robots – Senior Design ‘10 Beinhart ,Clausman, Martinson Testing: Computer Localization packets Previously developed AIs Arithmetic operation comparison Startup time 10000 1000 Eris Integer ~ 2 min 47 sec Serial 115200 BAUD 1000 packets, size 30 bytes 10% packet error Retransmission policy Single operation time (ns) Kryten Integer 100 Eris Float Kryten Float Eris Double Kryten Double 10 1 Add Omnidirectional Robots – Senior Design ‘10 Beinhart ,Clausman, Martinson Mul Div Testing: Power Computer Power 5V +/-5% 4.95V -1% 3.3V +/-5% 3.15V -4.5% Motor Power 20A/motor peak @ 7.4V Omnidirectional Robots – Senior Design ‘10 Beinhart ,Clausman, Martinson Team Evaluation Large undertaking, splitting up not always best approach Still have final touches: IMU mount, generate SoftDMC configs, more testing “Tales from the Crypt” Motor controller IO board Linux flash drive…the night before Motor drivers Wheels Omnidirectional Robots – Senior Design ‘10 Beinhart ,Clausman, Martinson Future improvements Software – none, integrated smoothly Hardware – I/O board, current sensing Motor Controller – Velocity based PID Electrical – Variable motor voltage Omnidirectional Robots – Senior Design ‘10 Beinhart ,Clausman, Martinson Leland Harker for everything electronical James Rasmussen for helping with CNC machining Peter Wallace and all the techs at Mesa Electronics for answer our onslaught of emails and sending us lots of cards Larry Couture for helping with mold design and injection molding Matt Griffith for being the resident ‘wizard’ Dr. Elia letting us spend all his money and still buying us Chinese! (and all his help of course) Omnidirectional Robots – Senior Design ‘10 Beinhart ,Clausman, Martinson Omnidirectional Robots – Senior Design ‘10 Beinhart ,Clausman, Martinson