Introduction to Robotics Operating System By Dr. Ramviyas Parasuraman

Spring 2017

   Robot Operating System (ROS) is a predominant software framework in robotics community. SMART lab members have shown interest and motivation in learning ROS as it is needed in most of our projects. Initially, we had an introductory ROS seminars (3x2h) this semester to lay foundation for the detailed ROS seminar series coming up in the next semester.

For the introduction seminars, the followings are covered:
Week 1: Introduction to ROS: What is ROS? Why should it be used? For which applications it is appropriate and for which it is not? History of ROS and the future scope. Basic concepts of ROS - nodes, topics, messages, services, workspace, packages.
Week 2: Tutorials for installing, setting up ROS workspace and navigating the ROS system, simple ROS commands.
Week 3: Tutorials on creating a subscriber and publisher in python & Communication between two machines via WiFi and Ethernet.
Week 4: Tutorials with examples on ROS messages, and topics.
Week 5: Defining and using custom messages in ROS.
Week 6: Tutorials on ROS Services.
Week 7: Assignments review.
Week 8: ROS Actionlib.
Week 9: Wrap up - Revisiting ROS basics.
Week 10: Final class - Assignments review, Rviz and Rqt examples.


Advanced Robotics Operating System By Graduate Students

Fall 2017

   The purpose of this seminar is mainly to empower students in the lab to have hands-on skills and experiences in prototyping (mainly by working with ROS) and create a high quality of open sources for the robotics community. By trying to create open sources, our students can learn to produce high quality of documents and source codes and contribute to the community. Furthermore, it will also promote our lab. Therefore, the final goal of this seminar is to release all the software modules developed by the students during this course of the seminar as open-sources (e.g., via GitHub). The lab members may be able to perform several applications using multiple iRobot platforms and other hardware resources (e.g. USV, sediment sampler, P3AT, etc.) available in the lab.

For the advanced seminars, the followings are covered:
Week 1: Installation instrictions for Odroid, iRobot Create2, ROS, IMU, GPS, USB cam drivers, etc, by Shaocheng Luo
Week 2: Review of Odroid, Ubuntu and iRobot drivers, + installing ROS drivers for interfacing with Arduino, by Jun Han Bae
Week 3: Controlling iRobot Platform, by Shaocheng Luo
Week 4: Get iroomba to Rotate and Track an Individual's face, by Arabinda Samantaray
Week 5: Drive Robots in Simulation (e.g., Gazebo), by Sangjun Lee
Week 6: Controlling Robots Over the Web, by Yeonju Oh
Week 7: Controlling a Robot using Voice, by Manoj Penmetcha
Week 8: Robot Autonomous Navigation, by Sangjun Lee
Week 9: Create a Custom Robot on Gazebo using sdf Files, by Tamzidul Mina
Week 10: Rosserial Arduino Basics, by Jun Han Bae
Week 11: IBM Watson Text to Speech (TTS) on ROS, by Yeonju Oh
Week 12: Detect a Green Coloured Ball using irobot Roomba, by Arabinda Samantaray
Week 13: Baxter Simulation and Controlling Baxter Robot, by Manoj Penmetcha
Week 14: Create ROS plugin for custom light sensor on gazebo and mount on robot for environment monitoring, by Tamzidul Mina