x10abot: the modular, scalable, extensible robotics architecture

20
X10ABOT: An Architecture for a Modular, Extensible, Inexpensive, Scalable General Purpose Robotics Platform Rohan A. Smith [email protected] Daniel Coore [email protected]

Upload: rohan-smith

Post on 12-Jul-2015

178 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: X10ABOT: The Modular, Scalable, Extensible robotics architecture

X10ABOT:

An Architecture for a Modular, Extensible, Inexpensive, Scalable

General Purpose Robotics Platform

Rohan A. [email protected]

Daniel [email protected]

Page 2: X10ABOT: The Modular, Scalable, Extensible robotics architecture

Problem Statement

We want to develop a robotics platform that is:

Simple enough to be used by elementary school students

Powerful enough that professionals would choose to use it.

Motivation:

Available kits for children are too restrictive for professional use

Page 3: X10ABOT: The Modular, Scalable, Extensible robotics architecture

Related Kits

LEGO Mindstorms NXTVex Robotics SystemTetrixxBioloidAiboBoe-botqfix

http://robosavvy.com/RoboSavvyPages/Support/Bioloid/bioloid-300.jpghttp://web.njit.edu/~baltrush/images/boe-bot_assembled.jpghttp://www.ktb-mechatronics.de/images/Crash-Bobby.jpghttp://www.vexforum.com/gallery/files/1/1/tomahawk-02-750_thumb.jpghttp://robotic-explorer.com/Image/N/Full/324-%20.jpghttp://www.itp.net/images/content/579647/article/4539-lego-min_article.jpg

Page 4: X10ABOT: The Modular, Scalable, Extensible robotics architecture

X10ABOT

A modular, extensible, scalable and inexpensive hardware and software platform for general purpose robotics development.

• Supports hundreds of sensors and actuators across several controllers.

• Targetable from a broad range of development tools. (for roboticists from elementary school to graduate level)– Eg: Could be LEGO NXT Software compatible

Page 5: X10ABOT: The Modular, Scalable, Extensible robotics architecture

Design Objectives

• Extensible: Permit Customized commands for peripherals

• Scalable: Support for multiple sensors and actuators.

• Modular: New sensors & actuators can be incrementally added

• Inexpensive: Relatively low initial cost and cost to scale

• User friendly: Usable primary school to graduate level roboticists

• Future Integration with other software eg: LEGO NXT

Page 6: X10ABOT: The Modular, Scalable, Extensible robotics architecture

X10ABOT: Architecture

Page 7: X10ABOT: The Modular, Scalable, Extensible robotics architecture

Peripheral Bus ProtocolI2C – Data Bus

Bus Arbitration Line

RS-232 – Interrupt Bus

Page 8: X10ABOT: The Modular, Scalable, Extensible robotics architecture

Peripheral Bus Protocol(Upgrade)

• I2C – Data Bus

• Multi-master bus arbitration

Page 9: X10ABOT: The Modular, Scalable, Extensible robotics architecture

Main Issue

Typical robotics programming model:

All peripherals connected to a single controller.

Hardware implementation does this literally.

Although the number of peripherals are no longer all connected to a single controller, we want to preserve the abstraction.

Page 10: X10ABOT: The Modular, Scalable, Extensible robotics architecture

Firmware:Microcode Control Interpreter

Page 11: X10ABOT: The Modular, Scalable, Extensible robotics architecture

Ports

http://en.wikipedia.org/wiki/File:SATA_ports.jpg

http://www.blogcdn.com/www.engadget.com/media/2007/04/hdsata2_engadget_howto.jpg

Page 12: X10ABOT: The Modular, Scalable, Extensible robotics architecture

Complete set of hardware operations

Category of commands Operands

Digital Input/Output (I/O) Hi, Low,Read

Analogue Read

Pulse Width Modulation(PWM) Duty Cycle, Frequency

I2CRead, Write

RS-232 Read, Write

Watch/Watch-then-do (stored procedures) Rising, Falling, Threshold,

Page 13: X10ABOT: The Modular, Scalable, Extensible robotics architecture

The X10ABOT Microcode StructureByte 1: 1111XXXX FUNCTION BYTE

Byte 1: XXXX1111 OPERAND BYTE

Byte 2: 11111111 D.B. SELECTION

Byte 3: 1111111X PORT SELECTION

Byte 3: XXXXXXX1 PIN SELECTION

Byte 4: 11111111 FUNCTION SEQUENCE NUMBER

Byte 4+n 11111111 DATA BYTES; n> 0

pwm(byte pwm_select, byte db_address, byte port_number, byte duty_cycle)

Eg: pwm (1,5,1,50):[00100000,00000101,00000011,01010101,00110010]

Page 14: X10ABOT: The Modular, Scalable, Extensible robotics architecture

Command Flow Example

dcmotor.forward()Converted to microcodedigitalOut(HI,db,port,pinA)DigitalOut(LOW,db,port,pinB)pwm(A,db,port,1024*power/100)

[[00100000,00000101,00000011,01010101,00110010],[00110000,00000111,00000011,01010111,00111100],

[00100000,00000101, 00100011,01011000,01110010]]

The DC Motor then begins to rotate forward at 50% power.

Program declares a dc motor(h-bridge) with the instructionActuator dcmotor(5,1,50)

Parameters include: Daughterboard #, Port#, Power

Control bytes are subsequently sent across the PB to the addressed Daughterboard

The daughterboard interprets the sequence of control bytes and asserts the operation on the addressed I/O port

The control bytes represent the sequence of micro instructions needed to complete the task

Page 15: X10ABOT: The Modular, Scalable, Extensible robotics architecture

Hardware implementation

http://www.midsouthmakers.org/wp-content/uploads/2010/05/arduino-diecimila.jpg

Page 16: X10ABOT: The Modular, Scalable, Extensible robotics architecture

Software:X10ABOT Arduino Library

• Sensor and Actuators are defined in libraries

• High Level language definition

Page 17: X10ABOT: The Modular, Scalable, Extensible robotics architecture

Results

Simple example:Single controller with a

force sensor and a DC Motor

Page 18: X10ABOT: The Modular, Scalable, Extensible robotics architecture

Results

Now we add:An extra controller on a

separate board with a push button, and a DC Motor

Page 19: X10ABOT: The Modular, Scalable, Extensible robotics architecture

• Extensibility: Adding new sensors and actuators with device libraries

• Complete set of micro instructions

• Input/Output port design and feature support

• Scalability – Up to 112 daughterboards

• Modularity

• Multitasking – RTOS

• Arduino boards can implement design

Summary