Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Keith J. O'Hara is active.

Publication


Featured researches published by Keith J. O'Hara.


technical symposium on computer science education | 2009

Personalizing CS1 with robots

Jay W. Summet; Deepak Kumar; Keith J. O'Hara; Daniel Walker; Lijun Ni; Douglas S. Blank; Tucker R. Balch

We have developed a CS1 curriculum that uses a robotics context to teach introductory programming [1]. Core to our approach is that each student has their own personal robot. Our robot and software have been specifically developed to support the needs of a CS1 curriculum. We frame traditional problems (robot control) in terms that are personal, relevant, and fun. Initial trial classes have shown that our approach is successful and adaptable.


IEEE Pervasive Computing | 2008

Designing Personal Robots for Education: Hardware, Software, and Curriculum

Tucker R. Balch; Jay W. Summet; Douglas S. Blank; Deepak Kumar; Mark Guzdial; Keith J. O'Hara; Daniel Walker; M. Sweat; C. Gupta; S. Tansley; J. Jackson; Mansi Gupta; M.N. Muhammad; S. Prashad; N. Eilbert; A. Gavin

An exciting new initiative at Georgia Tech and Bryn Mawr College is using personal robots both to motivate students and to serve as the primary programming platform for the Computer Science 1 curriculum. Here, the authors introduce the initiative and outline plans for the future.


adaptive agents and multi-agents systems | 2004

Distributed Path Planning for Robots in Dynamic Environments Using a Pervasive Embedded Network

Keith J. O'Hara; Tucker R. Balch

We investigate the application of a low-cost, pervasively distributed network to plan paths for mobile robots in environments with dynamic obstacles. We consider a heterogeneous system composed of small, embedded, immobile, possibly sensor-less, communication nodes and larger mobile robots equipped with sensors and manipulators. The embedded network serves as a pervasive communication and computation fabric, while the mobile robots provide sensing and actuation. The network is responsible for planning paths for the mobile robots even though paths are being created and destroyed dynamically. The embedded network provides nearly optimal path planning without the network nodes or the robots having global knowledge or localization capabilities. Path planning is one of the most fundamental and wellstudied problem in mobile robotics. Techniques such as D*[1] plan paths in dynamic environments where paths are created and destroyed. Inspired by these techniques, we have developed a technique for distributed path planning in environments were obstacles appear and disappear. Traditional path planning algorithms for dynamic environments typically require a single mobile robot to build a map, update the map as the environment changes, and then finally plan over the map. Instead, we use an embedded network distributed throughout the environment to approximate the path-planning space and use the network to compute the path in a distributed fashion. The algorithm essentially works as a distributed variant of the popular wave-front path planning algorithm, or a breadth-first search from the goal, propagating paths from the goal location. The embedded nodes make up the vertices of the path planning graph, and the network connections between them are the edges of the graph. Mobile robots can then use reactive navigation to traverse the graph by visiting the vertices (i.e. the embedded nodes) to the goal. In order to respond to changes in the environment this graph has to be maintained as edges are added and removed. For powerefficiency reasons we prefer algorithms that minimize com


IEEE Transactions on Robotics | 2008

Physical Path Planning Using a Pervasive Embedded Network

Keith J. O'Hara; Daniel Walker; Tucker R. Balch

We evaluate a technique that uses an embedded network deployed pervasively throughout an environment to aid robots in navigation. The embedded nodes do not know their absolute or relative positions and the mobile robots do not perform localization or mapping. Yet, the mobile robot is able to navigate through complex environments effectively. First, we present an algorithm for physical path planning and its implementation on the Gnats, a novel embedded network platform. Next, we investigate the quality of the computed paths. We present quantitative results collected from a real-world embedded network of 60 nodes. Experimentally, we find that, on average, the path computed by the network is only 24% longer than the optimal path. Finally, we show that the paths computed by the network are useful for a simple mobile robot. Results from a network of 156 nodes in a static environment and a network of 60 nodes in a dynamic environment are presented.


international conference on robotics and automation | 2005

Physical Path Planning Using the GNATs

Keith J. O'Hara; Victor Bigio; Eric R. Dodson; Arya Irani; Daniel Walker; Tucker R. Balch

We continue our investigation into the application of pervasive, embedded networks to support multi-robot tasks. In this work we use a new a hardware platform, the GNATs, to aid in path planning. We have implemented a physical path planning algorithm on the GNATs previously studied in simulation. A distributed version of the wavefront path planning algorithm is used to propagate paths throughout the network, thereby planning a path in the real world. This creates a graph of traversable paths that are nearly optimal in a dynamic environment.


international conference on robotics and automation | 2006

Evaluation of a large scale pervasive embedded network for robot path planning

Keith J. O'Hara; Victor Bigio; Shaun Whitt; Daniel Walker; Tucker R. Balch

We investigate a technique that uses an embedded network deployed pervasively throughout an environment to aid robots in navigation. First, we show that the path computed by the network is useful for a simple mobile robot. The robot uses a network of 156 nodes to navigate through a complex, dynamic, environment. This is the largest embedded network used for navigation we are aware of. In our approach, the network nodes do not need to know their absolute or relative positions and the mobile robots do not build any kind of map. Second, the impact of specific network deployments on path quality is examined. Two types of arrangements, hexagonal and rectangular, in two different environments are considered. We present quantitative results collected from a real-world embedded network of 60 nodes. Experimentally, we find that on average, the path computed by the network is only 24% longer than the optimal path. Also, we find a slight advantage for the hexagonal arrangement


technical symposium on computer science education | 2012

Calico: a multi-programming-language, multi-context framework designed for computer science education

Douglas S. Blank; Jennifer S. Kay; James B. Marshall; Keith J. O'Hara; Mark Russo

The Calico project is a multi-language, multi-context programming framework and learning environment for computing education. This environment is designed to support several interoperable programming languages (including Python, Scheme, and a visual programming language), a variety of pedagogical contexts (including scientific visualization, robotics, and art), and an assortment of physical devices (including different educational robotics platforms and a variety of physical sensors). In addition, the environment is designed to support collaboration and modern, interactive learning. In this paper we describe the Calico project, its design and goals, our prototype system, and its current use.


Lecture Notes in Computer Science | 2006

Spirits : using virtualization and pervasiveness to manage mobile robot software systems

Himanshu Raj; Balasubramanian Seshasayee; Keith J. O'Hara; Ripal Nathuji; Karsten Schwan; Tucker R. Balch

Management capabilities comprise a key component of any autonomous distributed system. In this work our focus is on mobile systems like teams of robots exploring and operating in some physical environment. Here, basic management goals are to adapt application behavior to prevent or mitigate reductions in the applications quality of service. This paper presents the spirits system-level mechanisms supporting (1) behavior persistence – the ability to maintain some desirable behavior learned through online adaptation – and (2) behavior propagation – the ability to propagate a learned behavior across different physical components. With spirits, software management is enriched with a low-level mechanism, termed a spirit cache, which permits a mobile entity to cache its current state and code to realize behavior persistence. Next, a cached spirit can be acquired by a different physical component and then used, thereby propagating it. By using system-level virtualization techniques to realize spirit caching and propagation, both can be performed without the need to make any changes to application code, without requiring middleware-level support, and without changes to operating system kernels or utilities. Furthermore, any number of spirits can exist in a robot with system-level isolation guarantees. Experimental results presented in this paper highlight the types of overheads for spirit exchanges experienced on typical next generation virtualizable embedded machines, and indicate optimizations to be considered in future research.


the florida ai research society | 2015

Computational Notebooks for AI Education

Keith J. O'Hara; Douglas S. Blank; James B. Marshall

Computational notebooks are documents that serve dual purposes: they serve as an archive format containing code, text, images and equations; but they can also be run like computer programs. This paper explores the use of these new computational notebooks to teach AI and introduces tools that we have developed — ICalico and Calysto — to facilitate that use. Not only do these new tools broaden the languages and contexts available to students exploring notebook-based AI computing, but they offer a new mode of teaching and learning for the AI classroom.


integrating technology into computer science education | 2017

Linking Language & Thinking with Code: Computing within a Writing-Intensive Introduction to the Liberal Arts

Keith J. O'Hara; Kathleen Burke; Diana Ruggiero; Sven Anderson

This paper describes the design, implementation and preliminary evaluation of a computing component for a three-week writing-intensive introductory program at a liberal arts college. Specific curricular recommendations are presented that could have a direct, positive impact if adopted in similar courses. A two-pronged approach involving a faculty-led HTML workshop, along with student-led contextualized coding studios, was employed. Computing Unplugged activities were used, including a novel Page Rank Unplugged networking activity. An analysis of attitude surveys shows the program positively changed students attitudes about enjoyment solving CS problems, but potentially reinforced the misconception that CS is just learning programming languages.

Collaboration


Dive into the Keith J. O'Hara's collaboration.

Top Co-Authors

Avatar

Tucker R. Balch

Georgia Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Daniel Walker

Georgia Institute of Technology

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Karsten Schwan

Georgia Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Ripal Nathuji

Georgia Institute of Technology

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Himanshu Raj

Georgia Institute of Technology

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Jay W. Summet

Georgia Institute of Technology

View shared research outputs
Researchain Logo
Decentralizing Knowledge