Hide thumbs Also See for KILOBOT:

Advertisement

Quick Links

Kilobot
User manual
Version 2.0
JANUARY 2016

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the KILOBOT and is the answer not in the manual?

Questions and answers

Summary of Contents for K-Team KILOBOT

  • Page 1 Kilobot User manual Version 2.0 JANUARY 2016...
  • Page 2 • All efforts have been made to ensure the accuracy of the content of this manual. However, should any error be detected, please inform K-Team. • The above notwithstanding, K-Team can assume no responsibility for any error in this manual.
  • Page 3: Table Of Contents

    TABLE OF CONTENTS INTRODUCTION ....................1 ..................1 OW TO USE THIS HANDBOOK ....................2 AFETY PRECAUTIONS ......................... 2 ECYCLING ......................3 PECIFICATIONS UNPACKING AND INSPECTION ..............4 ....................4 ACKAGE ONTENTS ......................... 5 NSPECTION DESCRIPTION ..................... 6 ........................6 VERVIEW 3.1.1 ....................
  • Page 5: Introduction

    You can find more information directly on the designer website: http://www.eecs.harvard.edu/ssr/projects/progSA/kilobot.html This version of manual explain how to use the new version of Kilobot firmware developed by Harvard. More information on this version can be found on the website: https://www.kilobotics.com/ If you already own Kilobot robot and OHC with older firmware, please consult the guide kilobot_update.doc to update your older system.
  • Page 6: Safety Precautions

    1. INTRODUCTION Safety precautions Here are some recommendations on how to correctly use the Kilobot: • Keep the board away from wet area. Contact with water could cause malfunction and/or breakdown. • Store your board in a stable position. This will avoid the risks of falling, which could break it or cause damage to a person.
  • Page 7: Specifications

    1. INTRODUCTION Specifications The main specifications of the Kilobot robot are listed below: • Processor ATmega 328p (8bit @ 8MHz) • Memory ○ 32 KB Flash ○ 1KB EEPROM • Battery/ autonomy : Rechargeable Li-Ion 3.7V / 3-10 hours continuously, 3 months in sleep mode •...
  • Page 8: Unpacking And Inspection

    Package Contents They are 3 different packages sold separately. They are containing the following items: • The robot package: 1 CD-ROM* 10 Kilobot robots • The overhead controller package: 1 overhead controller 1 CD-ROM* 3 cables (1 usb, a 6-wire cable and a 2–wire cable) •...
  • Page 9: Inspection

    (opposite of the battery holder +/- marks). For the Overhead controller, check that the LEDS are not bended or broken. The jumper for firmware programming should be present (see figure 3.2). Kilobot User Manual...
  • Page 10: Description

    3. DESCRIPTION DESCRIPTION Overview 3.1.1 Kilobot robot An overview of the Kilobot hardware is depicted in the Figure 3.1. The locations of various key elements are indicated for later references. ⑧ ⑧ ⑧ ⑧ ⑪ ⑪ ⑪ ⑪ ① ① ① ①...
  • Page 11: Overhead Controller (Ohc)

    3. DESCRIPTION 3.1.2 Overhead controller (OHC) An overview of the Kilobot Overhead controller (OHC) is depicted in the Figure 3.1. The locations of various key elements are indicated for later references. ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧...
  • Page 12 The distance depends on the surface used as the light intensity is used to compute the value. ○ The brightness of the ambient light shining on a Kilobot can be detected. ○ A Kilobot can sense its own battery voltage.
  • Page 13 3. DESCRIPTION • Light Each Kilobot has a red/green/blue (RGB) LED pointed upward, and each color has 3 levels of brightness control. • Software The Kilobot Controller software (kiloGUI) is available for controlling the controller board, sending program files to the robots and controlling them.
  • Page 14: Kilobot Hardware Usage

    • Over-head controller (OHC) • Kilobot charger 4.1.2 Required software : To start programming the Kilobot with the new version from kilobotics, you have two solutions. You can either use the online editor and compile without the need of any installation (https://www.kilobotics.com/editor Or you can install WinAVR and Eclipse to compile the whole library on your computer (https://github.com/mgauci/kilobot_notes/blob/master/eclipse_winavr_setup/eclipse_winavr_setu...
  • Page 15 • Eclipse IDE for C/C++ Developers: http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/lunasr2 These files are included in the delivered from the CD_ROM: • Kilobot programming project files (VERSION is the version of the files): software\source_code\Kilobot VERSION.zip This archive contains: • Eclipse/ development directory for Eclipse •...
  • Page 16: Installation

    VERSION/Eclipse as workspace directory. Once done, try to compile the source code to validate the installation. 5. You can also install AVRstudio if you need to update your Kilobot System or if you want to restore the bootloader...
  • Page 17: Overhead Controller (Ohc) Software Installation

    Click « Replace Drive » (or “Reinstall Driver” if already done once). Select « FT232R USB UART » and « libusb-win32 (V1.2.6.0) » Click « Replace Driver ». Close « Zadig » interface Now the KiloGUI interface must recognize your OHC Kilobot User Manual...
  • Page 18: Overhead Controller (Ohc) Hardware Installation

    4. Press the “LedToggle” button to validate the communication (a Green LED on the OHC must change its state at each pressing). 5. If the message “connected” didn’t appear, please follow the steps in chapter 4.2.2.1 Kilobot User Manual...
  • Page 19: Kilobot Bootloader Programming

    4. USAGE 4.2.4 Kilobot bootloader programming The Kilobot is delivered with a bootloader already installed. Therefore this step can be SKIPPED. But If you would like to reinstall the bootloader or install a newer one, follow the instructions below. 1. In AVR Studio, select Tools->ProgramAVR->Autoconnect .
  • Page 20 5. Connect the AVRisp programmer to the robot as shown in figure 4.5. Make sure that the programmer pins do not touch the motor on the back side. Gently press the program cable to the side to ensure a good connection. Figure 4.5: communication connector Kilobot User Manual...
  • Page 21 7. In the Autoconnect pop-up window in AVRstudio, press program. It should take a few seconds to program the robot, and the robot may vibrate. 8. Put the firmware programming jumper of the OHC in the back to the standard position. Figure 4.6: firmware jumper: normal mode Kilobot User Manual...
  • Page 22: Usage

    Here are some resources on writing programs 1. The manual for C programming language and the AVR specific functions (TBA) 2. Kilobot Library API: All the robot functions and their usage (http://www.kilobotics.com/docs 3. Labs: A tutorial will step by step example programs; great for a class or to get new students started (http://www.kilobotics.com/labs...
  • Page 23: Programming With Eclipse

    The initial source code (main.c) is an example where the Robot move alternatively on the left/right/forward if no other Kilobot is in sight. Once at least another Kilobot is detected, the robot will stop and indicated with the RGB LED the distance of the other Robot.
  • Page 24: Uploading Code In A Group Of Kilobot

    Kilobot bootloader or even damage the robot!!!). Figure 4.7 : Kilobot Controller software 2. Place ALL Kilobot robot in PAUSE mode (LED flashing green) underneath the OHC, and press the “Bootload” button in Kilogui.exe. The Kilobot will turn their LED blue to indicate that they are ready to be programmed.
  • Page 25: Ohc Use

    The overhead controller should be hung above the Kilobots at a distance of about one meter. The robots beneath the OHC in a about a one meter diameter region will be able to receive communication from the OHC as shown in figure 4.8. Figure 4.8: System setup Kilobot User Manual...
  • Page 26 4. USAGE Overhead Controller (OHC) Interface Overview 1. Select File: browse your files to select the firmware to upload. Figure 4.9: browse your files 2. Bootload: place the Kilobot in programing mode Figure 4.10: Connection Status Kilobot User Manual...
  • Page 27 4. USAGE 3 Upload: start programming the Kilobot Figure 4.11: upload button Kilobot User Manual...
  • Page 28 6. LedToggle: Toggle LEDs on controller, used to check communication between PC and controller. 7. Serial Input: Display received messages from Kilobot using 2-wire serial cable 8. Calibration: Set the UID of a Kilobot and their motor values. See below for more details Kilobot User Manual...
  • Page 29: Charger

    Note: in this new version of software, there’s no more Charge status on the Kilobot. To improve the charging time, place the Kilobot in Sleep mode. You can check the battery status with the Voltage button on KiloGUI.
  • Page 30: Debugging

    Figure 4.14 Debug settings 1. Open KiloGUI interface 2. Launch your program with the “Run” button of the KiloGUI. 3. Press the serial input button to open a pop-up where all the message sent by the Robot will appear. Kilobot User Manual...
  • Page 31: Kilobots Api

    (https://www.kilobotics.com/docs/index.html) where the whole set of functions are explained. Only the main function are explained below. • Kilo_init() Initialize Kilobot hardware. • set_motors(cw_motor,ccw_motor) Set motor speed PWM values for motors between 0 (off) and 255 (full on) for cw_motor and ccw_motor Examples: for moving forward: set_motors(kilo_straight_left, kilo_straight_right);...
  • Page 32 Example: local_brightness = get_ambient_light(); • get_temperature() Read the temperature of the Kilobot. note: will return -1 if there is an incoming message (which also uses a/d) note: turns off interrupts for a short while to sample a/d Example: local_temperature = get_ temperature ();...
  • Page 33: Motors Calibration

    2. Open the KiloGUI interface, then open the Calibration mode Figure 4.15: Calibration mode 3. The first line (Unique ID) can be used to save an ID in your Kilobot. This can be useful if you want to save all calibration value for each Kilobot.
  • Page 34: Simulation

    4. USAGE 4.3.9 Simulation You can simulate the Kilobot robot with V-REP, a power physics simulator software. An educational version is available for free at: http://www.coppeliarobotics.com/downloads.html The Kilobot model is already available for V-REP inside the simulator. All the functions explained in chapter 4.3.7 “...
  • Page 35 ---------------------- -- here put the following of your code ---------------------- … You can find some V-REP scenes with Kilobot examples there: http://ftp.k-team.com/V-REP/models/Kilobot/scenes Kilobots_messages.ttt 5 robots move and display their distances to each other’s with their led. Kilobot User Manual...
  • Page 36 4. USAGE Kilobots_ messages.ttt 4 robots send messages to each other to determinate the one that has the biggest id number. Kilobots_ around.ttt robots move around other static robots, keeping distance. Kilobot User Manual...
  • Page 37: Annexes

    (new_message == 1) new_message = 0; set_color(1,1,1);//turn RGB LED white printf(Mess0);//send first byte of received message over serial debug cable printf(Mess1);//send second byte of received message over serial debug cable printf(" "); delay(10);//wait 10 ms set_color(0,0,0);//turn RGB LED off Kilobot User Manual...
  • Page 38: Simple Movement

    // Spinup the motors to overcome friction. spinup_motors(); // Turn right for 2 seconds (2000 ms). set_motors(0, kilo_turn_right); delay(2000); // Set the LED off. set_color(RGB(0, 0, 0)); // Stop for half a second (500 ms). set_motors(0, 0); delay(500); main() kilo_init(); kilo_start(setup, loop); return Kilobot User Manual...
  • Page 39: Warranty

    6. WARRANTY WARRANTY K-TEAM warrants that the Kilobot is free from defects in materials and workmanship and in conformity with the respective specifications of the product for the minimal legal duration, respectively one year from the date of delivery. Upon discovery of a defect in materials, workmanship or failure to meet the...
  • Page 40 It is likely that the contents of Customer's flash memory will be lost or reformatted in the course of the service and K-TEAM will not be responsible for any damage to or loss of any programs, data or other information stored on any media or any part of the Product...
  • Page 41 6. WARRANTY K-TEAM EXPRESSLY DISCLAIMS ALL OTHER WARRANTIES THAN STATED HEREINBEFORE, EXPRESSED OR IMPLIED, INCLUDING WITHOUT LIMITATION IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE TO THE FULLEST EXTENT PERMITTED BY LAW. Limitation of Liability: IN NO EVENT SHALL EITHER PARTY BE LIABLE TO...
  • Page 44 K-Team S.A. Z.I. Plans-Praz 1337 Vallorbe Switzerland...

Table of Contents