Human Interface Guide Designed and made by New Zealanders (also known as Kiwis) for their ❤ of teaching children computer science, coding & robotics.
Thank you for purchasing KaiBot. To get the most benefit from KaiBot please be sure to read all instructions thoroughly and share this document with others who will also use KaiBot. Disclaimer Autonomous Works Limited has made every effort to provide clear and accurate information in this Manual, which is provided solely for the user’s information.
Index Let’s do this! 4 1. Help KaiBot feel at home. 4 2. Power up. 4 3. Layout the Coding Cards 4 What’s included Optional add-ons KaiBot in the Classroom Where do I start as a Teacher? Introduction Activity Level 1: Concrete to Abstract Level 2: It’s time to introduce KaiBot 5 6 6 7 8 9 12 Getting to know KaiBot 12 How to Scan Coding Cards 13 Level 3: Add some Magnetic KaiTiles 15 Design different layouts with KaiTiles Level 4: Pairing your KaiBot with Kainundrum.
Troubleshooting Feature requests & bugs 58 59 Visionary Inspirators 60 Expert Contributors 61 4
Let’s do this! Everything you need is inside the box. Well, nearly everything... If you are going to pair KaiBot with your Chromebook, PC or MAC then that device is not inside the box, lol that would be funny if your computer was also in the box! The great thing about KaiBot is that it can work without your computer (screen-free) or it can work alongside it using Kainundrum.com. 1. Help KaiBot feel at home. KaiBot works best on clean, flat surfaces with or without his optional Kai-Tiles.
KaiBot rechargeable robot USB to Micro USB charging cable *Optional autonomous charging dock available Deck of 33 Standard Coding Cards that KaiBot can scan & read *Optional Advanced Coding Cards available Various KaiBot character sleeves, to customize your robot Activities & lesson plans https://kaiseducation.
Optional add-ons KaiBots Autonomous Charging Dock, KaiBot becomes a mini-Roomba like a robot and can self-charge! When KaiBot is placed on the purple tile, KaiBot will automatically navigate to the charge dock. If you also have KaiTiles along with Kainundrum, then KaiBot will autonomously drive to the nearest available charge dock and fill up. Magnetic Kai-Tiles, to create physical maze layouts. Each tile is a unique number from 1 to 60. Kai-Tile packs are available from 1-60 and available in packs of 10.
KaiBot in the Classroom Picture: Using KaiBot with KaiTile and coding cards in the classroom. Where do I start as a Teacher? It’s movie time! https://youtu.
Introduction Activity Have pairs of students act out the instructions based on the cards laid out in front of them. This activity will help students understand the sequencing required for KaiBot to undertake his tasks. Engineering Connection The engineering team at Kais Education who created KaiBot had many problems to solve in creating him. In this activity, students act as if they are engineers designing programs to solve problems.
Level 1: Concrete to Abstract 1. Depending on the age, I suggest we act out what a human robot will do. 2. Create a physical pathway in the classroom. You have to walk to make a square. Example: Take 2 steps forward, turn right. Take 2 steps forward and turn right. Again repeat this twice to make up a square. 3. Choose the same cards from the deck of coding cards.
Walk 2 strides forward Turn 90 degrees right Walk 2 strides forward Turn 90 degrees right Walk 2 strides forward 11
Turn 90 degrees right Walk 2 strides forward Turn 90 degrees right Record Program End. Close brackets Once the robot student is presented this card, they should act out the sequence they were programmed to do. If they make a wrong turn, indicate to the student, there is a bug and they should try and correct it. 4. Students can hold these cards in their hands and make the movements to complete a square.
Level 2: It’s time to introduce KaiBot Try and always have KaiBot charged up and ready for action. Nobody likes a flat KaiBot You’ll get around 1-2 hours play time with him fully charged. Getting to know KaiBot The first thing to note about KaiBot is the center point of the robot axis, this is where its downward-facing camera (a.k.a. the magic dust sensor) is located between its two wheels. So when KaiBot turns, it turns around the center axis of its wheels.
How to Scan Coding Cards Watch the video 1. Switch on KaiBot and wait for the boot up process to finish and display the unique ID. 💡Tip: We don’t recommend you pair KaiBot just yet, we’ll get to that later. 2. Next tap KaiBot on the “Record Program Start” card. This card or a “Record Function Start” card must always be scanned first. 3. After a successful scan, KaiBot beeps and displays the scanned card on the screen and the LED lights display white 4.
6. Bug Alert, read the screen and then refer to the Bug section. A bug means an unexpected condition has happened. 7. Once you have finished your program, you must scan the end program card. 8. If you have got this far, then you don’t have any bugs in your program. Now scan the “Run Program Card”, place KaiBot down, then KaiBot displays a 3,2,1 countdown and will then run your program. 9. You can use KaiBot on the floor or a table and KaiBot will perform your program.
Level 3: Add some Magnetic KaiTiles 1. Lay-out a square with No1-8 KaiTiles. 2. After you have scanned the “Run Program Card” place him on KaiTile no 1. 3. KaiBot will complete the sequence you have scanned with the coding cards. 4. KaiBot will accurately move and correct any wheel slippage on these tiles. 5. KaiBot can read his x,y and tile number position on the tiles. Design different layouts with KaiTiles 💡Tip: When using the Forward or Backward Coding Cards, KaiBot moves an entire tile length.
Level 4: Pairing your KaiBot with Kainundrum.com If you are using KaiBot with Kainundrum.com for Hybrid coding you will need Bluetooth to pair it. You can do this by going to Kainundrum.com and looking for the Bluetooth symbol at the bottom of the UI bar. 1. Make sure your KaiBot is powered on and the blue LED lights are flashing and it displays the unique 4-digit code on the screen. 2. Click on the Bluetooth button on your Kainundrum dashboard to begin pairing.
4. Pairing is successful when KaiBot plays a jingle, the lights flash yellow and your emoji is displayed on the screen. KaiBot remembers the last emoji assigned to it, so if you have set a different emoji on Kainundrum, the robot will have to reload to match. Once pairing is complete you can start using KaiBot! KaiBot’s screen will take on the emoji you have chosen to represent you in Kainundrum. You can always change this by going to Settings > Profile and changing the emoji or color.
How to pair KaiBot to Kainundrum.com 1. On your computer browser open Kainundrum.com, it is a very large application so wait for everything to load. 2. Switch on KaiBot 3. Next click the Bluetooth pair icon on the the bottom Kainundrum toolbar. 4. The Bluetooth pairing window will pop up, listing all Kaibots nearby. Select the Bluetooth pairing ID that matches your KaiBot. It’s good manners not to pair to other peoples KaiBots! 5. In the waiting room you cannot control your KaiBot, 6.
Make sure no one else is pairing your KaiBot while you are using it. KaiBot’s battery is flat, you’ll need to plug KaiBot into a powered USB socket. The loading of the emoji is taking too long. Only the last loaded emoji remains in KaiBot memory, so to speed up the process, change your Kainundrum emoji to match your KaiBot, this will dramatically speed up the pairing process. You can also skip the emoji loading, but your KaiBot will not display the image.
Human Robot Interface KaiBots Home Screen Once KaiBot is switched on and initialized, you’ll be presented with his home screen. In this mode, you can either scan a “Record Program Start”, or “Record Function Start” card or pair your KaiBot with your PC, MAC or Chromebook using www.Kainundrum.com The top right battery icon shows roughly how much battery is left. Coding Card Screen Every valid card that KaiBot scans is counted in the top left corner.
Charging your KaiBot When you first unbox your KaiBot, it will have some fuel in its tank. However, we recommend to fully charge KaiBot first before you start using it. There are two different ways of charging the robot: a.) via a USB cable that comes with KaiBot or b.) using the optional add-on KaiBots Autonomous Charging Dock. Charging with a USB cable (included) 1. Switch off KaiBot 2. Plug in the Micro-USB cable into the micro-usb charging port on the back of KaiBot, next to the yellow power switch. 3.
When KaiBot is full, he will move away from the dock and stop charging. If KaiBot is full, he will not automatically navigate to the charging dock when placed on the purple charge tile. Nap time, If you don’t keep KaiBot entertained, he’ll start getting sleepy. After 10 minutes of inactivity, he’ll turn off the screen and go into a light sleep to conserve battery. To wake him up, just move him around a card or tile.
1. Place the magnetic charge dock on the charge dock icon side of the purple tile and line up the dock and tile. 2. Place the optional Kai-Tiles on this side of the purple dock tile. The purple dock tile only connects on either the left or right-hand side of a blue Kai-Tiles. 3. Ensure the Charge Dock is powered and the green LED light on the charging dock is on. 4.
Coding Cards Elements of Coding Cards Connectors These cards also have a coating of magic dust from New Zealand that lets KaiBot know what card he is reading. The cards are specially printed to have a coordinate system and card ID, so KaiBot can read each card. a. All the coding cards use a generic connecting system, much like a circuit board. They connect to each other from left(silver) to right(gold). b. The middle connectors help to show what card can be connected next.
Types of Coding Cards Object-Oriented Programming (OOP) is a style of programming that involves structuring code into logical, self-contained objects. In object-oriented programming data structures or objects are defined, each with its own properties or attributes. Each object can also contain its own procedures or methods. The Structure of a Coding Card Program Data Types and Variables Programming is all about manipulating data, but what is data? Data is information that we store in our computer programs.
How to correctly structure your coding cards There are two ways that you can layout the coding cards. The easiest way is to lay them out one after the other left to right, horizontally. The benefit of this method is, that it doesn't use much space up but longer programs become difficult to understand. This might be easy for you as you get started. A programmer would normally code in a vertical indented method as shown below.
Basic Coding Card Explainer The following describes what each card does and how they interact with each other. The below describes the Standard Coding Card Pack. CONTROL CARDS This is your goto card to start your program! KaiBot must read this card first. And like all goods stories, they all must come to an end! Make sure you end your program with this card. If you have KaiBot paired with Kainundrum.
MOVEMENT CARDS This card will get KaiBot to move forwards by 15cm or one tile length. * number card, a “Read variable” or a “Read Tile” card afterwards, to move forward a set * number of times. E.g. Forward, You can also add a 12; moves KaiBot forward 12 spaces. * Use this card to turn right and once again you’ll see the green to tell KaiBot how many turns. 1 turn = 90 degrees, 2 turns = 180 degrees, 3 turns = 270 degrees.
MOVEMENT CARDS Radius - The radius is the distance from the center point to the edge of the circle. Diameter - The diameter is a straight line that goes across the circle and through the center. It's twice the length of the radius. Using this card makes KaiBot drive in a complete circle based on the radius defined by the * number card. * E.g. Adding number 5, will make KaiBot drive in a complete large circle, based on the radius of 5 cm away from the centre point of the circle.
LOOP CARDS Loop repeats the code that is between the “Loop Start” and “Loop End”, not including * the number cards. Adding the loop runs. . * number card after this card, defines how many times * You can replace the number card for a “Read variable” or a “Read Tile” card E.g. Loop Start 12 {Move Forward} Loop End; this moves KaiBot forward 12 spaces. Loop is different to the Conditional Repeat. Loop End is used to close the braces {} of the loop.
NUMBER EXAMPLE In the above example, adding 2 and then 5 directly after the forward card, makes KaiBot move forward 25 spaces. SOCIAL EMOTIONAL LEARNING (SEL) How Do You Feel Today? Some children struggle to communicate their needs and emotions, particularly younger children. Let your kids express their feelings using KaiBot to show their feelings. Slide KaiBot up or down the card to program KaiBot to perform that emotion. Only the last emotion selected will be recorded.
Advanced Coding Card Pack (optional) A star below refers to the “⭐Advanced Coding Card Pack”. ⭐Advanced Coding Card Pack REPEAT CARDS Repeat is different to a Loop. A loop loops the code a certain number of times and you can’t exit the loop. A repeat will continue to repeat forever, or until a true condition is met.
REPEAT EXAMPLE In the above example, because 2 will never be greater than 5, KaiBot keeps moving forward. You can replace one of the numbers with a variable card. ⭐Advanced Coding Card Pack COLOR MIXING CARDS Computer coding involves many different knowledge and skills. Have you ever tried color mixing with coding? On computers, a very common color-coding system is the RGB color model.
⭐Advanced Coding Card Pack COLOR MIXING CARDS Always close with the Color Mixer End card COLOR MIXING EXAMPLE In the above example, adding 100% of Red and 100% of Blue will result in yellow ⭐Advanced Coding Card Pack FUNCTION CARDS There are two sets of function cards. Set 1 and Set 2. Functions are sets of code that contain one or more steps to complete a specific action. Functions can be small, simple, straightforward or long, complicated, and multifaceted.
⭐Advanced Coding Card Pack FUNCTION CARDS Place the Run Function card in your main code. Refer to the below example. Placing KaiBot on the Run Function card will not make him immediately perform the function. The function is treated as a subset program of your main code. There are two sets of function cards. Set 1 and Set 2. Functions are sets of code that contain one or more steps to complete a specific action. Functions can be small, simple, straightforward or long, complicated, and multifaceted.
FUNCTION EXAMPLE In the above example, the function is first recorded with KaiBot, and then the main program is recorded. When KaiBot runs the main program, the main program will also run the function. The example would have moved the robot forward 10 spaces. Functions can be used to save space in your code.
⭐Advanced Coding Card Pack COMPARISON OPERATORS Are used to compare two values to each other and can also be used to control the flow of a program based on the value of a number or variable. The 'equal to' comparator is also referred to in coding as two equal signs back-to-back ‘==’. It is not setting two things equal but is returning 'true' if two things are equal.
COMPARISON EXAMPLE In the above example, IF 5 is greater than the value stored in the variable, then the KaiBot turns in a circle? Remember to always set your variable to a value first.
⭐Advanced Coding Card Pack CONDITIONAL STATEMENTS A statement helps a computer decide what to do next. A condition statement has an If/Then format. For example, If v = 1, then turn left if( condition here is true ){ run all of these code statements } else{ run these statements} An “if” statement creates a branch within your program so that your code 'makes decisions'. It tests a condition and, if that condition is true, some code statements will run.
CONDITIONAL EXAMPLE In the above example, IF 5 is greater than the value stored in the variable, then the KaiBot turns left, else KaiBot turns right. Remember the “Else” card is optional.
⭐Advanced Coding Card Pack VARIABLES A variable is a container that holds a value, such as a piece of text or a number. The value can change, which is why it’s stored in a variable. The Coding Cards only work with integers, whole numbers that are positive or negative. This card is used to set v to a number card, placed directly afterwards. The Read Variable card is used to load the current value of the variable. This card returns the current Kai-Tile number that KaiBot is sitting on.
KaiBot in Kainundrum Cards The following cards can be used alongside Kainundrum.com when you pair KaiBot, then your virtual KaiBot will mirror the programmed actions from your physical KaiBot. Requirements: KaiBot PC, MAC or Chromebook with Bluetooth Magnetic Kai-Tiles that are laid out to match the virtual world in Kainundrum. Tip: You can also create your own layouts in Kainundrum using the Game Builder.
Debugging Code KaiBots built-in interpreter will record each scanned card, alongside this process, is KaiBots bug identifier. The debugger is in charge of constantly checking the scanned code and ensuring that it’s valid. When it comes to teaching children problem-solving, few methods are as powerful as learning to debug code.
Rubber Duck Debugging is a programming methodology where you explain the task you are performing with all the details you are trying to achieve, line-by-line. By describing the problem the programmers force themselves to express their ideas in a clear way and step by step sequence. This explanation is called “telling the duck your problem”. When a coder does so, the bug will be easily spotted as you will be forced to face the logic problems you might have ignored previously.
Magnetic snap together Kai-Tiles All robots and even cars suffer from their wheels slipping on the ground, this slipping can cause the direction of the robot to go off course. Even a small amount of error can have a large effect when moving over a greater distance. Screen-free without Kai-Tiles KaiBot can be used without tiles, however, the robot might not always turn to the correct angle or move to the desired position.
You can view your robot's current coordinate, both on the robot screen and also in Kainundrum.com in the 3D virtual view, use the top info bar to see the current tile number, angle, x & y coordinate. 💡Tip: If you place KaiBot in the middle of a Kai-Tile, the y position will be out by about 8 points. This is correct as indicated in the diagram in red. Offsetting KaiBot and placing the KaiBot camera over the centre of the tile will result in a 0 x & 0 y position on a Kai-Tile.
KaiBot firmware update To check if you have the latest version of KaiBot software on your KaiBot. 1. Pair KaiBot with Kainundrum.com 2. Wait for your emoji from Kainundrum to be loaded onto KaiBot. 3. Click the Bluetooth icon again on Kainundrum.com You’ll see a message saying “This robot is up to date.” Or this message and follow the prompts to update your KaiBot.
KaiBot in Kainundrum with Kai-Tiles Kainundrum is a high-level block based programming language and website aimed primarily at children as an educational tool for programming and supports two programming languages, Blockly block based programming and Python text based coding. With the optional Magnetic Kai-Tiles 1. visit Kainundrum.com and pair your KaiBot 2. use the Kainundrum Game Builder to design your tile layout, 3.
then copy the virtual maze with your physical KaiTiles. Either way will work. Invite your friends to join your race and you are ready to set and GO! If you need more inspiration then jump on a few lesson plans. These have already got the virtual KaiTiles laid out, so copy those with your own KaiTiles and you are ready to go. Here are 6 levels you can build that will teach from moving forward to a tricky journey around those squares.
Coding Card Examples The below examples have been laid out with a text coding vertical layout for ease of understanding and readability. These examples are using the advanced coding card set. Example 1: Loop + increase variable Always define functions before the record program start card. Initialise the variable at the start of your program. Do this outside of any loops or conditions.
Example 1: Loop + increase variable IF v > than 5 Move forward 1 tile if v > 5 IF v is less than 5, turn left End the IF Run the loop again until it’s been run 5 times, then exit the loop 52
A similar example to above but uses a repeat forever, and only exist when a condition is true Example 2: Repeat + increase variable Always define functions before record program start Repeat is a never-ending loop and can only exit when a condition is true. Run the Function 1 that increments the value of the variable + 2 Move forward 1 tile / 15 cm / 6” IF v > than 5 then exit the repeat, otherwise repeat forever.
Example 2: Repeat + increase variable 54
Example 3: Repeat until the Kai-Tile This example gets KaiBot to move forward 1 Kai-Tile or 15cm/ 6” at a time and then the repeat is stopped once KaiBot reads the tile number Repeat forever or until KaiBot reads Kai-Tile number 5 The repeat will exit if this condition is true.
Example 4: Change color based on the value of a tile number This example gets KaiBot to change his LED lights based on if a Kai-Tile is greater and smaller than a set value. Repeat forever or until KaiBot reads Kai-Tile number 5 When KaiBot reads the Kai-Tile number to be greater than 5, then set it as true else it’s false.
Example 5: Unknown number Set the unknown number Coding cards are based on Pyhton text based coding and use the += operator. The addition assignment operator ( += ) adds the value of the right operand to a variable and assigns the result to the variable.
Example 5: Unknown number IF v = 18 If v = 18 then move forward 1 tile Else left left End the IF Run the loop again until it’s been run 5 times, then exit the loop 58
Design your own code examples Use this free template in Google Sheets to build and layout your own coding structure or tile layouts. KaiBot Coding Cards Template 1. Simply open this link 2. Browse over the collection of cards 3. Click on the sheet “My code” 4. Click on an empty cell and type =name of card. can refer to the cell of the coding card and simply copy and paste code. or you Troubleshooting KaiBot is not coming on when I switch him on.
Great question, this is because KaiBots downward-facing camera is offset from the centre of the robot. Turn him over and take a look. See how the round hole for the camera is located between the wheel axis. KaiBot is purposely designed this way to actually get its position when turning. Why did the spider buy a computer? Because he wanted to browse the web. Lol, okay, enough of the jokes, let's get you coding, KaiBots going to get you to new heights. Don’t forget mistakes are proof that you are trying.
Visionary Inspirators Meet some of the brilliant people that helped to inspire and guide us to make Kainundrum perfect for the classroom. Brian Host Brian is a passionate educator that loves working with 21st-century learners and technology. Driven by the current pedagogical research into personalized learning, differentiation, and technology integration he sees students become lifelong learners that engaged with their world.
Kerri Wilder Education consultant with 24 years of elementary and secondary experience in Mississippi public schools as a teacher, professional development coordinator, and administrator. Holds a Master’s degree in Educational Leadership, a Bachelor of Science in Education with a specialty in Upper Elementary, and additional licensure endorsements in 7-8 Science, K-12 English, and Psychometry.
Rudy Neufeld ● ● ● ● Title: Senior Author & CEO School / Organization: Neufeld Learning Grade Level(s): K - 12 Location: Ontario, Canada In the 1980s, Rudy Neufeld, a mathematics leader in schools and in teacher technology educationin Ontario, Canada, met Dr. Seymour Papert at MIT the founder of the programming language Logo which uses code to direct a robot on the floor and on the computer screen. In following years, Neufeld authored several books on exploring math with the use of coding.
FCC Warning Statement Changes or modifications not expressly approved by the party responsible for compliance could void the user’s authority to operate the equipment. This equipment has been tested and found to comply with the limits for a Class B digital device, pursuant to Part 15 of the FCC Rules. These limits are designed to provide reasonable protection against harmful interference in a residential installation.