Research Projects

GPU-Accelerated PRM for Autonomous Navigation

University of Nevada, Reno, Computer Science and Engineering, 2020

Sampling based planning is an important step for long-range navigation for an autonomous vehicle. This work proposes a GPU-accelerated sampling based path planning algorithm which can be used as a global planner in autonomous navigation tasks. A modified version of the generation portion for the Probabilistic Road Map (PRM) algorithm is presented which reorders some steps of the algorithm in order to allow for parallelization and thus can benefit highly from utilization of a GPU. The GPU and CPU algorithms were compared using a simulated navigation environment with graph generation tasks of several different sizes. It was found that the GPU-accelerated version of the PRM algorithm had significant speedup over the CPU version (up to 78x). This results provides promising motivation towards implementation of a real-time autonomous navigation system in the future.

Generalized Task Structure Learning for Collaborative Multi-Robot/Human-Robot Task Allocation

University of Nevada, Reno, Computer Science and Engineering, 2020

In order to allow the learned task to be generalized, the structure of the task must be flexible to allow for these variances in grasping capabilities for heterogeneous teams of robots. Therefore, it is not sufficient to give a single, rigid task structure to a team of heterogeneous robots and assume that they will be able to complete the task without taking into account their own skill-sets. Instead of manually crafting a different task structure for each robot in the team, we propose a method in which we are able to learn the underlying task structure from a set of human demonstrations which can be transferred to a robot and modified online with its own suitability for each part of the task through the utilization of our previous developed hierarchical control architecture.

Human-Robot Collaboration and Dialogue for Fault Recovery on Hierarchical Tasks

University of Nevada, Reno, Computer Science and Engineering, 2019

Robotic systems typically follow a rigid approach to task execution in which they perform the necessary steps in a specific order, but fail when having to cope with issues that arise during execution. To address this issue, we propose an approach that handles such cases through dialogue and human-robot collaboration. The main contribution of the proposed approach is a hierarchical control architecture that 1) autonomously detects and is cognizant of task execution failures, 2) initiates a dialogue with a human helper to obtain assistance, and 3) enables collaborative human-robot task execution through extended dialogue in order to 4) ensure robust execution of hierarchical tasks with complex constraints, such as sequential, non-ordering, and multiple paths of execution. The architecture ensures that the constraints are adhered to throughout the entire task execution, including during failures. The recovery of the architecturefrom issues during execution is validated by a human-robot team on a building task.

Real-time, Distributed Joint Human-Robot Task Execution

University of Nevada, Reno, Computer Science and Engineering, 2019

This research addresses the problem of human-robot collaborative task execution for hierarchical task plans. The main contributions are the ability for dynamic allocation of tasks in human-robot teams and opportunistic task execution given different environmental conditions. The human-robot collaborative task is represented in a tree structure which consists of sequential, non-ordering, and alternative paths of execution. The general approach to enable human-robot collaborative task execution is to have the robot maintain an updated, simulated version of the human’s task representation, which is similar to the robot’s own controller for the same task. Continuous peer node message passing between the agents’ task representations enables both to coordinate their task execution, so that they perform the task given its required execution constraints and they do not both work on the same task component. A tea-table task scenario was designed for validation with overlapping and non-overlapping sub-tasks between a human and a Baxter robot.

Perception of Social Intelligence in Robots Performing False-Belief Tasks

University of Nevada, Reno, Computer Science and Engineering, 2019

This study evaluated how a robot demonstrating a Theory of Mind (ToM) influenced human perception of social intelligence and animacy in a human-robot interaction. Data was gathered through an online survey where participants watched a video depicting a NAO robot either failing or passing the Sally-Anne false-belief task. Participants (N = 60) were randomly assigned to either the Pass or Fail condition. A Perceived Social Intelligence Survey and the Perceived Intelligence and Animacy subsections of the Godspeed Questionnaire were used as measures. The Godspeed was given before viewing the task to measure participant expectations, and again after to test changes in opinion. Our findings show that robots demonstrating ToM significantly increase perceived social intelligence, while robots demonstrating ToM deficiencies are perceived as less socially intelligent.

Learning Complex Task Structures from Verbal Instruction

University of Nevada, Reno, Computer Science and Engineering, 2019

This research developed a novel approach to robot task learning from language-based instructions, which focuses on increasing the complexity of task representations that can be taught through verbal instruction. The major proposed contribution is the development of a framework for directly mapping a complex verbal instruction to an executable task representation, from a single training experience. The method can handle the following types of complexities: 1) instructions that use conjunctions to convey complex execution constraints (such as alternative paths of execution, sequential or nonordering constraints, as well as hierarchical representations) and 2) instructions that use prepositions and multiple adjectives to specify action/object parameters relevant for the task.

Real-Time Object Manipulation Pipeline

University of Nevada, Reno, Computer Science and Engineering, 2019

Developed a novel pipeline for automatic grasping of objects with unknown intial locations. Work utilizes a computer vision system for active perception. This pipeline is used as the basic grasping and detection system in several of our other research projects.

Novel Approach for Distributed Task Allocation in Heterogeneous Teams

University of Nevada, Reno, Computer Science and Engineering, 2017

Real-world tasks are not only a series of sequential steps, but typically exhibit a combination of multiple types of constraints. These tasks pose significant challenges, as enumerating all the possible ways in which the task can be performed can lead to large representations and it is difficult to keep track of the task constraints during execution. We have developed an architecture that provides a compact encoding of tasks with complex constraints for collaborative multi-robot systems. The architecture allows for on-line, dynamic allocation of robots to steps of the task while ensuring the robots obey all of the task constraints. The architecture allows for opportunistic and flexible task execution given different environmental conditions.

Computer Vision Based Detect and Avoid on UAV Platforms

University of Nevada, Reno, Computer Science and Engineering, 2015

This project led to the development of a detection and localization algorithm of multiple aircraft in a video sequence via supervised machine learning techniques. The algorithm detects aircraft in a video frame, classifies the aircraft to get an estimate of its size, and then estimates its position in the real world as an offset from the position of the camera. The project also conducted an evaluation of user interface design with regard to reaction to obstacles detected from a LEDDAR/Radar/Camera system.

Failsafe Algorithms for Stabilization and Control of UAS Platforms

University of Nevada, Reno, Computer Science and Engineering, 2014

Rapid increase in the use of Unmanned Autonomous Systems (UAS) has caused the safety of these platforms to become a high priority. One main safety issue with UAS platforms is motor failure. In order to increase the safety of these platforms in the event of such a failure, a failsafe mechanism can be used to stabilize and control the UAS platform.