Kyle (aka "kyrofa") is a husband, father of four, roboticist, and a staff engineer at Canonical, the company behind Ubuntu. He works on all things robotics in Ubuntu for server, desktop, and IoT. He's a contributor to both versions 1 and 2 of the Robot Operating System (ROS), a member of the ROS 2 Technical Steering Committee, and co-chair of the ROS 2 Security Working Group. He's also a core contributor to the snapcraft CLI as well as snapd, two key technologies behind snaps and Ubuntu Core.
9 December 2020
Goodbye Thanksgiving (well, for some of us), hello Christmas! The holiday season really is the best, and it always brings interesting robotics news, which we will now distill into a quick dose of delightful and easily-digestible tidbits. As always, if you’d like to see your work showcased here, please send an email to robotics.community@c ...
12 September 2020
So that’s the summer gone (hopefully, that heat was awful). Or winter if that’s where you are. Seasons change and so does the state of robotics. Fortunately, that’s what we’re here for. Before we get into it, as ever, If you’re working on any robotics projects that you’d like us to talk about, be sure ...
17 August 2020
The snapcraft CLI (the tool used to create snaps) has long had support for building snaps that use both ROS 1 and ROS 2. ROS 2 Foxy Fitzroy is the latest ROS 2 LTS, which runs on Ubuntu 20.04 (Focal Fossa). The snapcraft CLI recently gained experimental support for building Foxy snaps, so I wanted ...
17 June 2020
We’re pleased to welcome the newest ROS 2 release, Foxy Fitzroy. A long-term support (LTS) release, (supported for three years), Foxy runs on the latest Ubuntu LTS, the also-recently-released Ubuntu 20.04 (supported for five years, or even longer with an ESM subscription). Putting together a distribution like Foxy is a ton of work. Open R ...
28 October 2019
We recently got an interesting question from a customer, and I think the answer might be helpful to a wider audience. Python 2 will reach end of life in two months. This shouldn’t be news to anyone who hasn’t been living under a rock, and plans are in place to use Python 3 in Noetic ...
4 October 2019
We at Canonical have been hard at work on the security features of version 2 of the Robot Operating System (ROS 2). However, if we lift our collective heads up out of the weeds it’s easy to see folks completely misunderstanding how security works today in ROS 2. We’ve written some design articles to help ...
28 August 2019
We at Canonical care deeply about robotics. We firmly believe that robots based on Linux are cheaper to develop, more flexible, more secure, and faster to market. One of the contributing factors to this being the case is the Robot Operating System (ROS). ROS is by far the most popular middleware for creating Linux-powered robots. ...
9 April 2019
A while back I wrote a post about distributing a ROS system among multiple snaps. If you want to enable some sort of add-on story, you need to have multiple snaps, and that remains the way to do it today with ROS. That approach works, but I’ll be the first to admit that it’s not ...
11 March 2019
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 ...
28 February 2019
The snapcraft CLI has supported building ROS1 snaps for a while via the catkin plugin. We supported the ROS2 betas via the ament plugin, but that was before Open Robotics had a ROS2 package repository setup, which meant that the ament plugin built the ROS2 underlay from source, and it was predictably dreadfully slow. However, ...
16 March 2018
This is the fifth (and final) blog post in this series about creating your first robot with ROS and Ubuntu Core. In the previous post we discussed methods of control, did a little math, and wrote the ROS driver for our robot. But it still required several nodes to be running at once, and sharing ...
9 March 2018
This is the fourth blog post in this series about creating your first robot with ROS and Ubuntu Core. In the previous post we worked on getting data out of the wireless controller and into ROS in a format meant for controlling differential drive robots like ours: the Twist message. Today we’re going to create ...