About the Project

 

The Human-Robot Interaction (HRI) is one of the evolving concepts in the field of artificial intelligence and robotics. There are several universities including the University of Nevada, Reno (UNR) which exploits the Pioneer robots for the development and testing of various HRI related research topics. The “ROS Framework with Human-Robot Interaction” project falls into that category as well. The ROS-based Framework for HRI is designed to perform office related tasks using a Pioneer robot as shown in the above picture. The system autonomously navigates from point A to point B while avoiding obstacles in order to deliver messages/objects to a specified destination. To achieve this goal, components such as a SICK laser to detect obstacles in the path, a gripper to hold an object, a camera to verify the receiver, a tablet for an easy user interface, and a black-box as a CPU are integrated with the Pioneer. Also, an external hardware is designed to get the individual battery level status of the three Pioneer batteries.

 

The system is designed using the standard robot operating system (ROS) along with some of the essential packages. Obstacle avoidance is implemented using the sicktoolbox_wrapper package from ROS combined with a gradient descent algorithm. When the robot arrives at the destination, it identifies the receiver via CMVision. The user can interact with the system by selecting the options available from the Graphical User Interface as shown in below snapshot. The User interface is implemented on Android HTC EVO View 4G using the application framework Eclipse with Java.

 

The navigation and localization of the system are implemented using Adaptive Monte Carlo Localization (AMCL) along with move_base and navigation_stack. The system uses a map created by a laser as its environment. The system is given three goal location points in the map and it acquires the current location points from AMCL. A gradient descent algorithm with attractive and repulsive forces is used to navigate. Repulsive forces represent obstacles while the attractive forces represent the goal location in the environment.

 

The robot has an external circuit to monitor battery voltage. The circuit is built on a GRA-206 breadboard and uses dual op amp, resistors, capacitors, bi-colored LEDs, and copper wires. The robot’s batteries are 12 volts and battery life is 30 minutes at max. The LED blinks green if the battery level is above 11.5, green and red when the battery level is between 11.5 and 11.0, and red if the battery level is lower than 11.0 volts. With the help of the battery status circuit, the user can manage the time of the tasks accordingly. This adds novelty and additional functionality to the project.

 

The project can be further developed by using multiple Pioneer robots to perform complex tasks. Multiple tablets can be used to control the system wirelessly to add more portability to the system. More functionalities can be added to the system such as speech and face recognition to detect a receiver. Battery status can be wirelessly transmitted to the system via an Arduino board. A switch can be added to allow the user to turn the battery status circuit on/off. Also, the laptop can be completely eliminated if a graphics’ card is implanted in the black-box.