intravehicular communication - uavcan · 2019. 6. 25. · iot, general robotics, industrial...
TRANSCRIPT
![Page 1: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/1.jpg)
Intravehicular communication
![Page 2: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/2.jpg)
IoT,general robotics, industrial automation
Constrained, cheap toverify & validate
Flexible, hard toverify & validate
High-level,abstract
Low-level,high coupling
Legacy Non-viable options
Modernsoftware-defined
vehicles
![Page 3: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/3.jpg)
IoT,general robotics, industrial automation
Constrained, cheap toverify & validate
Flexible, hard toverify & validate
High-level,abstract
Low-level,high couplingRC PWM...
DDS
Legacy Non-viable options
Modernsoftware-defined
vehicles
![Page 4: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/4.jpg)
IoT,general robotics, industrial automation
Constrained, cheap toverify & validate
Flexible, hard toverify & validate
High-level,abstract
Low-level,high couplingRC PWM...
CANopen,CANaerospace
MQTT
Legacy
ARINC 429
Non-viable options
Modernsoftware-defined
vehicles
DDS
![Page 5: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/5.jpg)
Modernsoftware-defined
vehicles
IoT,general robotics, industrial automation
Constrained, cheap toverify & validate
Flexible, hard toverify & validate
High-level,abstract
Low-level,high couplingRC PWM...
CANopen,CANaerospace
MQTT
Legacy
ARINC 429
Non-viable options
AFDX
DDS
![Page 6: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/6.jpg)
Modernsoftware-defined
vehicles
IoT,general robotics, industrial automation
Constrained, cheap toverify & validate
Flexible, hard toverify & validate
High-level,abstract
Low-level,high couplingRC PWM...
CANopen,CANaerospace
MQTT
Legacy
ARINC 429
TCPI2C
Non-viable options
AFDX
DDS
![Page 7: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/7.jpg)
IoT,general robotics, industrial automation
Modernsoftware-defined
vehiclesConstrained, cheap toverify & validate
Flexible, hard toverify & validate
High-level,abstract
Low-level,high couplingRC PWM...
AFDX
CANopen,CANaerospace
UAVCAN MQTT
Legacy
ARINC 429
TCPI2C
Non-viable options
DDS
![Page 8: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/8.jpg)
Core design goals● Real-time● Viable for safety-critical systems● Low memory footprint● Low overhead● Simple
![Page 9: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/9.jpg)
Real-time● Deterministic transport● Constant-complexity algorithms● Bounded data structures
![Page 10: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/10.jpg)
High latency, worseLow latency, better
UAVCAN over C
AN FD
DShot15
0
UAVCAN over C
AN 2.0
Onesh
ot125
Multish
ot, O
nesh
ot42,
DShot60
0, etc
.
RC PW
M
(terrib
le)
ca. 150 𝜇sca. 100 𝜇s ca. 1500 𝜇s
Real-time
![Page 11: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/11.jpg)
Safety-critical● Fully decentralized, democratic● No shared state● Power-up-and-go● Redundant transports● About 1000 SLoC (libcanard)
![Page 12: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/12.jpg)
Safety-criticalDesign trade-offs:
● Robust transport assumed● Static architecture● No arbitrary-size data objects: uint8[<=256] data
![Page 13: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/13.jpg)
NXP LPC11C24ARM Cortex M050 MHz8K RAM32K ROMno RTOS
Low memory footprint
![Page 14: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/14.jpg)
STM32F302ARM Cortex M4F72 MHz16K RAM64K ROMno RTOS
Low memory footprint
![Page 15: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/15.jpg)
Protocol RAM ROMUAVCAN 8 K 32 KCANaerospace 4 K 8 K
DDS/XRCE 32 K 250 K
DDS/RTPS 100 K ≫250 K
Low memory footprint
![Page 16: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/16.jpg)
![Page 17: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/17.jpg)
Simple● Complexity comparable to CANaerospace● Detailed specification under 80 pages + standard data types● About 1 man/month to implement from scratch (excl. DSDL)● Robust reference implementations in C, C++, Python, Rust (WIP)
![Page 18: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/18.jpg)
Simple
![Page 19: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/19.jpg)
SimpleFamiliar communication abstractions:
● Stateless publish-subscribe● Simple request-response (RPC)● Very low semantic overhead
![Page 20: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/20.jpg)
![Page 21: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/21.jpg)
![Page 22: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/22.jpg)
Brief history of UAVCAN
![Page 23: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/23.jpg)
Micro-satellitesUAV Manned
aircraftRobotic systems Light EV
Common high-level communication requirements
CAN 2.0 CAN FD Ethernet IEEE 802.15.4
Other transports
Scope ofUAVCAN v0
![Page 24: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/24.jpg)
![Page 25: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/25.jpg)
Micro-satellitesUAV Manned
aircraftRobotic systems Light EV
Common high-level communication requirements
CAN 2.0 CAN FD Ethernet IEEE 802.15.4
Other transports
Scope of UAVCAN v1
![Page 26: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/26.jpg)
MY STANDARD DATA TYPES
![Page 27: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/27.jpg)
Micro-satellitesUAV Manned
aircraftRobotic systems Light EV
Common high-level communication requirements
CAN 2.0 CAN FD Ethernet IEEE 802.15.4
Other transports
Scope of UAVCAN v1
Dronecodeprofile
![Page 28: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/28.jpg)
![Page 29: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/29.jpg)
![Page 30: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/30.jpg)
Integrating UAVCAN
![Page 31: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/31.jpg)
Open● MIT licensed● Github hosted reference implementations● Open specification (no membership required)
![Page 32: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/32.jpg)
Useful● Tools● Documentation● Reference Implementations● Communication● Validation Suites
![Page 33: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/33.jpg)
Forward Looking● Not encumbered with legacy and bloat● Designed with new technology in mind● Lowers the chance of getting locked-in to a bus technology
![Page 34: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/34.jpg)
DSDL in Practice● Enables good system design by defining interfaces between sub-systems● Similar to ROS, sub-systems are decoupled and can be developed in parallel● Versioning allows a vehicle system to evolve over time● As an IDL it avoids technology lock-in● Certifiable generators could be produced
![Page 35: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/35.jpg)
Core Application Functions● Heartbeat/status● GetInfo● Diagnostics, data flow, registers● Plug-and-play● Node software update and ExecuteCommand
![Page 36: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/36.jpg)
What changed?
![Page 37: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/37.jpg)
v0
![Page 38: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/38.jpg)
v1
![Page 39: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/39.jpg)
WHAT DID I DO?!?
(When you realize you need to change the dsdl type you just manufactured into to 3 million devices)
WHAT DID I DO?!?
![Page 40: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/40.jpg)
https://forum.uavcan.org/t/simpler-and-better-dsdl-versioning/280
Kjetil Kjeka
![Page 41: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/41.jpg)
Migration to UAVCAN v1
![Page 42: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/42.jpg)
UAVCAN v1 reference implementations
Implementation Language Transports Status
Libcanard C99 CAN (FD) Usable
PyUAVCAN Python CAN (FD), UDP/IP, serial, … Usable
Libuavcan C++11 CAN (FD) ETA Aug 2019
uavcan.rs Rust CAN (FD) TBA
![Page 43: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/43.jpg)
v1v0 discussion & feedback transition
Migration proposal
Vendo
rs no
tified
of
impe
nding
brea
kage
The P
X4 midd
leware
migrate
d to v
1 (bre
aking
)
Now PX4 v1.11March 2020
EOL ofPX4 v1.10
EOL of th
e las
t PX4
supp
orting
v0
![Page 44: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/44.jpg)
Migration proposalHR resources secured
![Page 45: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/45.jpg)
How do I build stuff with UAVCAN v1?
https://new.uavcan.org
![Page 46: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/46.jpg)
Future of UAVCAN
![Page 47: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/47.jpg)
Remaining Work● Finish the reference implementations● Finish the new tools (Yukon)● Define and deploy a type management process● Lowering the entry barrier
![Page 48: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/48.jpg)
![Page 49: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/49.jpg)
Broad strokes● New transports: UDP/IP, serial, wireless● Lowering the entry barrier● Maintaining the high software quality standards● Deploy in two vehicle systems● Formal standardization
![Page 50: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/50.jpg)
Project Health● Higher (lower?) bus factor is needed● More representation is needed by vendors and manufacturers● A PX4 integration expert/maintainer is needed
![Page 51: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/51.jpg)
Conclusion● UAVCAN v1 is the recommended choice for new projects● Legacy systems based on UAVCAN v0 will be supported until 2021 at least● Ongoing research on heterogeneous UDP, serial, and wireless transports
![Page 52: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/52.jpg)
Resources● Dev call every Wednesday 18:00 UTC; see bit.ly/2MVdPBx● Forum: https://forum.uavcan.org● Specification: https://new.uavcan.org (soon to be https://uavcan.org)● Github: https://github.com/UAVCAN
○ Python: https://github.com/UAVCAN/pyuavcan/tree/uavcan-v1.0 ○ C: https://github.com/UAVCAN/libcanard/tree/uavcan-v1.0 ○ C++: https://github.com/UAVCAN/libuavcan/tree/uavcan-v1.0○ Stand-alone DSDL to code generator: https://github.com/UAVCAN/nunavut
![Page 53: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/53.jpg)
UncomplicatedApplication-levelVehicularCommunicationAndNetworking
![Page 54: Intravehicular communication - UAVCAN · 2019. 6. 25. · IoT, general robotics, industrial automation Constrained, cheap to verify & validate Flexible, hard to verify & validate](https://reader033.vdocument.in/reader033/viewer/2022051919/600c40421939a52c585d9abf/html5/thumbnails/54.jpg)
Intravehicular communication