Sign in

A picture of the Kobuki also known as the Turtlebot 2

Part 1: ROS Set-Up and moving the Kobuki

This article will detail the necessary steps required to set up the Kobuki robot built by Yujin Robot a South Korean robotics company. Henceforth referred to as just Kobuki. The Kobuki is a great way for beginners to get their hands dirty without having to deal with much of the cumbersome low level drivers. The Kobuki is also known as Turtlebot 2.

To begin, let’s go through the set-up procedure for Kobuki. In order to control the Kobuki, a Computer is needed to run Ubuntu distribution of Linux together with the meta-operating…

Photo by Ian Taylor on Unsplash

This is how it goes. You create a piece of code, maybe it’s a ROS Node or a ReactJS application and you pass the package over to a friend. It’s simple build the application and start to use it. Not so fast. Something’s wrong, the version of Python you were using has changed, or the Point Cloud Library has been updated. Well, the next few hours will be trying to match up your package to your friend’s system or vice versa. What if there was a way to ensure packages run the same on various different computers? A sort of…

Ah, the famous 2 words in this day and age: “Machine Learning”. The use of Machine Learning in itself isn’t a new concept. It has been around since the 1940s. Yep you heard that right! So what exactly is Machine Learning? Well let’s take a look.

Machine Learning is a broad field of Computer Science that looks into the ways in which Computers can mimic intelligence by predicting an output based on a set of inputs given. The simplest form of Machine Learning is linear regression. Remember the typical y=mx+c model that was taught in Secondary School? Yep, that’s machine…

Example of a callback in the AMCL source code:

The idea of a ConstPtr& may seem convoluted and therefore, confusing but fret not, for there is actually a pretty intuitive reasoning behind its use. The idea of callbacks in ROS refers to function which perform computation on a set of data. Imagine a robot with multiple callbacks to the same topic, and multiple topics. Now further imagine that some of these callbacks are dealing with data which are fairly large such as sensor_msgs::PointCloud2 data. Surely there must be an efficient way for all the callbacks to deal with this data.

AH HA! That’s where const ConstPtr& comes in!


Today let’s explore the procedure to edit source code in ROS. Part of being in an open sourced community is being able to look at the source code and identify limitations and rectify them in order to contribute to the overall development of ROS. We’ll take a look at the ways to install ROS packages and the methods to edit the code for our own personalised applications.

For this article, let’s take a look at the common issue of persistence in the costmaps. There are a variety of reasons for obstacle persistence including poor lidar resolution, improper lidar placement wherein…

Introduction to Coursera’s Machine Learning course by Andrew Ng

Summary of the entire course. The course touches on the basics of Machine Learning and is an excellent starting point for beginners looking to dive into the world of Machine Learning. As a beginner myself with no practical experience in Machine Learning I found the course to be well-explained and reasonably paced.

The course starts out with Supervised Learning. Supervised Learning is basically a way to create an equation based on real world data and results. Once this equation has been created, we can provide new real world data and the equation will tell us the predicted results. …

Photo by Shahadat Rahman on Unsplash

ROS can be confusing for a beginner, especially a beginner coming from a hardware based engineering discipline, such as Mechanical or Electrical Engineering. Trust me, I’ve been there.

Fret not, this guide will try to act as a sort of dictionary or maybe even a cheat sheet for you to perform certain common ROS commands without having to remember the detailed way to call these commands.

While memorising this list is not imperative to becoming a Robotics Engineer, it surely helps. This list will continually be upgraded from time to time to include the ever expanding nature of the ROS…

Photo by William Hook on Unsplash

We are in a climate of uncertainty. There have been world wars. There have even been pandemics — remember SARS? Yet, nothing compares to the situation we are all thrust into. Many of the major Massive Online Open Courses have seen a surge in their usage, and it is no surprise. We may all have had our lives disrupted but let’s make the most of it.

If you have ever wanted to start creating a telegram bot, you have come to the right place! …

ROS stands for Robotic Operating System. This article will act as a tutorial for anyone interested in taking a crash course into the world of ROS. What are we waiting for, let’s dive right in!

Lesson 1: Setting up ROS

The best way to set up ROS is by following the installation tutorial on The 2 main long term support software available right now are ROS Kinetic Kame and ROS Melodic Morenia. Depending on your Ubuntu distribution, you will have to choose either one. To check your Ubuntu distribution, type:

lsb_release -a

If it shows: Ubuntu 18.04.4 LTS, then you should proceed with ROS Melodic Morenia. If it shows: Ubuntu 16.04 LTS, the proceed with ROS Kinetic Kame. Follow the steps shown in and you should have your ROS distribution up and running…


An aspiring Robotics Researcher. I am currently in my 4th year of undergraduate studies. I am working on optimising the navigation packages on ROS.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store