The Handbook of Gomer Robot
Prepared by: Pakronics
Mu kesh Soni Mu kesh Son i
Table of Contents Introduction ..................................................................................................................................... 4 Key features / capabilities ........................................................................................................... 4 Programming Tool .......................................................................................................................... 5 Connection / setup guide ............................................................................................................. 5 Overview of the Gomer App........................................................................................................... 7 Library functions ......................................................................................................................... 8 Chapter 01: Basic Movements of Gomer...................................................................................... 12 Australian Curriculum Mapping ............................................................................................... 12 Exercise # 01: Simple movement of the robot .............................................................................. 13 Learning Objective.................................................................................................................... 13 Task List.................................................................................................................................... 13 Part / Component List ............................................................................................................... 13 Procedure .................................................................................................................................. 13 Further Challenge...................................................................................................................... 14 Exercise # 02: Moving the robot in a square path ........................................................................ 15 Learning Objective.................................................................................................................... 15 Task List.................................................................................................................................... 15 Part / Component List ............................................................................................................... 15 Procedure .................................................................................................................................. 16 Further Challenge...................................................................................................................... 17 Exercise # 03: Moving the robot in a square path, of a variable length ....................................... 18 Learning Objective.................................................................................................................... 18 Task List.................................................................................................................................... 18 Part / Component List ............................................................................................................... 18 Procedure .................................................................................................................................. 19 Further Challenge...................................................................................................................... 20 Exercise # 04: Moving the robot in a square path, by making use of a loop ................................ 21 Learning Objective.................................................................................................................... 21 Task List.................................................................................................................................... 21 Part / Component List ............................................................................................................... 21 Procedure .................................................................................................................................. 22 Further Challenge...................................................................................................................... 23
P age |2
Mu kesh Soni Mu kesh Son i
Check Your Understanding: End of Chapter Quiz ....................................................................... 24 Answer Key: ............................................................................................................................. 24 Chapter 02: Understanding Gomer Postures................................................................................. 26 Australian Curriculum Mapping ............................................................................................... 26 Exercise # 05: Pre-defined postures of Gomer ............................................................................. 27 Learning Objective.................................................................................................................... 27 Task List.................................................................................................................................... 27 Part / Component List ............................................................................................................... 27 Procedure .................................................................................................................................. 27 Further Challenge...................................................................................................................... 29 Exercise # 06: Custom posture through arm and wrist movements.............................................. 30 Learning Objective.................................................................................................................... 30 Task List.................................................................................................................................... 30 Part / Component List ............................................................................................................... 30 Procedure .................................................................................................................................. 31 Further Challenge...................................................................................................................... 32 Exercise # 07: Grab a block placed in from of Gomer ................................................................. 33 Learning Objective.................................................................................................................... 33 Task List.................................................................................................................................... 33 Part / Component List ............................................................................................................... 33 Procedure .................................................................................................................................. 33 Further Challenge...................................................................................................................... 35 Check Your Understanding: End of Chapter Quiz ....................................................................... 36 Answer Key: ............................................................................................................................. 36
P age |3
Mu kesh Soni Mu kesh Son i
Introduction Gomer is an educational robot, especially designed to introduce advanced features like artificial intelligence (AI) and computer vision (also known as machine vision) in the classrooms. Gomer, which falls under the category of smart robot, is designed and manufactured by GLI Technology Limited, Shenzhen (China). Gomer provides a hands-on platform for the school students to learn topics in computer visions, pattern recognition and AI, and experience the AI-based reallife product right in the classroom. The programmability evolves in stages, enabling students from different grades to participate in working with Gomer and creating real-life solutions involving computer vision and AI-based automation. This further helps in enhancing their design-thinking and analytical skills, and practicing creativity in the STEM topics.
Key features / capabilities The Gomer robot is equipped with AI and bunch of sensors facilitating: •
Face recognition Based on AI technology, Gomer can recognize not only your face but also can learn to identify your facial expressions. This enables creating a personal autonomous interaction with Gomer – Gomer can recognize you and say hello or play a welcome tune.
•
Pattern recognition Gomer comes with built-in database of few patterns such as alphabets, numbers and blocks. This library of images or pattern database can be further enhanced with custom images and patterns to develop automated solutions.
•
Precise movements and a perfect grip Gomer comes with precise movement of the body and arms for creating a wide range of projects involving pick-and-place activities. An award-winning grip system lets you program the Gomer to pick up wide range of objects from a strawberry, eggs to a solid wooden block or even a soda can.
•
Sketchpad for customizing Gomer expressions Through programming interface, students can create custom expressions (in the form of sketches) for Gomer. This takes the automated interactive programs to the next level.
•
Text-to-speech
P age |4
Mu kesh Soni Mu kesh Son i
Make Gomer speak your language! Programming interface allows you to enter text that can be spoken by Gomer. A fancy solution to customized interaction with Gomer! •
Ease of programming Gomer can be programmed using block-based graphical programming (suitable for primary school students) and Python scripts (an object-oriented, open source programming language for students at advanced stage).
Programming Tool The Gomer requires an app to program it. The app, also known as Gomer, is available for Android or iOS mobile devices. Android (Google play) - https://play.google.com/store/apps/details?id=com.glitech.gomer iOS (Apple iPad/iPhone) - https://itunes.apple.com/us/app/gomer-the-robot/id1281990367?mt=8
Note: Make sure that you provide all the necessary permissions to the app while installing it on your mobile device (phone or tablet).
Connection / setup guide Before you program or interactively control the Gomer, you need to establish connection between Gomer robot and the mobile app. Here are the steps: 1. Ensure the Gomer robot is turned on – You can turn it on by pressing the button on the front. 2. Open the mobile app. It will show you how to connect the robot to the app. There are two ways to connect to the Gomer for programming or controlling it: a. Direction connection over Wi-Fi hotspot offered by Gomer (AP mode) b. Connection through a Wi-Fi router common to both Gomer and the mobile device (STA Mode) 3. From the following screen, you can connect directly to the Gomer Robot’s Wi-Fi hotspot by clicking on “Tap”.
P age |5
Mu kesh Soni Mu kesh Son i
4. Clicking on “Tap” opens the wireless connection setting on your mobile device. Now connect to the “Gomer” Wi-Fi using password/key (8-times eight) as shown on the screen of Gomer Robot.
5. To connect in STA mode, where both your mobile device and the Gomer robot are on the same wireless network, you need to “skip” the “connection” screen and click on the “Settings” icon on the main page of the app.
6. Scroll to the right for “Connection Type” information on the “Settings” page.
P age |6
Mu kesh Soni Mu kesh Son i
7. Click on the “STA” connection type, then fill out your Wi-Fi settings on next page and press “Done”.
8. You can use the “connection type” page under the “settings” to switch between two types of connections – STA or AP mode.
Overview of the Gomer App Gomer app enables interaction with Gomer Robot. Using the app as a remote, you can simply control the robot like a toy; or you may try built-in demo functions that showcase the robot’s capabilities. The app also contains a system for programming the robot to create autonomous applications.
P age |7
Mu kesh Soni Mu kesh Son i
The “program” section of Gomer app is based on Google Blockly, a jig-saw puzzle like graphical programming environment especially designed for education. The library contains functional blocks that can be dragged-and-dropped in the workspace area, and logically joined together to create a program.
Library functions The instruction blocks are organized under different functional categories called libraries. For example, the “Driving” library contains all the necessary functions to move the Gomer robot
P age |8
Mu kesh Soni Mu kesh Son i
forward or backward by a fixed distance or turn it right or left by specified angle. Similarly, the “Emotion” set of blocks lets you set the expression of the robot. Following are the library functions available on the Gomer app: • •
Driving – Forward, backward movements and left, right turns Posture – Preset postures involving arm and wrist positions or individual control of arm, wrist, head and grip
• •
Expression – Showing custom sketches on robot display Sound – Text-to-speech or voice recording to be played in the robotic tone
• •
Emotion – Emotional expressions involving robot display, posture and movements Skill – Set of predefined complex tasks like hand-shake, automatic grabbing or pattern detection
P age |9
Mu kesh Soni Mu kesh Son i
• • •
Logic – Events, loop, decision branching or wait blocks for programming Math – Logical and mathematical operators Variables – Variable creation, definition and manipulation
With this overview, we are all set to create programs and control the Gomer robot.
P a g e | 10
Mu kesh Soni Mu kesh Son i
Chapter 01: Basic Movements of Gomer Robot
Summary: In this chapter, you will learn about basic movements of Gomer robot. You will be introduced to different functional blocks related to Gomer motion and turns.
P a g e | 11
Mu kesh Soni Mu kesh Son i
Chapter 01: Basic Movements of Gomer Australian Curriculum Mapping The following matrix shows the alignment the exercises with Australian curriculum - Digital Technologies, Design and Technologies, Mathematics and Science. Legend: Exercise content meets the objective descriptor Exercise content meets the objective descriptor to some extent Exercise content doesn’t meet the objective descriptor Year / Objective Code Year 3-4 [ACTDIP010] Define simple problems, and describe and follow a sequence of steps and decisions (algorithms) needed to solve them [ACMMG061] Mathematics: Measure, order and compare objects using familiar metric units of length, mass and capacity [ACMMG064] Mathematics: Identify angles as measures of turn and compare angle sizes in everyday situations Year 5-6 [ACTDIP019] Design, modify and follow simple algorithms involving sequences of steps, branching, and iteration (repetition) [ACTDIP020] Implement digital solutions as simple visual programs involving branching, iteration (repetition), and user input [ACMMG141] Mathematics: Investigate, with and without digital technologies, angles on a straight line, angles at a point and vertically opposite angles. Use results to find unknown angles [ACMMG143] Mathematics: Introduce the Cartesian coordinate system using all four quadrants Year 7-8 [ACTDIP029] Design algorithms represented diagrammatically and in English, and trace algorithms to predict output for a given input and to identify errors [ACTDIP030] Implement and modify programs with user interfaces involving branching, iteration and functions in a general-purpose programming language [ACTDEK031] Analyse how motion, force and energy are used to manipulate and control electromechanical systems when designing simple, engineered solutions [ACTDEP036] Generate, develop, test and communicate design ideas, plans and processes for various audiences using appropriate technical terms and technologies including graphical representation techniques [ACMNA175] Mathematics: Introduce the concept of variables as a way of representing numbers using letters [ACMNA176] Mathematics: Create algebraic expressions and evaluate them by substituting a given value for each variable Year 9-10 [ACTDIP040] Design algorithms represented diagrammatically and in structured English and validate algorithms and programs through tracing and test cases
P a g e | 12
01
Exercise # 02 03 04
Mu kesh Soni Mu kesh Son i
Exercise # 01: Simple movement of the robot Learning Objective After completing this exercise, the participants will be able to: • • •
Create a program using functional blocks on Gomer app Connect to the Gomer robot and control it through their program Move the robot by a specified distance and with a specified speed
Task List Participants will program the Gomer to: • •
Move the Gomer forward by 50 centimeters at normal speed Move it backward by 50 cm at normal speed
Part / Component List To perform the specified tasks in the exercise, you will need: • • •
Gomer Robot Android or Apple mobile device – mobile phone or tablet Gomer app installed on the mobile device
Procedure Step 1 Create a pseudo code or flowchart to design your algorithm.
P a g e | 13
Mu kesh Soni Mu kesh Son i
Start Move forward by 50cm, at normal speed
Move backward by 50cm, at normal speed End
Step 2 Identify the required blocks to create your program. For example, you may need: •
Driving library – move forward and move backward blocks
Step 3 Create a program, based on your algorithm. It may look like this.
Step 4 Test your program, under following situation (also known as test cases). Situation
Observation
After creating the program, press the RUN The Gomer robot moves forward 50cm and button on the app returns to its original position (i.e., moves 50cm backwards).
Further Challenge Using the knowledge acquired from this exercise, can you now program the Gomer robot to: •
Move forward by 100cm in normal speed and then make it return to its original position at a faster speed
P a g e | 14
Mu kesh Soni Mu kesh Son i
Exercise # 02: Moving the robot in a square path Learning Objective After completing this exercise, the participants will be able to: • • • •
Create a program using functional blocks on Gomer app Connect to the Gomer robot and control it through their program Move the robot by a specified distance and with a specified speed Turn the robot by a specified angle in specified direction
Task List Participants will program the Gomer to: •
Move the Gomer in a square path of 50cm side as shown in the figure below
Part / Component List To perform the specified tasks in the exercise, you will need: • • •
Gomer Robot Android or Apple mobile device – mobile phone or tablet Gomer app installed on the mobile device
P a g e | 15
Mu kesh Soni Mu kesh Son i
Procedure Step 1 Create a pseudo code or flowchart to design your algorithm.
Start Move forward by 50cm, at normal speed
Turn left by 90 degrees
Move forward by 50cm, at normal speed
Turn left by 90 degrees
Move forward by 50cm, at normal speed
Turn left by 90 degrees
Move forward by 50cm, at normal speed
Turn left by 90 degrees End
Step 2 Identify the required blocks to create your program. For example, you may need: • •
Driving library – move forward and move backward blocks Driving library – turn left and right blocks
P a g e | 16
Mu kesh Soni Mu kesh Son i
Step 3 Create a program, based on your algorithm. It may look like this.
Step 4 Test your program, under following situation (also known as test cases). Situation
Observation
The Gomer robot moves forward 50cm and to After creating the program, press the RUN its left by 90 degrees. This forward movement button on the app and left turn repeats such that the Gomer follows a square path and returns to its original position.
Further Challenge Using the knowledge acquired from this exercise, can you now program the Gomer robot to: •
Move in square path of side 100cm but instead of turning left, make it turn right.
P a g e | 17
Mu kesh Soni Mu kesh Son i
Exercise # 03: Moving the robot in a square path, of a variable length Learning Objective After completing this exercise, the participants will be able to: • • • • •
Create a program using functional blocks on Gomer app Connect to the Gomer robot and control it through their program Create a variable, assign a value to it and use it in the program Move the robot by a specified distance and with a specified speed Turn the robot by a specified angle in specified direction
Task List Participants will program the Gomer to: •
Move the Gomer in a square path of a variable distance (say, 50cm ) as shown in the figure below
Part / Component List To perform the specified tasks in the exercise, you will need: • • •
Gomer Robot Android or Apple mobile device – mobile phone or tablet Gomer app installed on the mobile device
P a g e | 18
Mu kesh Soni Mu kesh Son i
Procedure Step 1 Create a pseudo code or flowchart to design your algorithm. Start
Create a variable - distance
Assign the value: distance = 50cm
Create another variable - angle
Assign its value: angle = 90 degrees
Move forward by ‘distance’, at normal speed Turn left by ‘angle’ degrees Move forward by ‘distance’, at normal speed Turn left by ‘angle’ degrees Move forward by ‘distance’, at normal speed Turn left by ‘angle’ degrees Move forward by ‘distance’, at normal speed Turn left by ‘angle’ degrees
End
Step 2 Identify the required blocks to create your program. For example, you may need: • • •
Driving library – move forward and move backward blocks Driving library – turn left and right blocks Variables – create variable and set values
P a g e | 19
Mu kesh Soni Mu kesh Son i
Step 3 Create a program, based on your algorithm. It may look like this.
Step 4 Test your program, under following situation (also known as test cases). Situation
Observation
Create the program, assign the values to the The Gomer robot moves forward 50cm and to variables – distance = 50cm, angle = 90 degree its left by 90 degrees. This forward movement and left turn repeats such that the Gomer Press the RUN button follows a square path and returns to its original position.
Further Challenge Using the knowledge acquired from this exercise, can you now program the Gomer robot to: • • •
Move in square path of side 100cm by changing the value of the distance variable. Move in a rectangular path of sides of 100 and 50 cm. Hint: You may want to use two variables for longer and shorter sides of the rectangular path. Move in a triangular path by adjusting the angle and distance variables.
P a g e | 20
Mu kesh Soni Mu kesh Son i
Exercise # 04: Moving the robot in a square path, by making use of a loop Learning Objective After completing this exercise, the participants will be able to: • • • • • •
Create a program using functional blocks on Gomer app Connect to the Gomer robot and control it through their program Create a variable, assign a value to it and use it in the program Move the robot by a specified distance and with a specified speed Turn the robot by a specified angle in specified direction Repeat a part of the code for specified times
Task List Participants will program the Gomer to: • •
Move the Gomer robot forward by a variable distance (say, 50cm) and then turn left by angle (say, 90 degrees). Repeat the forward movement and left-turn for 4-times to make the Gomer traverse a square path, as shown in the figure below
Part / Component List To perform the specified tasks in the exercise, you will need: • • •
Gomer Robot Android or Apple mobile device – mobile phone or tablet Gomer app installed on the mobile device
P a g e | 21
Mu kesh Soni Mu kesh Son i
Procedure Step 1 Create a pseudo code or flowchart to design your algorithm.
Start
Create a variable - distance
Assign the value: distance = 50cm
Create another variable - angle
Assign its value: angle = 90 degrees
Move forward by ‘distance’, at normal speed Turn left by ‘angle’ degrees
4
End
Step 2 Identify the required blocks to create your program. For example, you may need: • • •
Driving library – move forward and move backward blocks Driving library – turn left and right blocks Variables – create variable and set values
P a g e | 22
Repeat 4-times
Mu kesh Soni Mu kesh Son i
Step 3 Create a program, based on your algorithm. It may look like this.
Step 4 Test your program, under following situation (also known as test cases). Situation
Observation
Create the program, assign the values to the The Gomer robot moves forward 50cm and to variables – distance = 50cm, angle = 90 degree its left by 90 degrees. This forward movement and left turn repeats for 4-times such that the Press the RUN button Gomer follows a square path and returns to its original position.
Further Challenge Using the knowledge acquired from this exercise, can you now program the Gomer robot to: •
•
Move in a rectangular path of sides of 100 and 50 cm. Hint: You may want to use two variables for longer and shorter sides of the rectangular path. You may also want to complete the movement in just 2 repetitions, instead of 4. Move in a triangular path by adjusting the angle, distance variables and number of repetitions in the loop.
P a g e | 23
Mu kesh Soni Mu kesh Son i
Check Your Understanding: End of Chapter Quiz 1. Which of the following functional library will have blocks for Gomer movement ? a. Posture b. Expression c. Skills d. Driving 2. For Gomer movement (forward or backward), which of the following is NOT a valid speed option? a. Slow b. Crawl c. Normal d. Fast 3. Which of the following instruction will make the Gomer turn left by 90 degrees? (select all that are correct) a. Turn Left 90 degrees b. Turn Left 270 degrees c. Turn Right 90 degrees d. Turn Right 270 degrees 4. Which of the following operation is NOT possible using functional blocks available in the ‘variable’ library a. Creation of a variable b. Assigning a value to the variable c. Renaming a variable d. Incrementing or decrementing a variable by given value 5. Repeat block is found in ___ library. a. Driving b. Logic c. Posture d. Math
Answer Key: 1: d
2: b
3: a & d
4: b
P a g e | 24
5: c
Mu kesh Soni Mu kesh Son i
Chapter 02: Understanding Gomer Postures
Summary: In this chapter, you will learn about different postures of Gomer robot. A posture depends on unique positions of arm, wrist, head and the grip. You will be introduced to different functional blocks that can, individually or in unison, control the posture of Gomer. You will also learn about how to grab an object using programming blocks.
P a g e | 25
Mu kesh Soni Mu kesh Son i
Chapter 02: Understanding Gomer Postures Australian Curriculum Mapping The following matrix shows the alignment the exercises with Australian curriculum - Digital Technologies, Design and Technologies, Mathematics and Science. Legend: Exercise content meets the objective descriptor Exercise content meets the objective descriptor to some extent Exercise content doesn’t meet the objective descriptor Year / Objective Code
Exercise # 05
06
07
[ACTDEP036] Generate, develop, test and communicate design ideas, plans and processes for various audiences using appropriate technical terms and technologies including graphical representation techniques [ACSSU155] Science: Energy appears in different forms, including movement (kinetic energy), heat and potential energy, and energy transformations and transfers cause change within systems Year 9-10 [ACTDIP040] Design algorithms represented diagrammatically and in structured English and validate algorithms and programs through tracing and test cases
[ACTDEK043] Investigate and make judgments on how the characteristics and properties of materials are combined with force, motion and energy to create engineered solutions
Year 3-4 [ACTDIP010] Define simple problems, and describe and follow a sequence of steps and decisions (algorithms) needed to solve them [ACMMG064] Mathematics: Identify angles as measures of turn and compare angle sizes in everyday situations Year 5-6 [ACTDIP019] Design, modify and follow simple algorithms involving sequences of steps, branching, and iteration (repetition) [ACTDIP020] Implement digital solutions as simple visual programs involving branching, iteration (repetition), and user input [ACMMG141] Mathematics: Investigate, with and without digital technologies, angles on a straight line, angles at a point and vertically opposite angles. Use results to find unknown angles Year 7-8 [ACTDIP029] Design algorithms represented diagrammatically and in English, and trace algorithms to predict output for a given input and to identify errors [ACTDIP030] Implement and modify programs with user interfaces involving branching, iteration and functions in a general-purpose programming language [ACTDEK031] Analyse how motion, force and energy are used to manipulate and control electromechanical systems when designing simple, engineered solutions
P a g e | 26
Mu kesh Soni Mu kesh Son i
Exercise # 05: Pre-defined postures of Gomer Learning Objective After completing this exercise, the participants will be able to: • • •
Create a program using functional blocks on Gomer app Connect to the Gomer robot and control it through their program Control the posture of the Gomer robot from a pre-defined list of postures
Task List Participants will program the Gomer to: • • •
Take the arm completely behind and wait for 3 seconds Move the arm and wrist in a line, facing upward and wait for 3 seconds. Form an object picking posture, i.e., move the arm and wrist to the front, almost touching the ground.
Part / Component List To perform the specified tasks in the exercise, you will need: • • •
Gomer Robot Android or Apple mobile device – mobile phone or tablet Gomer app installed on the mobile device
Procedure Step 1 Create a pseudo code or flowchart to design your algorithm.
P a g e | 27
Mu kesh Soni Mu kesh Son i
Start
Pre-defined posture list 1
2
3
Set the posture to predefined posture # 2
Wait for 3 seconds 4
5
6 Set the posture to predefined posture # 6
7
8
Wait for 3 seconds
9
Set the posture to predefined posture # 9 End
Step 2 Identify the required blocks to create your program. For example, you may need: • •
Posture library – “Posture to” block Logic library – “Wait” block
Step 3 Create a program, based on your algorithm. It may look like this.
P a g e | 28
Mu kesh Soni Mu kesh Son i
Step 4 Test your program, under following situation (also known as test cases). Situation
Observation
After creating the program, press the RUN The Gomer robot goes to the specified postures button on the app with 3 seconds of gap in between the posture changes.
Further Challenge Using the knowledge acquired from this exercise, can you now program the Gomer robot to: • •
For a posture for minimum height. For a posture of maximum height.
P a g e | 29
Mu kesh Soni Mu kesh Son i
Exercise # 06: Custom posture through arm and wrist movements Learning Objective After completing this exercise, the participants will be able to: • • • •
Create a program using functional blocks on Gomer app Connect to the Gomer robot and control it through their program Control the posture of the Gomer robot from a pre-defined list of postures Control the posture of the Gomer robot using individual position control of arm and wrist.
Task List Participants will program the Gomer to: • • • •
Rotate its arm between 0 to 170 Degrees (maximum movement possible) Wait for 2 seconds and bring arm back to 0 Degree position Rotate its wrist from 0 to 180 Degrees Go back to posture keeping arm and wrist straight upwards
Part / Component List To perform the specified tasks in the exercise, you will need: • • •
Gomer Robot Android or Apple mobile device – mobile phone or tablet Gomer app installed on the mobile device
P a g e | 30
Mu kesh Soni Mu kesh Son i
Procedure Step 1 Create a pseudo code or flowchart to design your algorithm.
Start Wait for 1 seconds Rotate the arm to 0o Rotate the forearm/wrist to 0o Wait for 3 seconds Wait for 3 seconds Rotate the arm to 170o
Rotate the forearm/wrist to 180o Wait for 2 seconds Set the pre-defined posture # 6 (straight up) Rotate the arm to 0o End
Step 2 Identify the required blocks to create your program. For example, you may need: • •
Posture library – “Posture to”, “Write and Arm rotate to” block Logic library – “Wait” block
Step 3 Create a program, based on your algorithm. It may look like this.
P a g e | 31
Mu kesh Soni Mu kesh Son i
Step 4 Test your program, under following situation (also known as test cases). Situation
Observation The Gomer squeezes the arm to close position (0o) and after 3 seconds, arm is open to 1700. Arm is closed to 0o again after 2 seconds.
After creating the program, press the RUN After waiting for 1 second, the wrist or forearm button on the app is positioned from 0 to 180o. After this Gomer goes to pre-defined straight up posture.
Further Challenge Using the knowledge acquired from this exercise, can you now program the Gomer robot to: •
Move and position its arm/wrist in such a way that it can touch any object kept at a distance from it.
P a g e | 32
Mu kesh Soni Mu kesh Son i
Exercise # 07: Grab a block placed in from of Gomer Learning Objective After completing this exercise, the participants will be able to: • • • • •
Create a program using functional blocks on Gomer app Connect to the Gomer robot and control it through their program Control the posture of the Gomer robot from a pre-defined list of postures Control the posture of the Gomer robot using individual position control of arm and wrist. Grab and lift a block kept in front of the Gomer
Task List Participants will program the Gomer to: •
Grab a block kept about 5 cm away from it.
Part / Component List To perform the specified tasks in the exercise, you will need: • • •
Gomer Robot Android or Apple mobile device – mobile phone or tablet Gomer app installed on the mobile device
Procedure Step 1 Create a pseudo code or flowchart to design your algorithm.
P a g e | 33
Mu kesh Soni Mu kesh Son i
Start Make the straight up posture (posture # 6)
Rotate the arm to 160o
Wait for 2 seconds
Wait for 2 seconds
Open the hands for grab
Close the hand / Grab
Wait for 2 seconds
Make the straight up posture (posture # 6)
Rotate the forearm / wrist to 80o
End
Step 2 Identify the required blocks to create your program. For example, you may need: • •
Posture library – “Posture to”, Hand open/grab, “Write and Arm rotate to” block Logic library – “Wait” block
Step 3 Create a program, based on your algorithm. It may look like this.
P a g e | 34
Mu kesh Soni Mu kesh Son i
Step 4 Test your program, under following situation (also known as test cases). Situation
Observation The Gomer will first go in ‘straight-up’ posture extending its arm and wrist in a straight line.
Place one of the blocks (G, L or I) about 4-5 After 2 seconds, the hand will open. After cm away from Gomer screen. another 2 seconds, the wrist and arm will rotate to reach for the block. At this point, the block Press the RUN button should be within the grip position. After 2 seconds, the grip will close to grab the block and lift it up in the air.
Further Challenge Using the knowledge acquired from this exercise, can you now program the Gomer robot to: •
•
Move and grab a block that is kept about 15 cm away from its screen. [Hint: You may have to calibrate how far the Gomer should move, i.e., how close the Gomer should go to the block before initiating a pickup posture.] Make the desired forward movement and arm/wrist control using single instruction block that combines forward/backward movement with wrist/arm/head/grip movement controls.
P a g e | 35
Mu kesh Soni Mu kesh Son i
Check Your Understanding: End of Chapter Quiz 1. Which of the following functions are available with respect to posture control of Gomer ? a. Pre-defined posture setting block b. Individual control of arm/wrist/grip blocks c. Single block combining movement/arm/wrist/grip controls d. All of the above 2. What is the valid range of Gomer arm movement? a. 0 – 90o b. 0 – 180o c. 0 – 170o d. 0 – 220o 3. What is the valid range of Gomer forearm or wrist movement? a. 0 – 90o b. 0 – 180o c. 0 – 170o d. 0 – 220o 4. How many pre-defined postures are available in “posture to” block? a. 3 b. 6 c. 9 d. 12 5. Which of the following is NOT a valid functional block available to combine movement and posture control of Gomer? a. Move __, Speed __, Arm to __, Forearm to __, Head __, Hand __ b. Turn __, Angle __, Arm to __, Forearm to __, Head __, Hand __ c. Move __, Turn __, Arm to __, Forearm to __, Head __, Hand __ d. None of the above
Answer Key: 1: d
2: c
3: d
4: c
P a g e | 36
5: c