Julia for robotics: simulation and real-time control in a high-level programming language

2019 
Robotics applications often suffer from the ‘two-language problem’, requiring a low-level language for performance-sensitive components and a high-level language for interactivity and experimentation, which tends to increase software complexity. We demonstrate the use of the Julia programming language to solve this problem by being fast enough for online control of a humanoid robot and flexible enough for prototyping. We present several Julia packages developed by the authors, which together enable roughly 2× realtime simulation of the Boston Dynamics Atlas humanoid robot balancing on flat ground using a quadratic-programming-based controller. Benchmarks show a sufficiently low variation in control frequency to make deployment on the physical robot feasible. We also show that Julia’s naturally generic programming style results in versatile packages that are easy to compose and adapt to a wide variety of computational tasks in robotics.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    45
    References
    30
    Citations
    NaN
    KQI
    []