For researchers and hobbyists, Robotics operating system (ROS) provides a robust framework for prototyping complex robots. I started exploring this fun open source project to help prepare our team for writing augmented reality software. In particular, I started looking at ROS to learn more about location and mapping capabilities made possible by a Microsoft Kinect 360 sensor.
In the past, robotics researchers dominantly discuss the implementation of a new computer vision algorithm/new methodology and impact on robot performance by writing an academic paper. If someone wanted to reproduce the work, the researcher would need to completely understand the algorithm, math and code it from the ground up. For the novice, this is not attractive. In addition, you may need to write additional components to control motors and robot movement. To help accelerate innovation in the robotics community, the Willow Garage and Stanford Artificial Intelligence Laboratory encouraged the robotics community to create reusable software components and algorithms. Using the messaging system of ROS, the algorithms and components can be connected together like software “Lego blocks.” The community now offers an impressive collection of thousands of packages ranging from SLAM (simultaneous location and mapping) algorithms, drone control, robot controls, and web programming tools. The following video shows an example of the RTABMAP, a location and mapping algorithm using a Kinect 360 sensor.
You can learn more about ROS from this article.
How do you setup ROS and ROSJSLib?
I tried to select tutorials and components that can be installed using “apt-get” packaging tools.
- Install Ubuntu 14LTS – 64bit – http://releases.ubuntu.com/14.04/
- Install ROS – Indigo version – http://wiki.ros.org/indigo/Installation
- Install ROSBridge – http://wiki.ros.org/rosbridge_suite
- This component provides web developers a web socket API for publishing and subscribing to topics in ROS. If you combine this library with ThreeJS or another graphics API, you can build some amazing experiences.
- Key tutorials
- Install RTABMAP – This provides a component for location and mapping using a Kinect 360
- You can start hacking your ROS operating system using RosLibJs. Learn more at http://wiki.ros.org/roslibjs