SlideShare una empresa de Scribd logo
1 de 14
Alden Hart & Rob Giesburt
Co-founders
Synthetos
Tales of Evolution
Hardware Innovation Workshop - 5/15/13
Alden Hart - alden.hart@synthetos.com
Rob Giseburt - rob.giseburt@synthetos.com
Make the motors move (yay!)
Features:
- Pulse integrity
- Motion profiles
- Inverse kinematics
- Sensor integration
- Limits and exclusion domains
- Gcode library support
- Speed, speed, speed, speed
Single Motion Domain
START HERE
System Integration Level Features:
- Optimal job planning
- Collision avoidance (or not)
Acceleration management Const Jerk
Coordinated movement XYZ
Path planning Optimal path planning
Hardware device integration
Multiple motion domains
Cross-domain coordination
Exception handling and reaction
ABC UVW
Accessibility
•Arduino-level users
•Web programmers (e.g. JavaScript, node.JS, Python)
•Domain experts with little or no programming experience (or desire)
•Professionals: system builders, process engineers, etc.
Components
•Canned motion components and other pre-packaged functions
•Simple way to package arbitrary hardware components
Tools
•Motate hardware abstraction and simplification
•Kinen standards provide a powerful toolbox without soldering
•Hardware mashups / RESTful hardware
How do we get from motion domains to complete systems?
Easy enough for beginners.
Powerful enough for pros.
Making beginners into pros.
For Beginning Programmers:
Motate is an easy to learn embedded “language.”OutputPin<13> ledPin;
ledPin = 1; // set to high
ledPin = 0; // set to low
“Turn pin 13 on and off”
InputPin<12> buttonPin;
if (buttonPin) {
// do something
}
“Read the level of pin 12”
Timer<1> myTimer(kTimerUpToMatch, 50000);
// in a routine:
myTimer.setInterrupts(
kInterruptOnOverflow);
myTimer.start();
// define your interrupt:
namespace Motate {
MOTATE_TIMER_INTERRUPT(1) {
dda_timer.getInterruptCause();
// do something
}
}
“Tell timer 1 to run my special routine at
50kHz”
For Beginning Programmers:
// enable write to registers
REG_TC1_WPMR = 0x54494D00;
TC_Configure(TC1, 0, TC1->CMR0);
// set frequency
REG_TC1_RC0 = (VARIANT_MCK / 50000UL / 2)
// enable interrupts
REG_TC1_IER0 = TC_IER_CPCS;
NVIC_EnableIRQ(TC3_IRQn);
pmc_enable_periph_clk(ID_TC3);
TC_Start(TC1, 0);
// define the interupt
void TC3_Handler(void) {// read SR to clear interrupt condition
dummy = REG_SR_DDA; // do something
}
}
}
Native
(Atmel SAM3X8E ARM on the Arduino Due)
<< Code for Atmel ATMega line >><< Code for Atmel ATTiny line >><<
Code for Atmel ATXMega line >><< Code for Atmel ARM line >><<
Code TI MSP430 line >><< Code TI ARM line >><< Code for LPC
ARM line >><< Code for ST ARM line >>
Native
timer_number myTimerNum = 3;
Timer<myTimerNum> myTimer(kTimerUpToMatch, 50000);
// in a routine:
myTimer.setInterrupts(kInterruptOnOverflow);
myTimer.start();
// define your interrupt:
namespace Motate {
MOTATE_TIMER_INTERRUPT(myTimerNum) {
dda_timer.getInterruptCause();
// do something
}
}
Motate
“Tell timer 3 to run my special routine at 50kHz”
For Professional Programmers:
Motate is hardware abstraction layer, written in optimized C++.
All the good parts of C/C++, none of the bad ones:
Bad:
•RTTI, virtual functions, malloc, exceptions
•C++ Standard IO, C++ STL
Good:
•Good UI design techniques for designing APIs.
•An API is a UI.
•Don’t compromise performance for usability.
•Play with the compiler, not against it.
•“If it’s hardware, it’s compile time.”
•Use mirage interfaces, opaque interfaces that, upon
compiling, boil down to nothing.
•Judicious use of metaprogramming.
For Professional Programmers:
How fast is Motate?
With mirage interfaces, the HAL can boil away.
With this definition:
OutputPin<13> ledPin;
This code:
ledPin = 1; // set to high
Compiles down to one instruction on the AVR, and
executes in two cycles!
On the SAM3X8E ARM Cortex-M3, it compiles to two or
three instructions, which executes in two to five
cycles.
Hardware Mashups
•System with multiple coordinated domains and/or devices
•Controlled as single unit
•REST basics: resources, representation, state transfer
•Complex systems are composite resources
Why JSON?
•Flexible
•Relatively concise
•Already in most modern languages
On the device itself
•Running on ARM, ATXmega and ATMega328p
•Kinen project to define protocol and hardware compatibility
things line of JSON get it, set it
many different things
RESTful hardware
•REST does not require HTTP. We run over USB, SPI, RS-485
What you can do with JSON
What we’ve learned about JSON
•Subset of the JSON spec
• 7 bit ASCII only
• Single line, limited length (e.g. 128 to 256 chars)
• Limited number of name:value pairs (e.g. 24 per line)
• Decimal only, no hexadecimal
•Dispatch tables, tokens and indexes
•No mallocs
Commands: {"gc":"n20g0x20"}
Configuration: {"2":{"ma":1,"sa":1.800,"tr":36.540,"mi":8,"po":1,"pm":1}}
Status reports: {"sr":{"posx":1.230,"posy":4.375,"posz":-2.500,"posa":0.000,"vel":175.0,"stat":5}}
Filtering: {"sr":{"posx":2.670}}
Addressing & Routing: {"a_master":{"2":{"ma":1,"sa":1.800,"tr":36.540,"mi":8,"po":1,"pm":0}}}
{"a_slave":{"2":{"ma":1,"sa":1.800,"tr":360.0,"mi":4,"po":0,"pm":1}}}
What about efficiency?
•It’s not as bad as you think
•Timings for set-X-axis-max-velocity to 16000 mm/min {"xvm":16000}
•NoJSON command is $1=16000
SAM3X8E Xmega192A3 atmega328P No JSON
Commands / sec ~1000 cps ~1000 cps ~1000 cps ~1600 cps
FP marshaling (strtof()) <7.5 uSec <25 uSec <70 uSec <70 uSec
FLASH footprint ~8 Kbytes ~8 Kbytes ~4-6 Kbytes
RAM footprint ~2 Kbytes ~2 Kbytes ~500 - 800 bytes
malloc() no no no no
Assumptions
•USB running at 115,200 baud
•FLASH / RAM footprints include JSON parser/serializer, dispatcher, floating point libs
For More Information: Synthetos.com
Alden Hart - alden.hart@synthetos.com
Rob Giseburt - rob.giseburt@synthetos.com

Más contenido relacionado

La actualidad más candente

Security issues in FPGA based systems.
Security issues in FPGA based systems.Security issues in FPGA based systems.
Security issues in FPGA based systems.Rajeev Verma
 
FPGA_Overview_Ibr_2014
FPGA_Overview_Ibr_2014FPGA_Overview_Ibr_2014
FPGA_Overview_Ibr_2014Ibrahim Hejab
 
BUD17-300: Journey of a packet
BUD17-300: Journey of a packetBUD17-300: Journey of a packet
BUD17-300: Journey of a packetLinaro
 
BUD17-309: IRQ prediction
BUD17-309: IRQ prediction BUD17-309: IRQ prediction
BUD17-309: IRQ prediction Linaro
 
Compare between FPGA , ARDUINO , ASIC ..
Compare between FPGA , ARDUINO , ASIC ..Compare between FPGA , ARDUINO , ASIC ..
Compare between FPGA , ARDUINO , ASIC ..Mohamed Youssery
 
Fpga(field programmable gate array)
Fpga(field programmable gate array) Fpga(field programmable gate array)
Fpga(field programmable gate array) Iffat Anjum
 
The comparison between FPGA , ARDUINO , ASIC
The comparison between FPGA , ARDUINO , ASIC The comparison between FPGA , ARDUINO , ASIC
The comparison between FPGA , ARDUINO , ASIC Mohamed Youssery
 
Field programable gate array
Field programable gate arrayField programable gate array
Field programable gate arrayNeha Agarwal
 
LAS16-501: Introduction to LLVM - Projects, Components, Integration, Internals
LAS16-501: Introduction to LLVM - Projects, Components, Integration, InternalsLAS16-501: Introduction to LLVM - Projects, Components, Integration, Internals
LAS16-501: Introduction to LLVM - Projects, Components, Integration, InternalsLinaro
 
Field Programmable Gate Array: Building Blocks and Interconnections
Field Programmable Gate Array: Building Blocks and InterconnectionsField Programmable Gate Array: Building Blocks and Interconnections
Field Programmable Gate Array: Building Blocks and InterconnectionsDr. Saravanakumar Umathurai
 

La actualidad más candente (20)

SoC FPGA Technology
SoC FPGA TechnologySoC FPGA Technology
SoC FPGA Technology
 
FPGA Introduction
FPGA IntroductionFPGA Introduction
FPGA Introduction
 
Security issues in FPGA based systems.
Security issues in FPGA based systems.Security issues in FPGA based systems.
Security issues in FPGA based systems.
 
Fpga
FpgaFpga
Fpga
 
FPGA_Overview_Ibr_2014
FPGA_Overview_Ibr_2014FPGA_Overview_Ibr_2014
FPGA_Overview_Ibr_2014
 
BUD17-300: Journey of a packet
BUD17-300: Journey of a packetBUD17-300: Journey of a packet
BUD17-300: Journey of a packet
 
BUD17-309: IRQ prediction
BUD17-309: IRQ prediction BUD17-309: IRQ prediction
BUD17-309: IRQ prediction
 
Fpga intro1
Fpga intro1Fpga intro1
Fpga intro1
 
Session 2,3 FPGAs
Session 2,3 FPGAsSession 2,3 FPGAs
Session 2,3 FPGAs
 
FPGA
FPGAFPGA
FPGA
 
Cpld fpga
Cpld fpgaCpld fpga
Cpld fpga
 
Compare between FPGA , ARDUINO , ASIC ..
Compare between FPGA , ARDUINO , ASIC ..Compare between FPGA , ARDUINO , ASIC ..
Compare between FPGA , ARDUINO , ASIC ..
 
CPLDs
CPLDsCPLDs
CPLDs
 
FPGA
FPGAFPGA
FPGA
 
Fpga(field programmable gate array)
Fpga(field programmable gate array) Fpga(field programmable gate array)
Fpga(field programmable gate array)
 
The comparison between FPGA , ARDUINO , ASIC
The comparison between FPGA , ARDUINO , ASIC The comparison between FPGA , ARDUINO , ASIC
The comparison between FPGA , ARDUINO , ASIC
 
Field programable gate array
Field programable gate arrayField programable gate array
Field programable gate array
 
LAS16-501: Introduction to LLVM - Projects, Components, Integration, Internals
LAS16-501: Introduction to LLVM - Projects, Components, Integration, InternalsLAS16-501: Introduction to LLVM - Projects, Components, Integration, Internals
LAS16-501: Introduction to LLVM - Projects, Components, Integration, Internals
 
Fpga project
Fpga projectFpga project
Fpga project
 
Field Programmable Gate Array: Building Blocks and Interconnections
Field Programmable Gate Array: Building Blocks and InterconnectionsField Programmable Gate Array: Building Blocks and Interconnections
Field Programmable Gate Array: Building Blocks and Interconnections
 

Similar a Alden Hart and Rob Giesburt at Hardware Innovation Summit 2013

Porting a Streaming Pipeline from Scala to Rust
Porting a Streaming Pipeline from Scala to RustPorting a Streaming Pipeline from Scala to Rust
Porting a Streaming Pipeline from Scala to RustEvan Chan
 
Introduction to embedded System.pptx
Introduction to embedded System.pptxIntroduction to embedded System.pptx
Introduction to embedded System.pptxPratik Gohel
 
Summer training embedded system and its scope
Summer training  embedded system and its scopeSummer training  embedded system and its scope
Summer training embedded system and its scopeArshit Rai
 
Summer training embedded system and its scope
Summer training  embedded system and its scopeSummer training  embedded system and its scope
Summer training embedded system and its scopeArshit Rai
 
Practical reverse engineering and exploit development for AVR-based Embedded ...
Practical reverse engineering and exploit development for AVR-based Embedded ...Practical reverse engineering and exploit development for AVR-based Embedded ...
Practical reverse engineering and exploit development for AVR-based Embedded ...Alexander Bolshev
 
Week1 Electronic System-level ESL Design and SystemC Begin
Week1 Electronic System-level ESL Design and SystemC BeginWeek1 Electronic System-level ESL Design and SystemC Begin
Week1 Electronic System-level ESL Design and SystemC Begin敬倫 林
 
ASIC Design Flow | Physical Design | VLSI
ASIC Design Flow | Physical Design | VLSI ASIC Design Flow | Physical Design | VLSI
ASIC Design Flow | Physical Design | VLSI Jayant Suthar
 
AdaCore Paris Tech Day 2016: Fabien Chouteau - Making the Ada Drivers Library
AdaCore Paris Tech Day 2016: Fabien Chouteau - Making the Ada Drivers LibraryAdaCore Paris Tech Day 2016: Fabien Chouteau - Making the Ada Drivers Library
AdaCore Paris Tech Day 2016: Fabien Chouteau - Making the Ada Drivers Libraryjamieayre
 
04 Mcu Day Stellaris 8 12b Editado
04   Mcu Day   Stellaris 8 12b   Editado04   Mcu Day   Stellaris 8 12b   Editado
04 Mcu Day Stellaris 8 12b EditadoTexas Instruments
 
Intel® QuickAssist Technology Introduction, Applications, and Lab, Including ...
Intel® QuickAssist Technology Introduction, Applications, and Lab, Including ...Intel® QuickAssist Technology Introduction, Applications, and Lab, Including ...
Intel® QuickAssist Technology Introduction, Applications, and Lab, Including ...Michelle Holley
 
Tech Days 2015: Embedded Product Update
Tech Days 2015: Embedded Product UpdateTech Days 2015: Embedded Product Update
Tech Days 2015: Embedded Product UpdateAdaCore
 
NIOS II Processor.ppt
NIOS II Processor.pptNIOS II Processor.ppt
NIOS II Processor.pptAtef46
 
Intel x86 Architecture
Intel x86 ArchitectureIntel x86 Architecture
Intel x86 ArchitectureChangWoo Min
 
Mces MOD 1.pptx
Mces MOD 1.pptxMces MOD 1.pptx
Mces MOD 1.pptxRadhaC10
 
ARM® Cortex™ M Bootup_CMSIS_Part_2_3
ARM® Cortex™ M Bootup_CMSIS_Part_2_3ARM® Cortex™ M Bootup_CMSIS_Part_2_3
ARM® Cortex™ M Bootup_CMSIS_Part_2_3Raahul Raghavan
 

Similar a Alden Hart and Rob Giesburt at Hardware Innovation Summit 2013 (20)

Porting a Streaming Pipeline from Scala to Rust
Porting a Streaming Pipeline from Scala to RustPorting a Streaming Pipeline from Scala to Rust
Porting a Streaming Pipeline from Scala to Rust
 
Introduction to embedded System.pptx
Introduction to embedded System.pptxIntroduction to embedded System.pptx
Introduction to embedded System.pptx
 
Summer training embedded system and its scope
Summer training  embedded system and its scopeSummer training  embedded system and its scope
Summer training embedded system and its scope
 
Summer training embedded system and its scope
Summer training  embedded system and its scopeSummer training  embedded system and its scope
Summer training embedded system and its scope
 
Practical reverse engineering and exploit development for AVR-based Embedded ...
Practical reverse engineering and exploit development for AVR-based Embedded ...Practical reverse engineering and exploit development for AVR-based Embedded ...
Practical reverse engineering and exploit development for AVR-based Embedded ...
 
Processors selection
Processors selectionProcessors selection
Processors selection
 
Week1 Electronic System-level ESL Design and SystemC Begin
Week1 Electronic System-level ESL Design and SystemC BeginWeek1 Electronic System-level ESL Design and SystemC Begin
Week1 Electronic System-level ESL Design and SystemC Begin
 
ASIC Design Flow | Physical Design | VLSI
ASIC Design Flow | Physical Design | VLSI ASIC Design Flow | Physical Design | VLSI
ASIC Design Flow | Physical Design | VLSI
 
AdaCore Paris Tech Day 2016: Fabien Chouteau - Making the Ada Drivers Library
AdaCore Paris Tech Day 2016: Fabien Chouteau - Making the Ada Drivers LibraryAdaCore Paris Tech Day 2016: Fabien Chouteau - Making the Ada Drivers Library
AdaCore Paris Tech Day 2016: Fabien Chouteau - Making the Ada Drivers Library
 
04 Mcu Day Stellaris 8 12b Editado
04   Mcu Day   Stellaris 8 12b   Editado04   Mcu Day   Stellaris 8 12b   Editado
04 Mcu Day Stellaris 8 12b Editado
 
x86_1.ppt
x86_1.pptx86_1.ppt
x86_1.ppt
 
Intel® QuickAssist Technology Introduction, Applications, and Lab, Including ...
Intel® QuickAssist Technology Introduction, Applications, and Lab, Including ...Intel® QuickAssist Technology Introduction, Applications, and Lab, Including ...
Intel® QuickAssist Technology Introduction, Applications, and Lab, Including ...
 
Tech Days 2015: Embedded Product Update
Tech Days 2015: Embedded Product UpdateTech Days 2015: Embedded Product Update
Tech Days 2015: Embedded Product Update
 
NIOS II Processor.ppt
NIOS II Processor.pptNIOS II Processor.ppt
NIOS II Processor.ppt
 
L05 parallel
L05 parallelL05 parallel
L05 parallel
 
nios.ppt
nios.pptnios.ppt
nios.ppt
 
Intel x86 Architecture
Intel x86 ArchitectureIntel x86 Architecture
Intel x86 Architecture
 
Mces MOD 1.pptx
Mces MOD 1.pptxMces MOD 1.pptx
Mces MOD 1.pptx
 
Atmega 128 datasheet
Atmega 128   datasheetAtmega 128   datasheet
Atmega 128 datasheet
 
ARM® Cortex™ M Bootup_CMSIS_Part_2_3
ARM® Cortex™ M Bootup_CMSIS_Part_2_3ARM® Cortex™ M Bootup_CMSIS_Part_2_3
ARM® Cortex™ M Bootup_CMSIS_Part_2_3
 

Más de makezine

Ben Kaufman, founder and CEO, Quirky
Ben Kaufman, founder and CEO, QuirkyBen Kaufman, founder and CEO, Quirky
Ben Kaufman, founder and CEO, Quirkymakezine
 
Robert Faludi, collaborative strategy leader, Digi International
Robert Faludi, collaborative strategy leader, Digi InternationalRobert Faludi, collaborative strategy leader, Digi International
Robert Faludi, collaborative strategy leader, Digi Internationalmakezine
 
Dave Merrill, co-founder and president, Sifteo
Dave Merrill, co-founder and president, SifteoDave Merrill, co-founder and president, Sifteo
Dave Merrill, co-founder and president, Sifteomakezine
 
Zak homuth at Hardware Innovation Summit 2013
Zak homuth at Hardware Innovation Summit 2013Zak homuth at Hardware Innovation Summit 2013
Zak homuth at Hardware Innovation Summit 2013makezine
 
Zach hoeken smith at Hardware Innovation Summit 2013
Zach hoeken smith at Hardware Innovation Summit 2013Zach hoeken smith at Hardware Innovation Summit 2013
Zach hoeken smith at Hardware Innovation Summit 2013makezine
 
Wayne losey at Hardware Innovation Summit 2013
Wayne losey at Hardware Innovation Summit 2013Wayne losey at Hardware Innovation Summit 2013
Wayne losey at Hardware Innovation Summit 2013makezine
 
Ted hall at Hardware Innovation Summit 2013
Ted hall at Hardware Innovation Summit 2013Ted hall at Hardware Innovation Summit 2013
Ted hall at Hardware Innovation Summit 2013makezine
 
Scott N. Miller at Hardware Innovation Summit 2013
Scott N. Miller at Hardware Innovation Summit 2013Scott N. Miller at Hardware Innovation Summit 2013
Scott N. Miller at Hardware Innovation Summit 2013makezine
 
Robert Stephens at Hardware Innovation Summit 2013
Robert Stephens at Hardware Innovation Summit 2013Robert Stephens at Hardware Innovation Summit 2013
Robert Stephens at Hardware Innovation Summit 2013makezine
 
Rachel Kalmar at Hardware Innovation Summit 2013
Rachel Kalmar at Hardware Innovation Summit 2013Rachel Kalmar at Hardware Innovation Summit 2013
Rachel Kalmar at Hardware Innovation Summit 2013makezine
 
Peter Platzer at Hardware Innovation Summit 2013
Peter Platzer at Hardware Innovation Summit 2013Peter Platzer at Hardware Innovation Summit 2013
Peter Platzer at Hardware Innovation Summit 2013makezine
 
Lisa Qiu Fetterman at Hardware Innovation Summit 2013
Lisa Qiu Fetterman at Hardware Innovation Summit 2013Lisa Qiu Fetterman at Hardware Innovation Summit 2013
Lisa Qiu Fetterman at Hardware Innovation Summit 2013makezine
 
Kate Drane at Hardware Innovation Summit 2013
Kate Drane at Hardware Innovation Summit 2013Kate Drane at Hardware Innovation Summit 2013
Kate Drane at Hardware Innovation Summit 2013makezine
 
John Park at Hardware Innovation Summit 2013
John Park at Hardware Innovation Summit 2013John Park at Hardware Innovation Summit 2013
John Park at Hardware Innovation Summit 2013makezine
 
Jeremy Conrad at Hardware Innovation Summit 2013
Jeremy Conrad at Hardware Innovation Summit 2013Jeremy Conrad at Hardware Innovation Summit 2013
Jeremy Conrad at Hardware Innovation Summit 2013makezine
 
Eric Weddington at Hardware Innovation Summit 2013
Eric Weddington at Hardware Innovation Summit 2013Eric Weddington at Hardware Innovation Summit 2013
Eric Weddington at Hardware Innovation Summit 2013makezine
 
Eric Jennings & Sally Carson at Hardware Innovation Summit 2013
Eric Jennings & Sally Carson at Hardware Innovation Summit 2013Eric Jennings & Sally Carson at Hardware Innovation Summit 2013
Eric Jennings & Sally Carson at Hardware Innovation Summit 2013makezine
 
Chris Anderson at Hardware Innovation Summit 2013
Chris Anderson at Hardware Innovation Summit 2013Chris Anderson at Hardware Innovation Summit 2013
Chris Anderson at Hardware Innovation Summit 2013makezine
 
Cheryl Kellond at Hardware Innovation Summit 2013
Cheryl Kellond at Hardware Innovation Summit 2013Cheryl Kellond at Hardware Innovation Summit 2013
Cheryl Kellond at Hardware Innovation Summit 2013makezine
 
Bunnie Huang at Hardware Innovation Summit 2013
Bunnie Huang at Hardware Innovation Summit 2013Bunnie Huang at Hardware Innovation Summit 2013
Bunnie Huang at Hardware Innovation Summit 2013makezine
 

Más de makezine (20)

Ben Kaufman, founder and CEO, Quirky
Ben Kaufman, founder and CEO, QuirkyBen Kaufman, founder and CEO, Quirky
Ben Kaufman, founder and CEO, Quirky
 
Robert Faludi, collaborative strategy leader, Digi International
Robert Faludi, collaborative strategy leader, Digi InternationalRobert Faludi, collaborative strategy leader, Digi International
Robert Faludi, collaborative strategy leader, Digi International
 
Dave Merrill, co-founder and president, Sifteo
Dave Merrill, co-founder and president, SifteoDave Merrill, co-founder and president, Sifteo
Dave Merrill, co-founder and president, Sifteo
 
Zak homuth at Hardware Innovation Summit 2013
Zak homuth at Hardware Innovation Summit 2013Zak homuth at Hardware Innovation Summit 2013
Zak homuth at Hardware Innovation Summit 2013
 
Zach hoeken smith at Hardware Innovation Summit 2013
Zach hoeken smith at Hardware Innovation Summit 2013Zach hoeken smith at Hardware Innovation Summit 2013
Zach hoeken smith at Hardware Innovation Summit 2013
 
Wayne losey at Hardware Innovation Summit 2013
Wayne losey at Hardware Innovation Summit 2013Wayne losey at Hardware Innovation Summit 2013
Wayne losey at Hardware Innovation Summit 2013
 
Ted hall at Hardware Innovation Summit 2013
Ted hall at Hardware Innovation Summit 2013Ted hall at Hardware Innovation Summit 2013
Ted hall at Hardware Innovation Summit 2013
 
Scott N. Miller at Hardware Innovation Summit 2013
Scott N. Miller at Hardware Innovation Summit 2013Scott N. Miller at Hardware Innovation Summit 2013
Scott N. Miller at Hardware Innovation Summit 2013
 
Robert Stephens at Hardware Innovation Summit 2013
Robert Stephens at Hardware Innovation Summit 2013Robert Stephens at Hardware Innovation Summit 2013
Robert Stephens at Hardware Innovation Summit 2013
 
Rachel Kalmar at Hardware Innovation Summit 2013
Rachel Kalmar at Hardware Innovation Summit 2013Rachel Kalmar at Hardware Innovation Summit 2013
Rachel Kalmar at Hardware Innovation Summit 2013
 
Peter Platzer at Hardware Innovation Summit 2013
Peter Platzer at Hardware Innovation Summit 2013Peter Platzer at Hardware Innovation Summit 2013
Peter Platzer at Hardware Innovation Summit 2013
 
Lisa Qiu Fetterman at Hardware Innovation Summit 2013
Lisa Qiu Fetterman at Hardware Innovation Summit 2013Lisa Qiu Fetterman at Hardware Innovation Summit 2013
Lisa Qiu Fetterman at Hardware Innovation Summit 2013
 
Kate Drane at Hardware Innovation Summit 2013
Kate Drane at Hardware Innovation Summit 2013Kate Drane at Hardware Innovation Summit 2013
Kate Drane at Hardware Innovation Summit 2013
 
John Park at Hardware Innovation Summit 2013
John Park at Hardware Innovation Summit 2013John Park at Hardware Innovation Summit 2013
John Park at Hardware Innovation Summit 2013
 
Jeremy Conrad at Hardware Innovation Summit 2013
Jeremy Conrad at Hardware Innovation Summit 2013Jeremy Conrad at Hardware Innovation Summit 2013
Jeremy Conrad at Hardware Innovation Summit 2013
 
Eric Weddington at Hardware Innovation Summit 2013
Eric Weddington at Hardware Innovation Summit 2013Eric Weddington at Hardware Innovation Summit 2013
Eric Weddington at Hardware Innovation Summit 2013
 
Eric Jennings & Sally Carson at Hardware Innovation Summit 2013
Eric Jennings & Sally Carson at Hardware Innovation Summit 2013Eric Jennings & Sally Carson at Hardware Innovation Summit 2013
Eric Jennings & Sally Carson at Hardware Innovation Summit 2013
 
Chris Anderson at Hardware Innovation Summit 2013
Chris Anderson at Hardware Innovation Summit 2013Chris Anderson at Hardware Innovation Summit 2013
Chris Anderson at Hardware Innovation Summit 2013
 
Cheryl Kellond at Hardware Innovation Summit 2013
Cheryl Kellond at Hardware Innovation Summit 2013Cheryl Kellond at Hardware Innovation Summit 2013
Cheryl Kellond at Hardware Innovation Summit 2013
 
Bunnie Huang at Hardware Innovation Summit 2013
Bunnie Huang at Hardware Innovation Summit 2013Bunnie Huang at Hardware Innovation Summit 2013
Bunnie Huang at Hardware Innovation Summit 2013
 

Último

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 

Último (20)

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 

Alden Hart and Rob Giesburt at Hardware Innovation Summit 2013

  • 1. Alden Hart & Rob Giesburt Co-founders Synthetos Tales of Evolution
  • 2. Hardware Innovation Workshop - 5/15/13 Alden Hart - alden.hart@synthetos.com Rob Giseburt - rob.giseburt@synthetos.com
  • 3.
  • 4. Make the motors move (yay!) Features: - Pulse integrity - Motion profiles - Inverse kinematics - Sensor integration - Limits and exclusion domains - Gcode library support - Speed, speed, speed, speed Single Motion Domain START HERE System Integration Level Features: - Optimal job planning - Collision avoidance (or not) Acceleration management Const Jerk Coordinated movement XYZ Path planning Optimal path planning Hardware device integration Multiple motion domains Cross-domain coordination Exception handling and reaction ABC UVW
  • 5. Accessibility •Arduino-level users •Web programmers (e.g. JavaScript, node.JS, Python) •Domain experts with little or no programming experience (or desire) •Professionals: system builders, process engineers, etc. Components •Canned motion components and other pre-packaged functions •Simple way to package arbitrary hardware components Tools •Motate hardware abstraction and simplification •Kinen standards provide a powerful toolbox without soldering •Hardware mashups / RESTful hardware How do we get from motion domains to complete systems?
  • 6. Easy enough for beginners. Powerful enough for pros. Making beginners into pros.
  • 7. For Beginning Programmers: Motate is an easy to learn embedded “language.”OutputPin<13> ledPin; ledPin = 1; // set to high ledPin = 0; // set to low “Turn pin 13 on and off” InputPin<12> buttonPin; if (buttonPin) { // do something } “Read the level of pin 12” Timer<1> myTimer(kTimerUpToMatch, 50000); // in a routine: myTimer.setInterrupts( kInterruptOnOverflow); myTimer.start(); // define your interrupt: namespace Motate { MOTATE_TIMER_INTERRUPT(1) { dda_timer.getInterruptCause(); // do something } } “Tell timer 1 to run my special routine at 50kHz”
  • 8. For Beginning Programmers: // enable write to registers REG_TC1_WPMR = 0x54494D00; TC_Configure(TC1, 0, TC1->CMR0); // set frequency REG_TC1_RC0 = (VARIANT_MCK / 50000UL / 2) // enable interrupts REG_TC1_IER0 = TC_IER_CPCS; NVIC_EnableIRQ(TC3_IRQn); pmc_enable_periph_clk(ID_TC3); TC_Start(TC1, 0); // define the interupt void TC3_Handler(void) {// read SR to clear interrupt condition dummy = REG_SR_DDA; // do something } } } Native (Atmel SAM3X8E ARM on the Arduino Due) << Code for Atmel ATMega line >><< Code for Atmel ATTiny line >><< Code for Atmel ATXMega line >><< Code for Atmel ARM line >><< Code TI MSP430 line >><< Code TI ARM line >><< Code for LPC ARM line >><< Code for ST ARM line >> Native timer_number myTimerNum = 3; Timer<myTimerNum> myTimer(kTimerUpToMatch, 50000); // in a routine: myTimer.setInterrupts(kInterruptOnOverflow); myTimer.start(); // define your interrupt: namespace Motate { MOTATE_TIMER_INTERRUPT(myTimerNum) { dda_timer.getInterruptCause(); // do something } } Motate “Tell timer 3 to run my special routine at 50kHz”
  • 9. For Professional Programmers: Motate is hardware abstraction layer, written in optimized C++. All the good parts of C/C++, none of the bad ones: Bad: •RTTI, virtual functions, malloc, exceptions •C++ Standard IO, C++ STL Good: •Good UI design techniques for designing APIs. •An API is a UI. •Don’t compromise performance for usability. •Play with the compiler, not against it. •“If it’s hardware, it’s compile time.” •Use mirage interfaces, opaque interfaces that, upon compiling, boil down to nothing. •Judicious use of metaprogramming.
  • 10. For Professional Programmers: How fast is Motate? With mirage interfaces, the HAL can boil away. With this definition: OutputPin<13> ledPin; This code: ledPin = 1; // set to high Compiles down to one instruction on the AVR, and executes in two cycles! On the SAM3X8E ARM Cortex-M3, it compiles to two or three instructions, which executes in two to five cycles.
  • 11. Hardware Mashups •System with multiple coordinated domains and/or devices •Controlled as single unit •REST basics: resources, representation, state transfer •Complex systems are composite resources Why JSON? •Flexible •Relatively concise •Already in most modern languages On the device itself •Running on ARM, ATXmega and ATMega328p •Kinen project to define protocol and hardware compatibility things line of JSON get it, set it many different things RESTful hardware •REST does not require HTTP. We run over USB, SPI, RS-485
  • 12. What you can do with JSON What we’ve learned about JSON •Subset of the JSON spec • 7 bit ASCII only • Single line, limited length (e.g. 128 to 256 chars) • Limited number of name:value pairs (e.g. 24 per line) • Decimal only, no hexadecimal •Dispatch tables, tokens and indexes •No mallocs Commands: {"gc":"n20g0x20"} Configuration: {"2":{"ma":1,"sa":1.800,"tr":36.540,"mi":8,"po":1,"pm":1}} Status reports: {"sr":{"posx":1.230,"posy":4.375,"posz":-2.500,"posa":0.000,"vel":175.0,"stat":5}} Filtering: {"sr":{"posx":2.670}} Addressing & Routing: {"a_master":{"2":{"ma":1,"sa":1.800,"tr":36.540,"mi":8,"po":1,"pm":0}}} {"a_slave":{"2":{"ma":1,"sa":1.800,"tr":360.0,"mi":4,"po":0,"pm":1}}}
  • 13. What about efficiency? •It’s not as bad as you think •Timings for set-X-axis-max-velocity to 16000 mm/min {"xvm":16000} •NoJSON command is $1=16000 SAM3X8E Xmega192A3 atmega328P No JSON Commands / sec ~1000 cps ~1000 cps ~1000 cps ~1600 cps FP marshaling (strtof()) <7.5 uSec <25 uSec <70 uSec <70 uSec FLASH footprint ~8 Kbytes ~8 Kbytes ~4-6 Kbytes RAM footprint ~2 Kbytes ~2 Kbytes ~500 - 800 bytes malloc() no no no no Assumptions •USB running at 115,200 baud •FLASH / RAM footprints include JSON parser/serializer, dispatcher, floating point libs
  • 14. For More Information: Synthetos.com Alden Hart - alden.hart@synthetos.com Rob Giseburt - rob.giseburt@synthetos.com