Enter into the world of robots and flying cars with ROS!

Robotics with ROS

Enter into the world of robots and flying cars!
Just a few magical words and we are taken to a world that seemed so far from reality. Our mind takes us through the amazing childhood memories of C3PO from Star Wars, flying cars from the cartoon, Jetsons, the Robocop movie, and one of the most famous TV characters that changed our perception of robots—V.I.C.I. from  Small Wonder. Those were the days when these robots were a fantasy. Today, these are the reality of mankind thanks to advancement in robotics.
Robotics is one of the most influential technologies changing the world. Robotics gives way to innovation and expertise such as computer vision, artificial intelligence, and control theory. The core of robotics is the robotics software. Robotic software brings a robot to life, extending its capabilities to sense, control, apply its intelligence, be social, and even clean the house. Look at Facebook’s Mark Zuckerberg’s personal robot butler, Jarvis. Zuckerberg uses a Facebook Messenger or voice commands to communicate with Jarvis to change the music, control the lights, or even make him some toast.
Impressive stuff, right! In the heart of the process of bringing such robots to life is one of the most popular robotics software frameworks called Robot Operating System (ROS).

Introducing ROS

Developed in 2007, by Willow Garage, ROS is an open source, a flexible software framework for programming robots. ROS is a collection of tools and algorithms widely-used during programming, simulating, or executing robotic tasks. Some of these tools include:
·         Stage for 2D simulation
·         Gazebo for 3D simulation
·         Rviz for 3D visualization
·         The tf package for manipulating coordinates and transformation
·         OpenCV for image processing
·         PointCloudLibrary for 3D environment reconstruction from laser measurements
ROS is language-independent, making it possible to program ROS in Python, Java, Lua, Lisp, or C++. It can also run on Windows, Linux, as well as other operating systems.
Before ROS, robotic developers would spend a considerable amount of time designing embedded software within a robot causing repetition of work. ROS simplifies this process of repetition by freeing robotics developers from the tedious task of developing an OS from scratch. Gaining momentum in the past few years, ROS is becoming a dominant player in the industry providing turnkey solutions for a wide variety of robots.
ROS in Space
ROS-compatible robots are growing popular, boasting some of the most popular ones, namely Willow Garage’s iconic PR2, NAO, Lego Mindstorms NXT, IRobot Roomba, and TurtleBot. However, one of the most memorable ROS robots is Robonaut 2.
NASA launched its first human-like robot, Robonaut 2 (R2) to space as a part of the International Space Station (ISS). Developed by NASA and General Motors, R2 was a humanoid robot capable of working side by side with astronauts. In the words of John Olson, director of NASA's Exploration Systems Integration Office, "This project exemplifies the promise that a future generation of robots can have both in space and on Earth, not as replacements for humans but as companions that can carry out key supporting roles."

Immense Possibilities with ROS

ROS has dominated various robotics domains:
·         Multi-robot systems from humanoids
·         Industrial arms
·         Outdoor ground vehicles (including self-driving cars)
·         Manufacturing robots
·         Agricultural robots
·         Commercial cleaning robots
Now, let’s look at a few other domains, where ROS is most valuable to projects and applications.

Autonomous Cars

Autonomous cars are robot cars, where the passenger needs to specify a destination, and the autonomous car will take them there. BMW, Google, Toyota, GE, Tesla, Uber, and Volvo are some of the leading companies that stand for a new way forward in mobility. It is relatively simple to start an autonomous car project with ROS on board, with BMW and Bosch adopting ROS in their self-driving cars. ROS integrates the algorithms that are able to build a map, localize the robot using lidars or GPS, plan paths along maps, avoid obstacles, process point clouds or camera data to extract information that help the car reach from destination A to destination B.

Using Virtual Reality to Interact with Robots

Virtual reality is a three-dimensional, computer-generated environment that began as a science fiction in the 1950s, but is gaining popularity today. Virtual reality is advantageous in the development of teleoperation interfaces. Using visualization tools available in ROS, you can create a ROS project in which they can control a robot using a Leap Motion sensor and experience the robot environment using a virtual reality headset.
Face Detection

One of the capabilities of service and social robots is face detection and tracking. These robots can identify faces and can move their heads according to the human face that moves around it. The face detection is done using an OpenCV and ROS interface, and the controlling of the servo is done using a Dynamixel motor driver in ROS. The aim of the project is to build a simple face tracker that can track face only along the horizontal axis of the camera. The servo tracker follows the face until it aligns to the center of the image from the webcam. Once it reaches the center, it will stop and wait for face movement.

ROS Robotics Projects

We have seen the comprehensive competencies of ROS, and we know that ROS is useful for robotic research and for companies to model, simulate, and prototype robots. However, applying your knowledge of ROS to actual robotics is much more difficult than people realize. Designed for robotic enthusiasts and researchers, ROS Robotics Projects by Lentin Joseph is packed with fun-filled, end-to-end 14 ROS robotics projects to give you what you need to create your own robotics in no time!
In the words of Bill Gates, “Robotics and other combinations will make the world pretty fantastic compared with today.”

Next step, Transformers! Optimus Prime, here we come!


Posts les plus consultés de ce blog

How to Build Machine Learning Models in C#

Artificial Intelligence By Example