SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

SoC FPGA Technology
SoC FPGA TechnologySoC FPGA Technology
SoC FPGA TechnologySiraj Muhammad
 
FPGA Introduction
FPGA IntroductionFPGA Introduction
FPGA IntroductionKamlesh Kumar
 
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
 
Session 2,3 FPGAs
Session 2,3 FPGAsSession 2,3 FPGAs
Session 2,3 FPGAsSubhash Iyer
 
Cpld fpga
Cpld fpgaCpld fpga
Cpld fpgaanishgoel
 
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
 
Fpga project
Fpga projectFpga project
Fpga projectaroosa khan
 
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
 

Was ist angesagt? (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Mehr von 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
 

KĂźrzlich hochgeladen

DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
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
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 

KĂźrzlich hochgeladen (20)

DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 
+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...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 

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