robocup soccer ssl - wordpress.com...robocup soccer ssl ... other, i.e. the zigbee wireless...
TRANSCRIPT
STEVENS INSTITUTE OF TECHNOLOGY
RoboCup Soccer SSL Platform Design Phase IV Report
“I pledge my honor that I have abided by the Stevens Honor System.” February 4, 2010
Patrick Alfonzo ________________________________________
Andrew Domicolo ________________________________________
Michael Fatovic ________________________________________
Amanda Goldman ________________________________________
Daniel Silva ________________________________________
2
Executive Summary
This Phase IV report for the Stevens Institute of Technology’s Mechanical Engineering
Department Robotic Senior Deign Project initiates the final semester of the RoboCup SSL
Platform Design Project.
With the majority of components purchased, the RoboCup Design Team has focused its
forefront attention in completing all necessary acquisitions to compile one entire robot. Having
completed the first three phases, Phase IV was comprised of fabrication and equipment testing
setup for the Stevens team. The team has started the manufacturing process to create the
necessary pieces to construct a robot while adhering to the RoboCup Competition Rules and
Regulations. Phase IV was a continuation of the prototyping process that was planned for from
Phases I, II, and III. The Stevens design team has started the process of constructing a practice
field which will be continually used during the visualization testing portion of the upcoming
phases. Other tests that have been prepared and setup by the team have been electronic feedback
control, motion control, and most importantly strategy execution.
The Steven RoboCup Design Team has utilized Phase IV to continue in the prototyping
of the initial robot systems and subassemblies, all the while complying with the rules and
regulations set forth by the RoboCup Regulatory Committee.
3
Table of Contents
Executive Summary ……………………………………………………………………………. 2
Introduction …………………………………………………………………………….………. 4
Project Objectives ……………………………………………………………………………… 5
Plan of Action ………………………………………………………………………………...… 5
Testing Strategy
Preliminary Testing …………………………………………………………………...…. 7
Vision Recognition ……………………………………………………………………… 7
Wireless Communication ………………………………………………………….……. 7
Solenoid …………………………………………………………………………………. 8
Drive Motors ………………………………………………………………………..…… 8
Preliminary LabVIEW Program ……………………………………………………….…..... 9
Addressed Issues …………………………………………………………………………….... 15
Conclusion ……………………………………………………………………………………. 16
Gantt Chart ………………………………………………………………………… Appendix A
Nugget Chart ……………………………………………………………………….. Appendix B
Parts List …………………………………………………………………………… Appendix C
4
Introduction
The Stevens RoboCup Design Team has been diligently working and planning over the
Winter Break for the remainder of the Senior Design semester. The team concentrated its efforts
on the end results from Phases I, II and III to establish significant and relevant tests that would
propel the team’s progress forward.
By the end of previous semester, the team had taken great strides to put itself ahead of
the various other design groups. The group initially relied on research and development to
analyze the Official RoboCup Competition Rules and Regulations and select a set of components
to construct the robots from. The Stevens team then conducted several technical analyses which
helped foster an understanding of the more complex features of the project as a whole. The team
then proceeded to solidify its design plans of the parts of the robots which were to be fabricated.
The engineers also purchased, ordered, and received all necessary components to complete one
fully operational robotic soccer player. The most current and up-to-date listing of all of the
team’s parts can be seen attached in Appendix C.
The Stevens RoboCup Design Team used Phase IV to prepare for the arduous tasks that
lay ahead. As with any mechanical process that involves the usage of many different
components it is absolutely vital that all parts are compatible with one another. The team has the
necessary duty to ensure that each of its purchased materials can work in junction with each
other, i.e. the ZigBee Wireless Communication chip will be able to relay information to the PIC
motor control boards which will then simultaneously operate the drive motors and the solenoid in
the correct fashion as determined by the Prosilica Camera and the main computer. To test that
these compatibilities do exist, the team has planned for a series of subsystem tests to prove its
original component selection was not in vain.
Although the testing process will be the majority of the team’s focus for the next several
weeks, there are some simultaneous tasks that will need to be addressed and accomplished. The
team will need to setup a practice field which is to scale and similar to the actual playing field
the team plans to compete on later in the semester. This field will be used in the testing process
for vision recognition to guarantee the globalization camera can see each and every robot at
5
every position on the field. Another assignment that will need to be completed by the team will
be the programming of the soccer team’s strategy into LabVIEW.
Project Objectives
The Stevens RoboCup Design Team has many objectives which need to be completed
this semester for its project to be successful. The group’s primary objectives are to finish the
construction of the first robot and the various subsystem tests which have been development for
this project. Once the testing of each of the robot’s component systems is complete and the robot
can effectively connect and communicate wirelessly to the host computer the team can
concentrate on writing and debugging the rest of the LabVIEW code. Whilst these actions are
occurring the team will be constructing a test playing field. This field will be constructed in
Room 301 of the Edwin A. Stevens Building. The field will be constructed from green felt and
white tape to the exact dimensions provided by the Official RoboCup Competition Rules and
Regulations. The final objective of the Stevens team will be the construction of the 4 remaining
robots, their implementation into the final program, and to compete in an intercollegiate
RoboCup Soccer match.
Plan of Action
As it was previously shown in the Stevens RoboCup Design Team’s Phase I Proposal
Report, the team established a process flowchart which graphically represented its plan of action
for the duration of the entire project. This helped categorize at which stages the team needed to
accomplish specific tasks. In the updated version of this flowchart the areas that are in red are
jobs that have already been successfully completed and areas in black are procedures that are
currently in process or are due to be soon. Made evident by the chart on the following page, the
team is in the transient stage between the Preliminary Period and the Hardware/Software Testing
Phases. Specific details about the Stevens RoboCup Design Team’s plan of action can be seen in
the group’s Gantt Chart which has been included in Appendix A.
6
Planning
•Material and Concept Selection•Hardware Selection•Prelimary Design Specifications•Rules and Regulations•Budgeting
Designing
•Chassis•Programming Framework•Visual Network•Game-play Strategy
Preliminary
•Partial Material Purchase•Visualization Purchase•Partial Fabrication•Practice Field Creation and Set-up
Hardware Testing
•Vision Recognition•Wireless Communications•Solenoid Valves•Drive Motors•Overall Hardware/Software Compatibility
Software Testing
•Run Subroutines•Run Program Framework•Debug Any Complications and Errors
Team Fabrication
•Assemble Remaining Team Members•Create Alternate Robot for Substitution (tba)
Final Software Test
•Team Communication•Team Compatibility •Program Execution•Strategy Completion
Final Presentations
•Oral and Powerpoint Presented to Panel•Technical Poster•Technical Website•Final Technical Documentation
7
Testing Strategy
Throughout Phase IV the Stevens RoboCup Design Team has established and prepared
several different calibration and compatibility tests which will be used to ensure the proper
operation of the robotic soccer players in junction with each of their component subsystems.
Preliminary Subsystem Testing
As part of the proto typing process, the team will conduct a series of tests on each system
of the robot. By testing each subsystem prior to assembly of the entire system, the team will
ensure compatibility between all components. Taking such measures will also allow for
preliminary debugging of system components and seamless integration of each subsystem into
the prototype robot. These subsystems include, but are not limited to the vision recognition unit,
solenoid unit, wireless communications units, and drive motors.
Vision Recognition Unit
The team has already initiated preliminary testing using the Prosilica EC 750C camera.
The camera has been successfully calibrated and data transfer has been achieved through the use
of LabVIEW’s image recognition software. Through preliminary testing, the team has been able
to collect visual data and test core concepts that will be used in the logical programming of each
robot. It has been determined that the camera is able to collect images which are processed in
LabVIEW. LabVIEW is able to identify colors, patterns, shapes, and relative positioning of
trained images and objects. Testing confirmed these capabilities, which will be essential to the
functionality of each robot during game play.
Wireless Communication Unit
One of the most vital subsystems of each robot will be the wireless communications unit.
The team will be using the XBee wireless communications unit, which follows a serial
communications protocol. These units have been purchased and received. Preliminary testing
will included compatibility and integration testing with LabVIEW. The wireless communication
unit will first be connected to the central data processing computer, followed by integration with
the PIC board, similar to the one used in E-120. These PIC board included several diagnostic
capabilities, including LED lights that will be used to test wireless signal transmission and
8
reception. Testing will also be done on wireless signal ranges and possibly sources of
interference will be noted. This will ensure that all commands (motion, position, and game play
control) will be reliably sent and received to and from each individual robot during the match.
Solenoid Unit
The solenoid unit will be used as the “foot and leg” of each robotic soccer player. The
Solenoid City S-20-100-H Electric Solenoid will be used to “kick” the ball, allowing each robot
to shoot, pass, and defend during game play. The team has ordered and received these solenoids.
In order to properly utilize the solenoid, preliminary testing must be completed. Each solenoid
will be tested using an external, adjustable power supply. Different voltages will be supplied to
the solenoid within the operable ranges designated by the manufacturer. The “kicking force”
will be measured and compared to the manufacturer’s specifications to create voltage to force
relations. This can then be applied to the team’s programming logic in order to shoot the ball at
desired speeds.
Drive Motors
The team will use two different models of DC motors for each robot. Each robot will use
one 7.2 VDC LynxMotion Gear Head Motor for the ball dribbling mechanism and three
LynxMotion GHM01 DC Motors for motion control. Testing for these subsystems will be
similar to the solenoid unit. Each motor will be connected to a variable power supply and testing
within the voltage range supplied by the manufacturer. Voltage supplied can be correlated to the
speed of each motor. These correlations will allow the team to adjust its programming logic as
necessary to provide the most precise motion control possible. Testing of the drive motors is
critical to proper motion control because each robot will be using a three omniwheel drive
system (discussed in Phase III report). This type of system is based on the idea that directional
control can be achieved by adjusting the power and speed ratios between each drive motor. By
doing so, the robot will be able to move and change direction quickly and precisely.
Once all the subsystems have been tested, a prototype unit can be constructed. This unit
will be mainly used to create and develop the team’s logical control program. This prototype
unit will also allow us to identify and debug any hardware issues before an entire team of robots
is constructed.
9
Preliminary LabVIEW Program
LabVIEW has been selected as the programming platform which the Stevens Design
Team will utilize to create a streamlined and concise program. The main advantage of having an
organized and structured code is that once in the debugging stages, errors will be much easier to
identify. LabVIEW makes this possible with a stacked sequence structure. When all the code in
the first portion of the structure is completed, it will execute the second portion of the structure,
and so forth. This is very convenient, as it makes it very easy to separate different sections of the
code.
Figure 1: Sample of the Stevens RoboCup Design Team's Preliminary LabVIEW Program
Figure 1 shows the first portion of the code, where the template images of the ball and robots
will be accessed. These images are used as the reference images that LabVIEW will use to
search for the ball and robots throughout the entire match. In addition, the camera will be
initialized as well.
10
Figure 2: Sample of the Stevens RoboCup Design Team's Preliminary LabVIEW Program
Figure 2 is the main portion of the code in which the program will learn the template images that
will be used to determine whether or not a ball or robot is seen. The learning mode that will be
used is rotation invariant. Choosing rotation invariant is crucial as it will enable LabVIEW to
track the robots regardless of what angle the robots are turned and it will also relay back the
angle of rotation of the robots to the host computer.
11
Figure 3: Sample of the Stevens RoboCup Design Team's Preliminary LabVIEW Program
The next section of the code, shown in Figure 3, compares the image taken by the camera to the
reference images in order to determine if there are any matches. If there are matches it will then
relay all of the calculated data, such as X and Y position and angle, to the next case structure. In
addition to this, the case structure will enter a while loop that will continuously track the robots
and ball.
12
Figure 4: Sample of the Stevens RoboCup Design Team's Preliminary LabVIEW Program
This selection of the team’s code, shown in Figure 4, is the heart and soul of the program. This
is where all the data will be separated and sent to each individual robot. The array of data from
the previous portion of code is broken down into specific queries, such as the X and Y position
and angle of robots. Once this data has been extracted from the array it will be sent to a
subroutine that will handle the rest of the calculations and send that output to the robots.
13
Figure 5: Sample of the Stevens RoboCup Design Team's Preliminary LabVIEW Program
After the commands have been sent to the robots the program will shift over to the case structure
that is presented in Figure 5. This section will grab a new image from the camera in order to
determine the new position of the robots and ball in relation to the field. After this structure is
complete, it will loop back into the original portion which compares this image to the trained
reference images. The program will continue to execute this code unless the stop button is
pressed on the LabVIEW front panel. When the stop button is pressed the code will enter the
case structure that is shown in Figure 6. This structure simply closes communication with the
camera and reports errors if any occur. Communication with the camera needs to be closed in
order to establish a connection to the camera again without resetting the camera.
14
Figure 6: Sample of the Stevens RoboCup Design Team's Preliminary LabVIEW Program
15
Addressed Issues
Following the team’s Phase III presentation, several areas of concern were expressed by
the panel. These issues were considered and addressed as thoroughly as possible before
prototyping began.
Robot motion control simulation and animation
In response to these concerns, the team referenced research in similar motion control
issues and simulation completed as part of the Spring 2009 ME-598 Intro to Robotics course.
This course presented several issues in basic robot motion and directional control systems. The
team has worked together previously and much of the motion control simulations created during
Intro to Robotics can be applied to the RoboCup Senior Design project. The team was able to
reference and revisit logical programming developed in ME-598, as well as video footage of an
autonomous robot which was developed using this programming.
Robot-robot interaction and maneuvers were not addressed in the design or explained
Basic robot interaction, maneuvering, and game play strategy were addressed in the
teams Phase I and II presentations. This includes, but is not limited to, preliminary programming
logic and flowcharting. Please reference these reports for further information.
The camera being used by the team may need a wide angle lens
The team has considered the need for a wide angle lens in order to provide visual data
collection from the entire field of play. It is recognized that the lens provided with the camera is
not capable of this. However, for preliminary testing and programming development, the
provided lens is adequate. Once testing and development is complete, the team will investigate
the feasibility of purchasing a new lens which is capable of capturing data at wider angles.
16
Conclusion
The Stevens RoboCup Design Team has taken all of its material researched, developed,
analyzed, purchased, and fabricated from Phases I, II, and III to continue in its efforts to
complete an entire autonomous robotic soccer team. The group has utilized Phase IV to plan for
the remainder of the engineers’ time accordingly with the tasks at hand.
Through the various subsystem tests that have been established and designed, the design
team will have an accurate compatibility process completed. Through the testing of the vision
recognition unit, wireless communications unit, solenoid units, and drive motors the engineers
can ensure precise and reliable information and motion control being transmitted and received.
This assurance is absolutely necessary for the Stevens RoboCup Design Team’s team to work
cohesively during an actual match.
Lastly, the preliminary LabVIEW programming structure has been initiated. This
process, although there are many loops and subsections, can be very systematic and thus
streamlined. If the Stevens team can keep its program organized and logical, once the debugging
stage commences it will be easy to address issues that arise.
The Stevens RoboCup Design Team has a very high expectation for this project.
Looking at the caliber of work already completed, it is very probable that the team has nothing
but success in its future.
17
18
19
20
21
22
Part Description Part Name Order Status Drive Motors Gear Head Motor - 12VDC, 200RPM Arrived
Wheels 4cm Omni Wheel Arrived Dribbler Motor GWS RS-777 Brushed DC Motor - 7.2V, 16000RPM Arrived
Solenoid SOTUH025051 Tubular, Push Type Solenoid Arrived ZigBee Module XB24-AW1-001-ND ZigBee Module Arrived
Light Sensor VT43N1 LDR Photocell Resistor Arrived Battery Pack 12V, 2000mAh NiMH Battery Pack Arrived
Battery Charger Universal Charger for NiMH Battery Pack Arrived Global Camera Prosilica GC750C Camera 752x480 Resolution Arrived
PIC Board Design 1 PIC Board Obtained Golf Balls Orange Golf Balls Pending
Playing Field Felt Green Felt Pending Chassis Robot Acrylic Chassis Manufactured