Moving Forward with NavBot

arduino-logo

I have not done much more with NavBot since getting it to its current level of dead reckoning via wheel encoder odometry.

A big part of this has to do with the amazing summer we’ve had. The other is that I’m just not that motivated to develop high-level robotics logic on the Arduino platform. The Arduino has been fun to use, and very easy to setup, but at the end of the day a microcontroller can only do so much. Its strength is its ability to interface with and control hardware but it is not well suited for software development or handling complex logic.

I’ll most likely still use the Arduino platform for some projects but moving forward I will start migrating to 32 bit ARM based microcontrollers as you get much more bang for your buck and, quite frankly, I’m sick and tired of fighting the Arduino’s build process in order to modularize my code, so there are no up-sides for me to stay with the Arduino at present. [I have grown up using makefiles so while IDE’s are nice I’m just as happy with command line.]

ROS

For the software side of things I’m going to make a really great big jump to the ROS Platform. There are lots of pros and cons to using ROS and I will cover them in more detail in a later post. For now I’ll just give an cursory overview:

  • From their site: “The Robot Operating System (ROS) is a set of software libraries and tools that help you build robot applications.”
  • ROS primarily runs on Ubuntu Linux but has also been ported to, or works with other Linux/POSIX based platforms such as OSX (which is the platform I’m using).
  • It is open source and has a huge community of contributors, mainly in the research field but also in industry.
  • It functions at the operating system level. That is, a ROS application is made up of collections of individual programs that communicate with each other via TCP/IP and UDP interfaces. ROS applications can be distributed across multiple computers.

If you are new to Linux-like operating systems then understanding and learning ROS will be extremely difficult. Even if you are adept with Linux, ROS is still hard to get into. While there is good documentation and detailed tutorials, ROS itself is very abstract and builds off or incorporates other systems so that it can be very hard to take it all in. Definitely not for the faint of heart.

For me the motivation for switching to ROS is for the impressive array of “packages” available for autonomous robots, as well as the development and simulation tools that come with it. There is also support for Microsoft’s Kinect device (which I happen to have) and while I have had fun developing odometry based dead-reckoning, I am much more interested in vision/sonar/lidar based navigation.

Raspberry Pi

However, initially I’m going to be using the Raspberry Pi to host ROS and handle high-level logic so there are going to be limits on what can be achieved, particularly where robot vision is concerned. Nevertheless, the Rasperry Pi should be a good starting point.

It’ll be interesting to see how this all pans out.

Advertisements

3 comments

  1. Hi Solder Spot, I am totally impressed with your projects as well as your blog so far, you are truly inspiring. I would be really keen on learning more about your endeavors with ROS on the RPi (my hardware of choice as well), and what you managed to create with it… any news on that since almost 1,5 years ago?

  2. Thanks so much. I do have a partial post about getting into ROS which I hope to complete before the end of the year. The problem is that life has gotten in the way in the meantime. I’ve been living in Ireland for the last year and so robotics has not been an option for me as all my gear is in storage in the US. I’ll be back in the U.S. in August and I’m keen to get some real ROS projects going. Till then…

    1. I’m already very happy with you have documented and shared so far, but it is even nicer to hear that your robot hobby is just on a temporary break, and that you are still replying on your blog. Is it OK with you if I do a post about your work on my blog (link provided)? Thanks!

      In the meanwhile, I hope your time in Ireland is fulfilling, rewarding and enjoyable in other ways. I’m sure your readership will patiently monitor your RSS feed for any future Solder Spot posts… Peace!

Comments welcome

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s