HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

JuliaRobotics: Making robots walk with Julia | Robin Deits

The Julia Programming Language1 HN recommender · recommended in 2 months, 2018-2021
YouTube
9K views · 8 years ago · talk · dated

Robin Deits presents the JuliaRobotics organization and shows how Julia is used to visualize, simulate and control a humanoid robot. The talk touches on real-time performance and composability across packages.

Julia fans point to it as a concrete example of Julia working for soft real-time robotics, especially when avoiding heap allocation.

RoboticsPython, Ruby & scripting languages#julia#robotics#real-time#humanoidrobots#composability

5 comments from Hacker News

@fault12021 · in “Show HN: Prometeo – a Python-to-C transpiler for high-performance computing”

the problem with Julia in the use case of OP is really the fact that it is garbage collected (and perhaps also how its GC is tuned). You can work to eliminate allocations, but the memory determinism problem is more important in real time control and embedded systems. see for example, this video: ▶ this video It's kind of why C is still king in this space.

CriticalView on HN
@eigenspace2021 · in “From Julia to Rust”

Just because a GC exists doesn't mean you have to use it though. It's just another tool on your belt. There's various options depending on your problem. You could just hold firmly onto memory, preallocating all your buffers before the program starts and then don't allow them to be GC'd, you could also use stack allocated arrays like in StrideArrays.jl / StaticArrays.jl, or some combination of the above. You could also just manually use ccall to malloc and free memory as needed I guess. There's a nice talk here [1] about using julia in soft-real-time for robotics. I'd say the biggest impediment to real-time programming in julia currently is not the GC, but instead that the language has lots of optional optimizations that the compiler can choose to not perform if it thinks it'd be beneficial to do so, and those optimizations can change between minor versions. Hence, there's a lot of testing you'd need to do to make sure your code really is doing exactly what you want and you won't hit the GC or dynamic dispatch, and you'll need to redo that testing every time you update julia or any packages, which is obviously not ideal. [1] ▶ this video

RecommendsView on HN
@eigenspace2020 · in “JuliaLang: The Ingredients for a Composable Programming Language”

What does this have to do with garbage collection? If your concern is about latency in real time systems, Garbage collection isn't the problem, heap allocating memory is. Julia makes it easy to never allocate anything on the heap (unlike most garbage collected langauges). Check out this talk this discusses this in detail in the context of robotics: ▶ this video

RecommendsView on HN
@ChrisRackauckas2018 · in “Julia 1.0”

It's probably us that are using types in a weird way so it's my lack of explanation that's the issue. Types in Julia undergo multiple dispatch, so by passing a type into a generic function you can make the same generic algorithm run in different ways. So I use types to parallelize my code, calculate derivatives, propagate parameter uncertainties, and things like that. This talk from JuliaCon discusses a lot of the things for free that were developed by taking a type from one package and putting it into another: ▶ this video

CitesView on HN
@ChrisRackauckas2018 · in “Julia 1.0”

Interesting to hear. This just isn't a thing I think is ever encountered in this kind of stuff. The author's previous struggle was to get to real-time. Getting below it wasn't something they really considered. Here's a talk they gave: ▶ this video

CitesView on HN
Introduction to Julia - Part 1 | SciPy 2014 | David Sanders1:01:04

Introduction to Julia - Part 1 | SciPy 2014 | David Sanders

Enthought
80K views • 12 years ago
APL at Julia's Speed | Shashi Gowda | JuliaCon 20168:34

APL at Julia's Speed | Shashi Gowda | JuliaCon 2016

The Julia Programming Language
3K views • 10 years ago
Keynote. Professor Steven G. Johnson | JuliaCon 201952:40

Keynote. Professor Steven G. Johnson | JuliaCon 2019

The Julia Programming Language
18K views • 7 years ago
Shared memory parallelism in Julia | Kiran Pamnany | Cambridge Julia Meetup (May 2018)26:34

Shared memory parallelism in Julia | Kiran Pamnany | Cambridge Julia Meetup (May 2018)

The Julia Programming Language
7K views • 8 years ago
The Unreasonable Effectiveness of Multiple Dispatch | Stefan Karpinski | JuliaCon 201935:24

The Unreasonable Effectiveness of Multiple Dispatch | Stefan Karpinski | JuliaCon 2019

The Julia Programming Language
79K views • 7 years ago
Robert Moss: Julia and the Next Generation Airborne Collision Avoidance System32:10

Robert Moss: Julia and the Next Generation Airborne Collision Avoidance System

The Julia Programming Language
4K views • 11 years ago
Jonathan Diegelman - Modeling Spacecraft Separation Dynamics in Julia16:04

Jonathan Diegelman - Modeling Spacecraft Separation Dynamics in Julia

The Julia Programming Language
12K views • 5 years ago
Interactive notebooks ~ Pluto.jl | Fons van der Plas | JuliaCon 202023:38

Interactive notebooks ~ Pluto.jl | Fons van der Plas | JuliaCon 2020

The Julia Programming Language
48K views • 6 years ago
Julia: to Lisp or not to Lisp?1:04:53

Julia: to Lisp or not to Lisp?

European Lisp Symposium
24K views • 10 years ago
Atlas, The Next Generation2:42

Atlas, The Next Generation

Boston Dynamics
40.8M views • 10 years ago
Atlas Goes Hands On2:53

Atlas Goes Hands On

Boston Dynamics
2.5M views • 2 years ago
Figure Status Update - OpenAI Speech-to-Speech Reasoning2:35

Figure Status Update - OpenAI Speech-to-Speech Reasoning

Figure
3.1M views • 2 years ago
Atlas | Partners in Parkour1:06

Atlas | Partners in Parkour

Boston Dynamics
17.3M views • 5 years ago
More Parkour Atlas0:39

More Parkour Atlas

Boston Dynamics
16.9M views • 7 years ago
Teaching Robots New Behaviors3:32

Teaching Robots New Behaviors

Toyota Research Institute
88K views • 3 years ago
Interactive programming Flappy Bird in ClojureScript6:22

Interactive programming Flappy Bird in ClojureScript

Bruce Hauman
55K views • 12 years ago
AI Language Models & Transformers - Computerphile20:39

AI Language Models & Transformers - Computerphile

Computerphile
354K views • 7 years ago
Tesla Bot Update | Sort & Stretch1:18

Tesla Bot Update | Sort & Stretch

Tesla
2.3M views • 3 years ago
Janken (rock-paper-scissors) Robot with 100% winning rate1:01

Janken (rock-paper-scissors) Robot with 100% winning rate

Ishikawa Group Laboratory
4.3M views • 14 years ago
Atlas Gets a Grip | Boston Dynamics1:21

Atlas Gets a Grip | Boston Dynamics

Boston Dynamics
11.5M views • 3 years ago