Teaching Robotics with ROS on Ubuntu at SRU

sidfaber

on 24 January 2020

This week, as part of my work on the Ubuntu Robotics team, I headed up to Slippery Rock University in northwestern PA to meet with Dr. Sam Thangiah and to introduce students to the Robot Operating System (ROS).  New semester, lots of new opportunities for learning!

We started with a really simple robot environment.  Check out this build! This Raspberry Pi runs an Ubuntu 18.04 image which gives it all the built-in LTS security advantages. It’s mounted on piece of plexiglass with two motors and a motor controller board from the PiHut.  We worked through about 75 lines of sample python code which hooked the RPi.GPIO library to control the general purpose I/O pins, and we created an abstract Motor class.  This got our two-wheeled robot up and running…running right off the table. Oops.

Getting moving was just the beginning.  With a robot active in the physical world, we identified plenty of new problems to solve.  One motor ran a bit faster than the other and the robot drifted right. Sometimes one of the wheels lost traction so the robot didn’t go where we sent it.  But probably the most important problem yet to solve was to keep it from running into things… and from running off the table

Many of these problems are solved by the Robotics Operating System (ROS), the evolving product of a very active and innovative open source robotics community.  With ROS installed on the Pi, another 25 lines of python code created a ROS node listening for commands on the “/move” topic. Devices on the network were able to send motion commands directly to the robot, and we opened the door on the immense library of tools available within ROS.

Robotics can be an outstanding learning tool where the digital realm meets the physical realm.  It’s a place where a student’s code makes real, observable actions and where they can experiment with their environment.  In just over an hour, our conversations wandered over everything from basic electrical theory to mechanical engineering, including a touch of kinematics, some mathematics, and a few lines of python code to solve our problems.  If you’d like to learn more about building your own two-wheeled robot, see the “Your first robot” blog and video series by Kyle Fazzari, Canonical’s lead engineer in robotics.

Now that they’ve been given the basic building blocks, it’ll be exciting to see what a room full of motivated students can produce this semester!

Talk to us today

Interested in running Ubuntu Desktop in your organisation?

Newsletter signup

Select topics you’re
interested in

In submitting this form, I confirm that I have read and agree to Canonical’s Privacy Notice and Privacy Policy.

Are you building a robot on top of Ubuntu and looking for a partner? Talk to us!

Contact Us

Related posts

The State of Robotics – January 2020

The first month of 2020 is over and lots is already happening. Everyone seems to have come back from the holidays refreshed and ready to go. Here lies the...

5 key steps to take your IoT device to market

IoT businesses are notoriously difficult to get off the ground. No matter how good your product is or how good your team is, some of the biggest problems you...

The State of Robotics – Robotics Over the Holidays

Canonical closes for the holidays, but robots just get more festive. Roboticists seem to feel the festive spirit, and it turns their projects into festive...