cover image

ROS 2 launch: required nodes

When using the Robot Operating System (ROS), it’s fairly common to want to shut down a launched system if a specific node (or set of nodes) exits. This is pretty easy in ROS1, because launch files support the required attribute on each node. As a result, crafting a two-node system where one of the nodes is required is straightforward: <launch> <node name = "talker" pkg = "talker" type = "talker_node" /> <node name = "listener" pkg = "listener" type = "talker_node" required = "true" /> </launch> This launch file creates a talker/listener system where, if the talker exits the system continues trucking along, but if the listener exits the entire launched system is shut down....

March 11, 2019 · 3 min · Kyle
cover image

Are you passionate about open-source robotics? Join us.

Ubuntu is a very popular operating system for robotics, for a number of reasons. Perhaps the software stack one happens to use prefers Ubuntu, or the hardware one is using only distributes drivers for Ubuntu. Maybe one’s team is already familiar with it, or decision-makers like that it has long-term support releases and extended security maintenance. Perhaps one views snaps as the perfect way to support and update robots in the field, and so on....

February 22, 2019 · 2 min · Kyle

ROS Melodic on Fedora 27

Part of the snapcraft CLI’s development roadmap this cycle includes the ability to build snaps on distros other than Ubuntu. Part of that work includes investigating each plugin to determine if it’s possible to get it working on other distros. As a result, I’ve been looking into the Catkin plugin recently, using Fedora 27 as my proving ground (since that’s the distro with which I’m most familiar after Ubuntu). The first thing you’ll notice trying to get ROS working on Fedora is that, unlike Ubuntu, where Open Robotics maintains infrastructure hosting a repository of Debian packages, there is no repository for you to use: you must build ROS from source....

May 25, 2018 · 2 min · Kyle
cover image

ROS production: create an Ubuntu Core image with our snap preinstalled [5/5]

UPDATE: I’m leaving this series up for historical purposes, but please note that I no longer recommend Ubuntu Core or snaps for use in robotics. This is the fifth (and final) blog post in this series about ROS production. In the previous post we created a gadget snap to allow confined access to the Turtlebot. In this post, we’re going to put all the pieces from this series together and create an Ubuntu Core image with our ROS snap preinstalled, ready to send to the factory for production....

May 4, 2017 · 7 min · Kyle
cover image

ROS production: obtaining confined access to the Turtlebot [4/5]

UPDATE: I’m leaving this series up for historical purposes, but please note that I no longer recommend Ubuntu Core or snaps for use in robotics. This is the fourth blog post in this series about ROS production. In the previous post we created a snap of our prototype, and released it into the store. In this post, we’re going to work toward an Ubuntu Core image by creating what’s called a gadget snap....

April 26, 2017 · 7 min · Kyle