Project: Task: Construct A Robot That Can Decrease in Size To Fit Through A Tunnel, Widen To Go Over A
Project: Task: Construct A Robot That Can Decrease in Size To Fit Through A Tunnel, Widen To Go Over A
REQUIREMENTS DOCUMENT
Project: Metamorphobot
Task: Construct a robot that can decrease in size to fit through a tunnel, widen to go over a
bridge, identify coloured blocks while in a specified search area.
Edit History:
1
Requirements Document Team 18
2.0 Capabilities 3
2.1 Purpose 3
2.2 Scope 4
2.3 Constraints 4
2.6 Performance 6
3.0 Compatibility 6
2
Requirements Document Team 18
2.0 Capabilities
2.1 Purpose
The purpose of this project is to design an autonomous robot with the ability to modify its
size in order to fit through differently sized structures (shrink to go through tunnel, widen to go
on bridge) and to identify coloured blocks in an area that will be determined. The robot is meant
to race an opponent and when it sees the target block, it should get out of the determined area.
During the race, the robot has to cross a “virtual river” by going over a bridge and then
navigate through a tunnel to reach a designated area with coloured blocks where it will have to
locate a target block.
By doing all these tasks, the robot will be acquiring a certain number of points against its
opponent. The robot with the most points earned is designated as the winner. The main goal of
the game is therefore to score as many points as possible.
In performing the overall goals of the game, the robot will need to be able to:
● Localize: the robot should be able to recognize its initial position and heading on the playing
field after performing its programmed localization action inside of any of the corners of the
field.
● Perform Odometry: the robot should be able to update the initial position that was found
through localization and accurately report the changes in heading in position, thus
continuing to recognize its heading after movement around the field.
● Perform Navigation: the robot needs to be able to move between known positions on the
playing field to reach landmarks and perform other actions. This task integrates both
Localization and Odometry in order to find the initial position and continue to know the
current position of the robot.
● Avoid Obstacles: the robot must be able to recognize obstacles in its path and should be
able to navigate around those obstacles and still reach its intended destination.
● Pass Through Different Field Structures : the robot must have an embedded mechanism
that allows it to change its shape or wheel-base size in order to go through the tunnel and
cross the bridge. In order to fit through the tunnel, the hardware design must satisfy the
width and height requirements.
● Detect Coloured Blocks : the robot must be able to detect different coloured blocks and
eventually identify the target block.
3
Requirements Document Team 18
● Recognize an Opposing Player: the robot must be able to determine whether an opposing
player is located in front of it and react to the robot’s position if it is.
● Choose Between Coloured Blocks : the robot should be able to detect different frequencies
of light and that is for it to be able to identify the target block.
● Get Out Of The Area with Coloured Blocks : after the robot detects the target block, it should
race its opponent out of the area where it is.
● Receive Wi-Fi Data about the Environment/Field: the robot must be able to receive values
about the environment that are transmitted by a WiFi server (WiFi module connected to
robot) that provides parameters.
2.2 Scope
The robot must operate within a 12’ by 12’ area with the origin in the lower left hand
corner, which contains different structures to tackle while navigating through the playing field.
The device must be able to operate in a variety of ambient lighting conditions, and
localize in a short amount of time. Moreover, it must be able to run autonomously for the full 5
minutes of a round during which the robot should attempt to complete all the tasks.
The robot is supposed to race and compete with an opponent on the field to acquire the
largest number of points by completing the most tasks possible. The robot should also have
very good localization skills and needs to have a very functional wheel-base size-modification
mechanism. An alternative would be having a smaller wheelbase to fit under the tunnel, and be
able to travel over the bridge and relocalize afterwards.
The wheelbase has been changed twice in the span of this project. Refer to section 6.0
of the Hardware Document for more details on the implementation of the old wheel base. Refer
to section 7.0 of the Hardware Document to view the new decision for the final wheelbase.
2.3 Constraints
4
Requirements Document Team 18
The initial game parameters will be sent to the robot through WiFi on the competition day
of April 11th, 2018. The user will only be able to interact with the robot through WiFi, therefore a
WiFi class is created within the software. To see more details of the WiFi class, refer to section
5.1 of the Software Document.
The operating environment is set on a 12’x’12’ hardwood platform with black grid lines
painted on as seen in Figure 1. The platform is composed of 12x12 30.48 cm square tiles. This
wooden platform is also bounded by 30 cm-tall wooden walls on all four sides to allow the robot
to localise with its ultrasonic sensor as well as prevent it from falling off. The competition area
also contains obstacles : opponent, structures, river.
Figure 1: The 12’x12’ wooden playing field with obstacles placed on the grids for the competition
The way the ambient lighting could affect the Light Localization is by being reflected on
the wooden platform into the sensor. Thus, the possibility of a varying light source must be
considered in the implementation of the localization class. The use of absolute light values could
therefore potentially mess with the measurements from the light sensor. One solution to avoid
these false measurements is to rely on a derivative filter.
The EV3 Ultrasonic (US) Sensor is used for localization by measuring distance with US
waves. Any outside noise could affect the measurements of the sensor. One major issue with
that is the fact the multiple teams compete simultaneously, which means that there’s a lot of
undesired external noise inputs during the competition. It is majorly the US Sensors from other
robots sending waves at similar frequencies in the room and on the competition platform (2
robots compete at the same time) which can most definitely affect the performance of the US
sensor.
5
Requirements Document Team 18
The Temperature is not to be taken into account because the effect it has on how
wheels grip to the platform is negligible.
2.6 Performance
3.0 Compatibility
3.1 Component Re-Use
The hardware base was reused throughout labs one to five, but completely restructured
for the final project as shown in the Hardware Document. Although the same components were
reused, and a full list of components is listed in the Systems Document section 3.0.
There was also software that could be reused. The classes such as Navigation,
Odometry, etc. which was done in the first five labs were used for the final project code. The
code was reevaluated and fixed according to the final project, but the basis of the code was the
same. For more information on software reuse, refer to the System Document section 6.0.
6
Requirements Document Team 18
The robot has the be compatible with third party products, such as the ability to execute
the leJOS EV3 code done by the user.
Robot: The main component of the project. An autonomous vehicle composed of parts from the
Lego Mindstorms kit whose operation is programmed and aided by a variety of sensors.
Round: One of the four portions of the game time, five minutes long. the two competing robots
will each start 2 rounds at each of the opposite corners they are located at in the beginning.
Square Tile: A single member of the floor. Shaped like a square with side length of 30.48 cm
and enclosed tithing black grid-lines, together the tiles make up the playing field.
Point: Represents the scoring system of the competition. Points add up for each robot as it
executes more and more tasks.
Structures : Both the bridge and the tunnel on the platform constitute what is called
“structures”.
Virtual River : An area of the platform which is supposedly considered a river that the robot
should not go over.
Coloured Block/Flag : The opponent’s flag is a coloured block the robot is supposed to detect
before going back to his starting position as part of the competition tasks.