Book Image

Artificial Vision and Language Processing for Robotics

By : Álvaro Morena Alberola, Gonzalo Molina Gallego, Unai Garay Maestre
Book Image

Artificial Vision and Language Processing for Robotics

By: Álvaro Morena Alberola, Gonzalo Molina Gallego, Unai Garay Maestre

Overview of this book

Artificial Vision and Language Processing for Robotics begins by discussing the theory behind robots. You'll compare different methods used to work with robots and explore computer vision, its algorithms, and limits. You'll then learn how to control the robot with natural language processing commands. You'll study Word2Vec and GloVe embedding techniques, non-numeric data, recurrent neural network (RNNs), and their advanced models. You'll create a simple Word2Vec model with Keras, as well as build a convolutional neural network (CNN) and improve it with data augmentation and transfer learning. You'll study the ROS and build a conversational agent to manage your robot. You'll also integrate your agent with the ROS and convert an image to text and text to speech. You'll learn to build an object recognition system using a video. By the end of this book, you'll have the skills you need to build a functional application that can integrate with a ROS to extract useful information about your environment.
Table of Contents (12 chapters)
Artificial Vision and Language Processing for Robotics
Preface

Publishers and Subscribers


When explaining basic ROS concepts, we discussed a few nodes used for publishing data and some others used for subscribing to that data. Knowing this, it is not hard to imagine that nodes can be classified into two groups, depending on the kind of action they perform. They can be publishers or subscribers. Why do you think it is important to distinguish between these two types of nodes?

As mentioned earlier, publishers are nodes that provide information to other nodes. They usually work with sensors to check the environment status and convert it into valuable outputs for subscribers that can receive this information.

On the other hand, subscribers usually get an understandable input and process it. They then decide which action will be launched depending on the obtained result.

As this is a rarely used type of programming, it will be interesting to follow some examples of how these nodes really work, before starting to use them with robots and simulators. So, let...