Leadership
My Values
Creating a Culture of Documentation
Documentation is one of those things that often gets overlooked. After all, it’s not strictly required for your code to run! But there is a great amount of value to be gained by creating a culture of documentation. I’m not talking about the “low quality” documentation that insists on simply re-writing in prose the name of the variable.
Robotics
DeepRacer
Running the DeepRacer with ROS2
At one point I thought that I would do all new development in the next generation of OSRF software (ROS2 and Ignition). Porting the DeepRacer to use ROS2 may be an exercise in futility, but I thought it might be fun to find out just how painful it is to run a mixed ROS/ROS2 environment.
Running the gamepad onboard the DeepRacer
After I hooked up a gamepad through ROS to the DeepRacer, the next step was to get it loaded directly onto the DeepRacer. Because what good is a remote control for an RC car if you need to set up a laptop to use it?
Controlling the DeepRacer with a gamepad
The first thing I wanted to do when I got my DeepRacer was to drive it around. It comes with a web interface where you can run it in “manual” mode, but I wanted to use a gamepad controller. (By default the web interface is only controllable via mouse.)
Digging into ROS on the DeepRacer
So you have a DeepRacer, and you want to learn more about the software that’s on it, read on!
Unboxing the AWS Deep Racer
It arrived!
I pre-ordered the AWS DeepRacer months ago in anticipation of getting my hands dirty both with AWS and ML. But it was delayed.
ROS
Bridging ROS and ROS2
Running the ros1_bridge
in a custom environment is tricky, and required me to
make a patch to complete. Here’s what I learned:
VSCode, Docker, and ROS2
I started out playing with ROS2 by using a docker container. It was a fast and easy way for me to try out ROS2. As an avid user of ROS, I naturally wanted to keep up with the new changes being made. However, it can be difficult to set up, especially for new users. This guide is intended to be used by people that are familiar with coding and software development, but maybe not ROS.
Simulation
Ignition vs Gazebo
Software Development
Integration Testing
Git Style Guide
VSCode Tasks Problem Matchers
If you use VSCode tasks, you’ll probably be familiar with the warning that’s reported in the command palette if you haven’t specified a “problem matcher” for your task.
Setting Up a Local Docker Registry
After you’ve been developing your code using docker there will inevitably come a time when you’d like to share your workspace (code and all!) with someone else or put it on another computer.
Supercharging VSCode with Tasks
In my previous articles, I showed you how I set up github pages and ros2 with vscode.
VSCode, Docker, and Github Pages
As a casual user of GitHub Pages, I find that I continually have to remember how I set up the development environment so I can edit my website. There’s nothing worse than losing hours to configuration nightmares on coding that is supposed to be fun. And since I use docker and vscode, it was a pretty easy decision to try to put my website workspace into a container.
VSCode and Docker
Lately, I’ve been experimenting with using Docker for all of my software development.