TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
X10ABOT: The Modular, Scalable, Extensible robotics architecture
1. X10ABOT:
An Architecture for a Modular,
Extensible, Inexpensive, Scalable
General Purpose Robotics Platform
Rohan A. Smith
rohan.smith@alumni.uwi.edu
Daniel Coore
daniel.coore@uwimona.edu.jm
2. 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
3. Related Kits
LEGO Mindstorms NXT
Vex Robotics System
Tetrixx
Bioloid
Aibo
Boe-bot
qfix
http://robosavvy.com/RoboSavvyPages/Support/Bioloid/bioloid-300.jpg
http://web.njit.edu/~baltrush/images/boe-bot_assembled.jpg
http://www.ktb-mechatronics.de/images/Crash-Bobby.jpg
http://www.vexforum.com/gallery/files/1/1/tomahawk-02-750_thumb.jpg
http://robotic-explorer.com/Image/N/Full/324-%20.jpg
http://www.itp.net/images/content/579647/article/4539-lego-min_article.jpg
4. 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
5. 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
9. 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.
12. 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
I2C
Read, Write
RS-232 Read, Write
13. The X10ABOT Microcode Structure
Byte 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]
14. Command Flow Example
dcmotor.forward()
Converted to microcode
digitalOut(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
instruction
Actuator 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
18. Results
Now we add:
An extra controller on a
separate board with a
push button, and a
DC Motor
19. • 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
Issues that needed to be overcome What needed to be achevied to accomplish this How we addressed these issues: Modularity provides incremental scalability Multiple controller provides scalability
Emphasize the specificity of the framework, a drill down appraoch as the segue from the high level
Emphasize the specificity of the framework, a drill down appraoch as the segue from the high level