ShowNAO – A SURF Project (corrected)

Mentor:

Associate Professor A. Frank Ackermann

Computer Science Department

Consultant:

Associate Professor Michele Van Dyne

Computer Science Department

May 14, 2014

Introduction

The major problem facing the Montana Tech Computer Science Department is that here-to-for we have not been able to attract as many students as we are staffed to educate. Two of the things we have done to address this problem is that we have added game development and robotics to our courses and our opportunities for undergraduate research. In 2012 we purchased a small humanoid robot, NAO. One undergraduate immediately did a research project (and published a paper) on our NAO robot, and our newest faculty member, Dr. Keith Vertanen, used NAO with out-of-the-box programs in high school recruiting presentations; but as yet we had not had an opportunity to really make NAO earn its purchase price.

When the undergraduate listed below approached the author of this proposal looking for research projects, the author jumped at the chance to not only provide her with a significant research experience, but as a by-product to provide our department’s NAO robot with capabilities that will enhance our on-site recruiting capabilities. The goal of the research project described below is to accomplish both these objectives.

The research undertaken on this project will address both virtual robots in virtual worlds and their real hardware counterparts in the real world. While this is not a new approach to researching robot capabilities, it is relatively unexplored. It appears to be difficult to create virtual robots in virtual worlds that are sufficiently accurate representations of real robots in real worlds (however limited those worlds may be). The reasons for this difficulty will be one of the areas explored in this research.

Participants

Mentor:

A. Frank Ackermann (see bio sketch below)

Associate Professor of Computer Science and Software Engineering

Student Researcher:

Erin M. Wiles

Electrical Engineering student (see bio sketch below)

About the Initial Stages of Undergraduate Robotic Research

Ideally research in robotics would begin by studying published papers, acquiring the computer code that underlay the publish results, and then addressing robotic data acquisition, data processing, and robotic control that went beyond the previously published accomplishments. To the extent possible the researcher under Associate Professor Ackerman’s mentorship will attempt to follow this paradigm. However, the mentor will not be surprised if we find that published material will not be all that helpful (except in special cases such as robotic vision). There are several reason for his pessimism:

1)  A large number of research robots, both virtual and real have been created, however, the data acquisition, processing, and motor control in each one them is different enough that it is difficult to describe general algorithms that can be used in many different situations.

2)  Most published papers in robotics do not provide enough detail to permit the novice researcher to start from scratch and duplicate previous results. One reason this is so is that many publications have page limitations that prohibit this level of detail. In our work we will overcome this limitation by publishing details on our department web site.

3)  In our case the difficulty reported in (1) above should be alleviated since we will be using one of the more widely used robots for novice academic robotic research. Hopefully we will be able to find code on the Web that will at least partially satisfy our needs, although in some cases it can be as difficult to use poorly documented code as to build a program from scratch.

4)  As with all projects involving the creation of working computer programs, we will begin by creating the simplest program that will give NAO basic behaviors which we can incrementally extend to achieve a coordinated set of behaviors that will result in useful robotic recruiting behaviors. We are fortunate in that the Choregraphe NOA visual programming application that comes with every NAO robot contains code for a number of basic behaviors such as sitting and standing up, walking straight ahead, etc.

Project Goals

A. Mentor goals

1.  to create a suite of robot behaviors that can be used to capture the attention of the constant stream of potential student visitors who are shown our main computer science lab,

2.  to provide a captivating and educational follow-on robotic research experience for my SURF researcher,

3.  to encourage my SURF researcher to publish a paper on her research results, and

4.  to document all of our robot procedures on my CS Department sub-website in sufficient detail for other undergraduate robotic researchers to be able to duplicate our results in their own environments.

B. Student Researcher Goals:

1.  to acquire (or link to) and summarize all previous relevant work that is currently in the public domain,

2.  to become not only a competent Python (NAO’s native language) programmer but to be able to create well-structured, and well-documented Python NAO data acquisition, data processing, and robotic control programs,

3.  to become competent in using Webots EDU to create virtual environments that are analogues of the real environments in which our real NAO will operate, and also to create Python programs for a virtual NAO whose behavior in the virtual Webots environment will mimic the real NAO in our target real environment,

4.  to investigate, and explain any differences in the behavior of my virtual NAO and the behavior of my real NAO,

5.  to document all the steps necessary to repeat my results for other novice NAO researchers in their own environments,

6.  to provide my mentor with a suite of robotic behaviors that will enhance the Tech Computer Science Department’s recruiting efforts,

7.  to present a conference paper on the results obtained in this project,

8.  to become familiar with effective robotic research efforts, and

9.  to have fun learning the basics of robot research using a NAO robot.

Project Management

Project ShowNAO will begin with an initial nine week plan for accomplishing the goals described above. However, since we will be exploring unknown territory, we expect that we will need to make adjustments to this plan as we proceed.

The mentor and the student will meet once or twice a week to discuss current status, the next objectives, and to update the current plan. In addition the student researcher and the mentor may speak on the phone or exchange email messages whenever it will be useful to do so.

The student researcher will always be working on a few tasks that have been jointly defined and discussed with the mentor. All tasks will be scoped to be completed in a few weeks.As each task completes the student researcher will complete a report on what was accomplished on that task and exactly how it was accomplished. The mentor used this same management approach on the 2013 RAMP project in which the student researcher played a major role.

Project ShowNAO will use www.dropbox.com as its repository for all project work products. The student researcher will maintain a detailed log in dropbox.com that will show all effort expended on this project with a brief description of each log entry.

Mentor Bio Sketch

Associate Professor Ackerman has more than 50 years of experience in all phases of software development. In 1985 he founded the Institute For Zero Defect Software to do applied research, consulting, and training for software development organizations seeking to improve the quality of their software. Since 2002 Associate Professor Ackerman has been teaching undergraduates

computer science and software engineering; first at Ferrum College in SE Virginia, and since 2006 at Montana Tech.

For the last several years Prof. Ackermann has concentrated on developing materials that are suitable for providing undergraduates with hands-on experiences in software engineering. (http://cs.mtech.edu/main/index.php?option=com_content&view=article&id=73 ). This work was recently documented in (1) an abstract submitted to the American Society for Engineering Education 2014 conference, (2) a paper submitted to the Conference on Software Engineering Education & Training (CSEE&T) 2014, a CSEE&T 2014 abstract: “An Active Learning Module for an Introduction to Software Engineering Course”, and an invited special presentation at the CSEE&T Academy for Software Engineering and Education & Training at Klagenfurt, Austria. Not only does this work provide novice software engineering students with a series of meaningful active learning exercises, but Prof. Ackerman believes it could be used as the basis for a professionally recognized standard for the development of small software modules, especially those requiring ultra high reliability.

Previous Projects & Papers

·  A committee report to the Montana Office of Public Instruction to update certification criteria for Montana secondary school computer science teachers. (Spring, 2014)

·  A presentation, “Computer Science Fun and Games For $4,000” at Butte High (Spring, 2014) to drum up candidates for the new Tech Computer Science Department CodeMontana scholarship.

·  A presentation ,“Local Resources for Learning/Teaching CS for Pre-College Teachers”, at the Museum of the Rockies for a Montana teachers meeting (Fall, 2013).

·  Ackerman, A. F., Acharya, S., "Software Engineering Education Needs More Engineering," draft accepted pending changes for the 2012 American Society for Engineering Education Annual Conference.

·  Silverman, R., Ackerman, A. F., Chesley, H., "Ecommerce Systems Design Course Using Java Servlets," Journal of Computing Sciences in Colleges, vol 23, no 1, October, 2007

·  Silverman, R., Ackerman, A. F., Chesley, H., "A New Simulator and IDE for Teaching CS220: Computer Architecture," Journal of Computing Sciences in Colleges, vol 22, no 4, April, 2007

·  Ackerman A. Frank., "Software Inspections and Walkthroughs," in Software Engineering Volume 2: The Supporting Process Merlin Dorfman and Richard Thayer (ed), IEEE Computer Society, 2005

Mentor Work with Undergraduates

Prof. Ackerman has been teaching Software Maintenance and Software Engineering Senior Design project courses since he came to Tech in 2006. Both of these courses involve directing the work of undergraduates in building and maintaining software. Also, he directed the work of two undergrads in an independent studies course that resulted in a prototype application for oil field management system. In 2007 Prof. Ackerman mentored a URP project (An Investigation Into the Efficacy of Computer Games as Learning Tools) that explored the use a role-playing game in enhancing the delivery of instruction in computer data structures. This effort lead to a senior design project that developed about two hours of game play that illustrated the application of three advanced computer science algorithms within the context of a role-playing adventure game.

Budget

Item / Amount
Mentor stipend / $1,000
Student researcher – 400 hours / $4,000
Purchase publications and possible NAO accessories (est.) / $200
Total / $5,200*


*the NAO robot was purchased with department funds in 2012, the Webots EDU virtual robotic programming environment was purchased in 2013 with RAMP funds.

Student Researcher Bio Sketch

Erin Wiles is an undergraduate student at Montana Tech, She plans to pursue a Master's degree in Electrical Engineering. Her interest in electronics began as a young girl, when her dad gave her an electronics kit to build speakers, blinking lights and a rotating wheel. At Montana Tech, she has gained additional skills and interest in computer programming and robotics. Last spring, as part of a RAMP grant she successfully completed a simulation of an autonomous obstacle course robot and presented her work at the Montana Techxpo 2013. Her work with the virtual robot helped the RAMP team successfully program a real robot for their Techxpo demonstration. From her research experience, she learned how to program a virtual robot in virtual reality. Once she graduates, she hopes to work as an Electrical Engineer in the electronics industry.

page 6 of 6