Using an IR Network in a Robotic Competition Class
Total Page:16
File Type:pdf, Size:1020Kb
Session T2F Using an IR Network in a Robotic Competition Class John T. Tester and Jerry Hatfield College of Engineering and Natural Sciences, Northern Arizona University Flagstaff, AZ [email protected], [email protected] Abstract - The interdisciplinary sophomore design course – communication design and active interaction during the EGR 286 – utilizes design teams as part of an engineering project demonstrations: design learning process. This course constrains a robotic project to using only LEGO® devices and the Robotic • Students understand the process of technical design. Command eXplorer (RCX). The instructors have • Students know how to develop complex system designs observed that students greatly improve their interest in the through experience. design process if a main component is robotic competition • Students understand how to work together in teams. events. Therefore, we have developed an infra-red (IR) • Students actively engage throughout the design network which enables inter-robot communications experience. independent of position and orientation and allows the student teams to partially control the robots during multi- Some characteristics of the course included: team competitions. A “satellite” RCX is established over the demonstration arena; its purpose is to receive and send • Exclusive use of Legos parts for robot construction signals from the competing teams’ RCX systems and • Use of the Legos RCX control unit control network synchronization. The controlling software • Use of both RoboLab© [1] and NQC© [2] as the was developed using the public domain programming programming environment. language, “NQC©.” We present the advantages and • Team sizes limitations of this network environment, in the context of o 2–3 students per team in weeks 1–7 one design competition, entitled “capture the flag.” o 9–12 per team in weeks 8–15. Use of competitive, team-against-team projects wherever Index Terms – Design Education, Engineering Education, • possible. Robotics, Legos, IR Network, NQC. INTRODUCTION Legos are used in the course for a very simple reason: These literal building blocks allow for physical prototyping This paper documents the development of an innovative, without the student needing to have great mechanical skills. Infra-red (IR) communications network which supports Another equally important reason: The educational institution competitive projects using Legos-based robots. These types of does not need extensive manufacturing facilities dedicated to projects are prominent in the sophomore engineering design constructing classroom prototypes if Legos are the primary course at Northern Arizona University. The sophomore mechanical prototyping media. Use of the RCX allows a engineering design course is part of the “Design4Practice,” or compact, portable control unit to be used directly on small “D4P,” curriculum. D4P is a series of innovative robotic devices. undergraduate engineering classes which involve active Using Legos for physical prototyping is very prominent in learning laboratories for the students in each of their freshman, undergraduate engineering education. [3, 4, 5, 6]. The use of sophomore, junior and senior years. This program received Legos allows for a design process to culminate in a physical the 1999 Boeing Outstanding Educator Award in recognition product for even the earliest of undergraduate classes. Many of its quality and effectiveness in providing a well-rounded freshman engineering courses use Legos in this manner. [7, 8] engineering design education. The courses are team-taught However, Legos are not considered by many to be simply by faculty and local engineering practitioners who are “toys;” they can be used at higher levels with the use of a experienced in engineering design. robotic control unit, the Mindstorms® RCX. [9, 10, 11] Yet The ‘flagship’ D4P course may be considered the the RCX has the drawback of not allowing for (easy) network sophomore design course, EGR 286. In this course, students communication and control amongst multiple RCX modules participate in robotics-styled team projects over the entire on the same playing field. This paper documents our efforts to semester. The use of an extended team project is considered develop that control environment. by the faculty to be a primary means by which to immerse the students in an early, engineering practice-oriented design COURSE STRUCTURE process. The IR network was developed to accommodate the EGR 286 The following are learning outcomes for the course. The course structure. Towards the last five to seven weeks of the IR network supports these outcomes for the purpose of semester, this course requires teams of 9 to 12 students to 1-4244-0257-3/06/$20.00 © 2006 IEEE October 28 – 31, 2006, San Diego, CA 36th ASEE/IEEE Frontiers in Education Conference T2F-11 Session T2F work together to design a robotic system. The systems are University. Currently, Bricx is maintained and is freely demonstrated at the end of the semester in a scenario which is available on the internet [15]. as interactive and dynamic as possible. The instructors have observed that the students become CAPTURE THE FLAG REQUIREMENTS more actively engaged in this design process if the final The team project, “Capture the Flag,” requires that each team demonstration involves a competition between the teams. build two, semi-autonomous robots. These robots will be Also, if the students have some ability to interact with their arrayed against two other teams’ pairs of robots on an arena as robots, the students’ design process will involve them more schematically shown in Figure 1. Black electrician’s tape is deeply in the operational design of the systems. Though all of laid down onto “white board” material (identical to dry- our final project scenarios involve the interaction aspect, to marker wallboard). This high-contrast environment aids date only one has involved a direct competition aspect as well. robots to follow these lines with photosensors. Gold lines are This project is a version of the game, “Capture the Flag.” also placed on the board for line-following activities; the gold In order to accomplish these interactive, multi-robotic consists of shiny gold ribbon, attached via clear packaging demonstrations, the authors developed an IR network based tape. The “flag” can be any vertical contrivance; preferred is upon the RCX IR communications system. It was desired to an arrangement shown in Figure 2, where the flag is pulled out have both autonomous robotic behavior as well as direct of its holder by a robot. student interaction with the robots. Therefore, a communications protocol was necessary for communication between RCX units. Our IR network was developed to accommodate all the different final project demonstrations, but the Capture the Flag project will be used as an illustration of the innovative IR network. RCX CAPABILITIES The Legos RCX programmable module uses the Hitachi H8/3292 microcontroller. It has three sensor ports utilizing analog to digital converters. Three actuator ports are also available, utilizing digital to analog converters. An infrared (IR) device allows bi-directonal communication with other RCX units or an IR “tower” (a PC IR interface). The IR tower is connected via either a DB9 RS232 port to the PC or (more recently) a USB port. The RCX is accessed physically through four buttons on its front panel; among their functions are power on/off, program run, and a program scroll. The last allows the operator to select up to five different, downloaded programs. A five-segment LCD display allows numbers to be illustrated FIGURE 1 as part of a program function. SCHEMATIC LAYOUT OF DEMONSTRATION ARENA (DIMENSIONS IN INCHES). PUBLIC DOMAIN “NQC” LANGUAGE The authors have used two programming languages in the class: Robolab and “NQC.” Robolab was originally developed from Labview; it has the advantage of being visually simple to learn, through icons. [12] However, we have increasingly turned to NQC for the more complex projects. This paper will address using NQC as the program for the IR network. NQC was developed by Dave Baum in the late 1990’s; it has the format and feel of the C programming language, but incorporates the necessary adaptations for controlling the RCX inputs and outputs [2]. Though NQC can be used by children, it also has the flexibility to be used for moderately complex FIGURE 2 THE “FLAG:” A LEGO TIRE ON AN AXLE, SUPPORTED IN A SIMPLE HOLDER. laboratory classroom experiments [13, 14]. NQC is open source, yet has some sophisticated support packages. The © The goal of the project is to have the teams defend their integrated development environment “Bricx Command flag inside their circular home ground and also attempt to Center” is used in EGR 286; it is an enhancement of Mark capture at least one opponent’s flag as well. Points are Overmar’s environment originally developed at Utrecht 1-4244-0257-3/06/$20.00 © 2006 IEEE October 28 – 31, 2006, San Diego, CA 36th ASEE/IEEE Frontiers in Education Conference T2F-12 Session T2F awarded and deducted for a team capturing a flag and loosing synchronization signal. All RCX IR transmissions follow a their own flag, respectively. There are many rules to this Time Division Multiplex protocol [19] in which each talker on competition; most of them are not covered here for sake of the network is assigned a specific time slot within each clock brevity. However, in general, all robots are required to stop cycle for transmission. All listeners on the network hear all upon the issuance of a “STOP” command from the instructor’s messages but respond only to those addressed to them; address RCX IR emitter. Similarly, the robots are allowed to begin information is combined with the message data. Error action upon reception of an IR “START” command. Lastly: detection is provided by the standard RCX IR message packet The students can have their robots perform custom behaviors structure [20]. by sending their own commands through RCX “Controllers.” Each “Robot” has assigned one dedicated RCX Controller The network implementation has the following basic from which it receives commands.