Real-Time Programming: Priority Inversion
Many robotics applications have real-time requirements, which means that they must be able to execute sections of code within a strict deadline. A control loop is one such example - failure to complete the control loop in time may cause controller instability or trigger protective stops! For ROS applications, ros2_control is a framework that can be used for real-time control of robots using ROS 2. Whether writing a real-time application with ros2_control, or your own custom real-time application, real-time code requires a specific set of concerns around ensuring latency is controlled and deadlines are met.
In this blog post, we’re going to discuss priority inversion, which is a potential source of unbounded latency that needs to be avoided in your real-time code. Priority inversion is very much a concern for robotics: a famous example is that priority inversion caused a failure on the Mars Pathfinder!
ROS 2 and VSCode
This document provides a detailed guide for using Visual Studio Code (VSCode) to build and execute ROS 2 projects efficiently with C++ and Python. It covers a range of topics, including initializing VSCode, remote development over SSH, development using Docker, sourcing ROS dependencies, and building with Colcon. The document also delves into specific techniques for working in C++ and Python within the ROS 2 environment, offering valuable insights and tips to enhance the development process.
PickNik Robotics raises $2M pre-seed round
PickNik Robotics Inc., a Boulder-based developer of a robotic-arm technology platform, recently completed a $2 million pre-seed investment campaign led by Stellar Ventures and Cypress Growth Capital.
The company’s MoveIt Studio is a robotic manipulator interface software that enables human operators to do more complex tasks. The platform can operate in a broad range of unstructured and high-latency environments such as urban areas, inside buildings, microgravity, and subsea. Applications range from bomb disposal to the sorting of objects in space.