Home
USER MANUAL - K
Contents
1. 43 Appendix C How to open the robot and change the ROM 47 Appendix D Technical specifications 49 Appendix E Running modes 50 1 INTRODUCTION Be First of all thanks for choosing the Koala robot platform Koala is the continuation of the work of the K Team started with the Khepera miniature mobile robot Khepera is worldwide known as a good and stable equipment for basic research and education Advantages of Khepera are the software and hardware modularity the software and hardware robustness and the simple use The main disad vantage of Khepera is that it cannot be used for realistic tests and applications mainly due to its size Koala brings the advantages of Khepera to a realistic size multiprocessor BIOS software simplicity to use robustness and good price are scaled up to a bigger robot The Koala mobile robot is a Khepera compatible platform with added functionna lities more computational power better inter processor communication and improved expandibility To get the last information on K Team products look to http www k team com 1 1 How to Use this Manual This manual is organised into 7 chapters and 5 appendix To learn how to make the best use of your Koala robot you are urged to read all of chapters 1 through 4 The chap ter 5 presents the serial communication protocol that makes a remote control from a workstation possible You need to read the chapter 6
2. Koala coo USER MANUAL Version 1 1 K Team S A Lausanne 23 f vrier 1999 Documentation author K Team S A Ch de Vuasset CP 111 1028 Pr verenges Switzerland email info k team com WWW http www k team com Trademark Acknowledgements IBM PC International Business Machines Corp Macintosh Apple Corp SUN Sparc Station SUN Microsystems Corp LabVIEW National Instruments Corp Khepera K Team S A NOTICE e The contents of this manual are subject to change without notice e All efforts have been made to ensure the accuracy of the contents of this manual How ever should any errors be detected In this case please inform the K Team S A e The above notwithstanding K Team S A can assume no responsibility for any errors in this manual TABLE OF CONTENT Introduction 22 4 ose becine sedeeckeeeeerdbarebagnkareee 1 How to Use this Manual 1 Safety Precautions Ste dy doe ete eke e ees 2 Recycling a ner needed 2 The R bot Parts 222 0e dise aus sen trio 3 The Koala mobile robot 3 Overview and part definition 3 ON OFF battery switch 2 2 456 ce sec eee ees 7 Running mode selector reset button and settings 7 The RS232 serial lines 2 42 00 lt 004240844vee8e4 8 Motors and motor control 8 Infra red proximity sensors 10 Ambient light measurements 11 Reflected lig
3. e Set the connection configuration presented in section 4 2 e Start on your host computer a terminal emulator for instance VT100 with the serial line set to 9600 Baud 8 bit data 1 start bit 2 stop bit no parity e Type the capital letter B followed by a carriage return or a line feed The robot must respond with b followed by an indication of the version of software running on the robot and terminated by a line feed e Type the capital letter N followed by a carriage return or a line feed e The robot must respond with n followed by 8 numbers separated by a comma and terminated by a line feed These numbers are the values of the proximity sensors presents on the robots e Retry the same command N putting some obstacles on the front of the robot The response must change e Try other commands 36 List of Available Commands TI indicates CR carriage return or LF line feed indicates CR and LF A Configure PID speed controller Format of the command A Kp Ki KdII Format of the response af Effect Set the proportional Kp integral Ki and derivative Kd parameters of the speed controller At the reset these parameters are set to standard values Kp to 1000 Ki to 800 Kd to 100 B Read software version Format of the command BI Format of the response b version_of_BIOS version_of_protocol Effect Give the version of the software present in the EPROM of the robot C Set a position to b
4. modules as sub VIs One of the 30 advantages of LabVIEW is to allow a context free use of the building modules This fact is particularly interesting for debugging The button labelled stop stops the robot and the execution of the VI It is a much better way than using the stop icon above rubber because the stop button stops the robot before stopping the VI 6 6 Advanced programming Now that we have executed different manipulations using LabVIEW and Koala it becomes interesting to present how it has been programmed First it is important to be able to manipulate LabVIEW and its rolling menus It is important that you locate the Show diagram command in the Windows menu 6 6 1 Motors Select the Motors panel and open the diagram using the option Show diagram of the menu Windows Your screen now displays the following schema Motors Diagram bala y Spt Application Font Figure 26 Motors diagram corresponding to the Motors panel Each element of the panel used for displaying or getting data corresponds to an icon So the box 132 under Speed motor right is the getting variable of the correspon ding slider on the front panel of type 32 bits Integer The same is true for the icon TF labelled Stop on the left which is a boolean variable type True False This variable allows to stop the motors by sending to each one a null speed value The triangle repre sents an indirection controll
5. Format of the command R relative_address Format of the response r data Effect Read the data byte available at the relative_address 0 63 of the exten sion bus W Write a byte on the extension bus Format of the command W data relative_address Format of the response w Effect Write the data byte at the relative_address 0 63 of the extension bus 42 APPENDIX B CONNECTORS Power supply 10 20V Power supply 10 20V Power supply ground Power supply ground Battery Battery VCC 5V GND 0V Analog GND Female connector Power sense Power sense Battery temperature SS SCK MISO MOSI PAI F7 Figure 31 Universal Interface Connector pinout ne 5 3 4 5 6 7 8 GND VCC VBat GNP Figure 32 Power supply general connector pinout Configuration pin 0 Configuration pin 1 Configuration pin 2 Configuration pin 3 Rx Receive data RS232 Tx Transmit data RS232 User reserved line User reserved line Logic power supply 5V Batter power supply Battery power supply Logic power supply ground 43 DB25 female connector Not connected Not connected Receive data data from PC to Koala Not connected Transmit data data from Koala to PC Not connected Not connected Not connected Clear To Send from Koala to PC Not connected Data Set Ready from Koala to PC Not connected Ground Not connected Data Carrier Detect from Koala to PC
6. Not connected Not connected Not connected Not connected Not connected Not connected Not connected Not connected Not connected Not connected Figure 33 Direct external RS232 DCE connector pinout 44 DB25 male connector 1 NC Not connected I4NC Not connected 2 TxD Transmit data data from Koala to internal device 15 NC Not connected 3 RxD Receive data data from internal device to Koala 16 NC Not connected 4 RTS Request To Send from Koala to internal device 17 NC Not connected 5 CTS Clear To Send from internal device to Koala 18 NC Not connected 6 DSR Data Set Ready from internal device to Koala 19 NC Not connected 7 GND Ground 20 DTR Data Terminal Ready from Koala to internal device 8 DCD Data Carrier Detect from internal device to Koala 21 NC Not connected 9 NC Not connected 22 NC Not connected 10 NC Not connected 23 NC Not connected 11 NC Not connected 24 NC Not connected 12 NC Not connected 25 NC Not connected 13 NC Not connected Figure 34 Internal RS232 DTE connector pinout 45 Female connector 1 GND Power supply ground 2 SCK 3 MISO 4 MOSI 5 SPCOM 6 PAI 7 F7 8 VCC Power supply 5V Figure 35 Khepera bus compatible connector pinout 46 APPENDIX C HOW TO OPEN THE ROBOT ise AND CHANGE THE ROM ae Changing the ROM of Koala needs very fine operations The complete sequence of actions is described in this appendix Please follow very carefull
7. 900 0 10 0 20 40 60 Sensor RO Sensor R1 pesen Sensor R2 ke Sensor R3 earner Sensor R4 px Sensor R5 Sensor R6 paanan Sensor R7 Sensor L7 p Sensor L6 p e e2 Sensor L5 TT Sensor L4 SeSe N Sensor L3 vs Sensor L2 gt Sensor L1 ke Sensor LO pr 80 100 120 140 160 180 200 220 240 260 280 300 320 340 360 Angle B degrees E SRS light source So Figure 11 Typical measurement of the ambient light with the robot turning in front of a light source The angle on the X axis is measured between the forward direction of the robot and the direction of the light 12 The important difference between the various sensors is due to local differences of the sensors themselves The sensor orientation is not always radial the distance to the light source is not the same for all sensors and the local reflections due to the optics inte ract in a different way This optical interaction is also the origin of the several double maximum that can be observed on several sensors The dark correspond to a measured value of about 0 The saturation of the sensor too much light correspond to a value of about 700 All these measurements depend very strongly from various factors like the distance of the light source the colour the intensity the vertical position etc These two figures show only the global shape of the sensor s response 2 1
8. an external power supply 4 1 Configuration for robot computer communication using an exter nal power supply This configuration allows the communication between the robot and a host compu ter through a serial link On the host computer side the link is made by a RS232 line The following connections must be made see figure 16 e Between the robot and the power supply box by the universal interface cable delivered with the power supply box This cable also supports the 17 RS232 serial line of the robot e Between the power supply box and the host computer by a standard RS232 cable This cable is not in the package because there are several standards at the level of the host connector You can easily find this cable by your host computer dealer e Set the running mode selector according to the desired running mode see Running mode selector reset button and settings on page 7 Be careful that in running mode 0 the robot starts moving when powered e Plug the power supply to the wall socket To test the connection and the settings of the serial port do the following manipulation e Put the robot on a flat surface on which the robot can move around easily The battery switch must be OFF e Place the running mode selector in the position 1 setting for the running mode 1 see Running mode selector reset button and settings on page 7 e Run a terminal emulator on your host computer for instance VT 100 con nect
9. fingers and look to the result on the Get_speed VI It is also possible to give to the robot a position to reach expressed using the posi tion of the two wheels and the speed profile to reach these positions as described in sec tion 2 1 5 of this manual The target position can be given to the robot with the Control_position VI Control_position Spt Application Font Next position Next position Serial port motor left motor right al r wo o a a 100000 100000 75000 75000 50000 50000 25000 25000 0 o 25000 25000 50000 50000 75000 75000 F Figure 22 Control_position panel 2 sliders controlling the position to reach for every wheel 27 This VI is associated with the Conf_pos_param VI which set all the parameters of the speed profile Conf_pos_param Serial port E a max_speed_lett maxspeed right acceleration left acceleration_right Figure 23 Conf_pos_param panel all the parameters of the speed profile can be controlled To test the position control please start setting to 0 the two position counters of the two wheels using the Set_position VI or resetting the robot At this moment you can try the Control_position VI setting a distance of 1000 on both sliders and running the VI once clicking on the run arrow Test other movements keeping both left and right dis placements identical To start other kinds of traject
10. if you use the software LabVIEW The appendix can be referred to as necessary Chapter 1 Gives an introduction to this manual and the Koala robot Chapter 2 explains the functionality of the Koala robot and their main accessories Chapter 3 explains how to make the first test of the robot after unpac king Chapter 4 gives the standard Koala configurations Chapter 5 presents the serial communication protocol Chapter 6 is addressed to the users of LabVIEW It shows simple vir tual instruments VI to control the robot functionality and a little example of programming in this environment Appendix A details the commands of the serial communication protocol Appendix B details the connectors pinning Appendix C details how to change the ROM of the robot This operation has to be made only if really necessary Appendix D details the technical specifications of the basic Koala robot Appendix E details the different running modes 1 2 Safety Precautions Check all unit s operating voltage before operation It must be identical with that of your local power supply The operating voltage is indica ted on the nameplate of the power supply Don t plug or unplug any connector when the system is switched ON All connections including extension addition or disconnection must be made when the robot and the interface are switched OFF Otherwise damages can occur Switch OFF the robot if you will not use it for more than a day Swi
11. modules through the icon used as a con nector This use is demonstrated with the experiment on Braitenberg s vehicle The help window figure 29 displays positions and semantics associated to the icon Fos nt ot A I l lE l Too ARORA S rc I I ws H H Serial port PaRa a a a a a D Ww amp N M J Sensors Figure 29 Semantic of the Sensors connector 6 6 3 Example of Braitenberg s vehicle Select the Braitenberg panel and open the diagram using the option Show diagram of the menu Windows Your screen now displays the schema illustrated in figure 30 This schema may appear complex at first glance But as we will see it takes back elements already studied It can be decomposed into two parts serial link initialisation and avoiding behaviour LabVIEW is a data flow controlled language so the execution order of non dependent control structures is not fixed Serial link initialisation and avoi dance behaviour are independent but initialisation must occur first The sequential struc ture allows the definition of an execution order so initialisation is the first element of the sequence The second element contains the while loop where the avoidance behaviour is executed until the boolean variable Stop becomes True note the presence of a logical inversion This boolean variable is also transmitted to the Motors VI through its icon Its action will be to stop both motors In the same way the two speeds computed
12. quick as possible in an abrupt way No limitation in acceleration is considered in this mode Used in position mode the controller has as input a target position of the wheel an acceleration and a maximal speed Using this values the controller accelerates the wheel until the maximal speed is reached and decelerates in order to reach the target position This movement follows a trapezoidal speed profile as described in figure 8 The input values and the control mode of this controller can be changed at every moment The controller will update and execute the new profile in the position mode or control the wheel speed following the new value in the speed mode A status of the con troller indicates the active control mode the phase of the speed profile on target or in movement and the position error of the controller ss o 3 a max_speed a time a a a target position start position time Figure 8 Speed profile used to reach a target position with a fixed acceleration acc and a maximal speed max speed 10 2 1 6 Infra red proximity sensors Sixteen sensors are placed around the robot and are positioned and numbered as shown in figure 8 Figure 9 Position of the 16 IR sensors These sensors embed an infra red light emitter diode and a receiver For more information about these particular devices please refer to the documentation of the sen sor manufacturer The exact type is TSL2
13. sensors The graph on the left of the panel shows the values for each sensor against time 29 6 5 Braitenberg s vehicle At this stage you have a good understanding of motors and sensors functionality In the next step we will combine these two modules Let s open both panels Motors and Sensors but do not start them This way you will be able to watch at the same time data issued from the sensors and those send to the motors Open the instrument called Braitenberg3c Now your screen displays also the following panel Braitenberg3c Ko TES L Speed Speed Motor Left Speed Motor Right m Figure 25 Braitenberg s vehicle panel 3 sliders defining the sensibility thresholds Each of these three sliders defines the sensibility to the obstacles of a given group of sensors e Front corresponds to the central front sensors e 45 degrees corresponds to the lateral front sensors e 90 degrees corresponds to the sensors on the side of the robot Start the application by clicking on the arrow It is not necessary to click on the double arrow in the present case The sensibility can be modified by moving the cursors or writing directly the desired values Koala now moves avoiding bumping into obsta cles Test different sensibilities on its behaviour This control structure is inspired from the work of V Braitenberg Braitenberg84 Note that this VI uses the Motors and Sensors
14. the wheel that corresponds to 32 5 pulses per millimetre of forward displacement of the robot The Koala main processor has the direct control on the motor power supply and can read the pulses of the incremental encoder using a special unit called UPP Universal Pulse Processor It can also read the current used by each motor which are proportional to the torque on the wheels The motor power supply can be adjusted by the main processor by switching it ON and OFF at a given frequency and during a given time The basic switching frequency is constant and sufficiently high not to let the motor react to the single switching By this way the motor react to the time average of the power supply which can modified by changing the period the motor is switched ON This means that only the ratio between ON and OFF periods is modified as illustrated in figure 6 The PWM value is defined as the time the motor is switched ON basic period SOus ON period power power basic period 95 ON period Figure 6 The pulse with modulation PWM power supply mode is based on a ratio between the ON time and the total time The basic switching frequency is constant ON ON period time time The PWM values can be set directly or can be managed by a local motor control ler The motor controller can perform the control of the speed or position of the motor setting the correct PWM value according to the real speed read
15. 52 and the manufacturer is Texas Instruments This sensor device allows two measures e The normal ambient light This measure is made using only the receiver part of the device without emitting light with the emitter A new measure ment is made every 20 ms During the 20 ms the sensors are read in a sequential way every 2 5 ms The value returned at a given time is the result of the last measurement made The light reflected by obstacles This measure is made emitting light using the emitter part of the device The returned value is the difference between the measurement made emitting light and the light measured without light emission ambient light A new measurement is made every 20 ms During the 20 ms the sensors are read in a sequential way every 2 5 ms The value returned at a given time is the result of the last measurement made The output of each measurement is an analogue value converted by a 10 bit A D converter The following two sections 2 1 6 1 and 2 1 6 2 illustrate the meaning of this 10 bit values 11 2 1 6 1 Ambient light measurements The measurement of the ambient light versus the distance and angle of a light source are illustrated in figure 10 and figure 11 Measured value 1023 500 I I I I I 600 700 800 900 1000 Distance between robot and light source mm Figure 10 Typical measurement of the ambient light versus the distance of a light source of 1 1 Watt Measured value 1023
16. 6 2 Reflected light measurements The measurement of the proximity of obstacles by reflected light is not a distance measurement This kind of measure is based on the quantity of light the obstacle reflects back to the robot This measurement depends on two major factors the reflexivity of the obstacle colour kind of surface and the ambient light Figure 12 shows some measu rements giving an idea of the response of the sensor facing obstacle of different material and colours The difference is very important and this type of response has to be taken in account by the controller Measured value 1050 N A White plastic 800 MAN Wood Red plastic 600 _ Grey apie Black plastic Grey paper 400 _ 200 0 0 25 50 75 100 125 150 175 200 225 250 Distance to the wall mm Figure 12 Measurements of the light reflected by various kinds of objects versus the distance to the object The dependence of the measurement from the ambient light is not illustrated here but can be explained in the following way The light receiver has a different sensibility in different light conditions If there is a basic important ambient light the receiver is more sensible that if it works in the dark For this reason an obstacle detected in the light will 13 return a bigger value than if the same object is detected in the dark Also this difference can be important and has to be taken in account by the controller The directionality of t
17. NT measure unit 4 mA 4 RIGHT MOTOR CURRENT measure unit 4 mA 5 BATTERY TEMPERATURE measure unit 0 1 C N Read proximity sensors Format of the command NII Format of the response n val_sens_left_90 val_sens_left_45 val_sens_left_10 val_sens_right_10 val_sens_right_45 val_sens_right_90 val_sens_back_right val_sens_back_left Effect Read the 10 bit values of the 8 proximity sensors section 2 1 6 2 from 40 the front sensor situated at the left of the robot turning clockwise to the back left sensor O Read ambient light sensors Format of the command O Format of the response o val_sens_left_90 val_sens_left_45 val_sens_left_10 val_sens_right_10 val_sens_right_45 val_sens_right_90 val_sens_back_right val_sens_back_left Effect Read the 10 bit values of the 8 light sensors section 2 1 6 1 from the front left sensor turning clockwise to the back left sensor P Set PWM pulse with modulation Format of the command P pwm_motor_left pwm_motor_right Format of the response pl Effect Set the desired PWM amplitude see Motors and motor control on page 8 for more details on the two motors The minimum PWM ratio is 0 0 The maximal forward ratio 100 correspond to a value of 255 The maximal backwards ratio 100 correspond to a value of 255 Q Set general digital output state Format of the command Q output_number action_number Format of the r
18. Power supply connector B 17 1 A fuse of 12V of connectors 14 and 18 18 Power supply connector C 2 1 2 ON OFF battery switch It allows the user to switch the robot power ON or OFF When ON the robot is powered If the robot is connected to an external power sup ply the power supply has also to be switched on before the robot When OFF the robot is not powered 2 1 3 Running mode selector reset button and settings The ROM installed on your robot has an important library of software modules for the real time control of the Koala robot Part of these modules building the BIOS ensure the basic functionnalities of the Koala robot like motor control sensors scanning etc Another part of these modules ensure the interface with the user through the serial line Depending on your use of the robot remote control downloading test demo etc you can select a specific module by setting the correspondent running mode The running mode selector point 12 of figure 2 allows the selection of the most important running modes in several configurations You have the choice between the following configura tions 0 Demonstration mode execution of a Braitenberg vehicle algorithm number 3 according to the Vehicle book Braitenberg84 for obstacle avoidance 1 Mode for the control of the robot by the serial communication protocol using a serial link with a communication speed of 9600 Baud 2 Same as mode but with the commu
19. anel Motors Figure 19 Motors panel 2 sliders controlling the speed of each wheel Before to move the robot you must learn how to stop it Different means are available Starting from the most efficient e Press the reset button on the robot once e Put the value 0 for each speed using the sliders Don t forget that these new values will only be taken into account at the next execution 1 e click on the arrow e Click on the button labelled Stop You have also to click on the arrow again 25 so that the robot takes your last decision into account Before trying to give another values to the motors click again on the button to de select this option This last option is the best way to stop the robot You control directly each one of the motors by simply putting the desired speed values There are two ways of actions e Move the cursors e Write directly the desired values in the digital display Possible values are constrained between 10 and 10 so to take care of the mecha nics To transmit your order to the robot just click once on the arrow Change the values and click again You see that the robot continues moving at the same speed until new values are send If you are getting bored with clicking on the arrow try one click on the double arrow Click on the stop icon to stop the execution The robot has two incremental encoders on the wheels Using these sensors it is possible to measure the displacement an
20. d you get an ID a name a description and a version The ID is composed by four letters The first two letters define the family of the module IDs starting by TA define tasks run ning on Koala FU functions that can be executed with the run command PR protocol commands TO tools like this one and BI BIOS components k team Give a short description of the K Team active members net Give an information about the extensions installed on the robot For each item listed you get a name an ID to be used to address the turret a description and a revision 9 memory Give an information about the memory used by the system restart Reset the robot This action is the same as a hardware reset process Give the list of all processes running on Koala in parallel to the serial communication protocol management sil Start a Motorola S format downloader This downloader do not start the execution of the code at the end of the download To download and execute a code please use the sloader func tion started by the command run sloader flash Gives access to some action taken on the flash memory flash E erases the flash flash W copy the RAM to the flash The sequence flash E sfill followed by a download and flash W make your program to be stored in the flash To execute it just type run user flash or select running mode 9 5 2 The cont
21. d the speed of each wheel at every moment The VI Get_position ask for the content of the increment counter which represent the dis placement of the wheel The unit of displacement correspond to 0 03 mm Get_position Position motor lett fo Serial port a MODEN Position motor right fo a Figure 20 Get_position panel 2 indicators show the position of each wheel To test the functionality of this module just click on the double arrow to start the recurrent running mode At this moment the VI will show you the actual position of each wheel To change the position of the wheel use the Motors VI as described above and observe the result on the Get_position VI To set the position counter to a given value you can use the Set_position VI The Get_speed VI display the speed of each wheel This value is computed on the robot based on the information of the position and the time 26 Get_speed Speed motor left Serial port g non Speed motor right EU Figure 21 Get_speed panel 2 indicators show the speed of each wheel To test the functionality of this module just click on the double arrow to start the recurrent running mode At this moment the VI will show you the actual speed of each motor To change the speed of the motors use the Motors VI as described above You can also try to set the motor speed to 15 using the Motors VI then slow down the wheels with your
22. e of interaction for the control of the functionality of the robot for instance to set the speed of the motors to get the values of the sensors The interac tions allowing the set up of the robot are based on commands called tools The interac tions for the control of the robot functionality uses protocol commands and responses 5 1 The tools Here is the description of some basic tools run Start a function stored in the ROM It has to be followed by the function name The functions available in the ROM can be listed with the list tool and have a identification string beginning with FU Some of the functions correspond to the running modes presented in the section 2 1 3 Using the run tool it is possible for instance to start the demo mode Braitenberg vehicle corresponding to the running mode 0 as described in section 2 1 3 typing run demo and return serial Set the serial channel to a baud rate given as parameter For instance typing serial 19200 and return sets the baudrate to 19200 Baud help Show the help message of the modules available in the ROM A parameter can be used to indicate a need of help on a parti cular item help list gives an help message for the list tool help demo gives an help message on the demo function mentioned above list Give the list of all the tools functions protocol commands 20 and other modules available in ROM For every item liste
23. e reached Format of the command C pos_left pos_right Format of the response c1 Effect Indicate to the wheel position controller an absolute position to be rea ched The motion control perform the movement using the three control phases of a trapezoidal speed shape an acceleration a constant speed and a deceleration period These phases are performed according to the para meters selected for the trapezoidal speed controller command J The maximum distance that can be given by this command is 2 23 2 pulses that correspond to 258m The unit is the pulse that corresponds to 0 03mm The movement is done immediately after the command is sent In the case another command is under execution speed or position con trol the last command replaces the precedent one Any replacement tran sition follows acceleration and maximal speed constraints 37 D Set speed Format of the command D speed_motor_left speed_motor_right Format of the response dq Effect Set the speed of the two motors The unit is the pulse 10 ms that corres ponds to 3 millimetres per second E Read speed Format of the command EI Format of the response e speed_motor_ left speed_motor_ right Effect Read the instantaneous speed of the two motors The unit is the pulse 10 ms that corresponds to 3 millimetres per second F Configure the position PID controller Format of the command F Kp Ki Kd Format of the response ff Effec
24. e reset these parameters are set to standard values max_speed to 20 acc to 64 speed max_speed time position end position start position time 39 K Read the status of the motion controller Format of the command KI Format of the response k T_left M_left E_left T_right M_right E_right Effect Read the status of the motion controller The status is given by three num bers for every motor T target M mode and E error T 0 means that the robot is still on movement T 1 means that the robot is on the target position M 0 means that the current displacement is controlled in the position mode M 1 means that the current displacement is controlled in the speed mode E indicates controller position or speed error L Change LED state Format of the command L LED_number action_number Format of the response I Effect Perform an action on one of the two LEDs of the robot Possible actions are 0 turn OFF 1 turn ON 2 change status The LED number 0 is the lateral one the LED number 1 is the frontal one M Read robot management sensors Format of the command M sensor_number Format of the response m sensor_value Effect Read the value measured on one of the management sensors Available sensors are 0 BATTERY VOLTAGE measure unit 20 mV 1 GENE RAL CONSUMPTION CURRENT measure unit 8 mA 2 AMBIENT TEMPERATURE measure unit 0 1 C 3 LEFT MOTOR CURRE
25. ed e The robot respond with d and goes forward 80 mm e Retry the protocol command H to verify the final position e Try other commands following the description given in Appendix A We start testing some tools e Type the command help followed by a carriage return or a line feed e The robot must respond with the list of all tools available 22 e Type the command help serial followed by a carriage return or a line feed e The robot must respond with the description of the serial tool e Type the command help D followed by a carriage return or a line feed e The robot must respond with the description of the D protocol command e Type the command list followed by a carriage return or a line feed e The robot must respond with the list of all code modules present in the EPROM In addition to the tools characterised by a TOXX ID and the protocol commands characterised by a PRXX ID you can find on the list functions characterised by a FUXX ID and BIOS modules characterised by a BIXX ID On every module you can have an help message 23 6 USING LABVIEW TA The goal of this chapter is to familiarise you with the LabVIEW environment in the context of Koala use To this end the examples are presented in an increasing order of complexity our advice is to follow the chronological order of presentation Please refer to the LabVIEW manuals for more general information abou
26. ed by the boolean variable Stop If Stop is true then the output value on the right will be 0 if Stop is false then the output value is the Speed variable These values are formatted by the next two icons to a string of ASCII charac ters The character D is placed at the beginning of the string Then successively the two 31 speed values are added and the string is terminated by a carriage return n This string is send to the robot using the serial link To control the speed of the wheels from another VI the Motors VI can be used as sub VI This use is demonstrated with the Braitenberg3c VI The help window figure 29 displays positions and semantics associated to the icon Speed motor right Speed motor left Serial port Motors Figure 27 Semantic of the Motors connector 6 6 2 Sensors Select the Sensors panel and open the diagram using the option Show diagram of the menu Windows Your screen now displays the following schema 2a Sensors Diagram a E Ea TA ES ET Figure 28 Sensors diagram of the Sensors panel 32 On the contrary to the Motors panel which sends values this panel receives values from the serial link 16 values are extracted in 8 steps from the string These values are put into the variables type Integer 32 bits corresponding to the panel gauges These 16 values are transmitted to others
27. ed to the serial port on which you have connected the robot Configure your terminal as following 9600 Baud 8 bit 1 start bit 2 stop bit no parity e Plug the mural power supply to the main switch it ON then switch the robot ON Interface Link Figure 16 Configuration for the communication between the robot and the host computer using an exter nal power supply 18 Your terminal should display ROM of minirobot KOALA The transmit data Robot TxD on the power supply box green lamp should blink after reset If the robot does not respond as indicated check the points mentioned above and retry If unable to operate the serial transfer please contact your dealer 4 2 Charging configuration Warning It is necessary to discharge the batteries before recharging Avoid to start a recharging process on charged batteries This can cause damages To charge the battery of the robot the following connections have to be made e Between the battery pack and the charger module with the universal inter face cable Charger Battery bem Universal Interface Link Figure 17 Connections to recharge the robot s batteries e Between the interface charger module and the power supply with the jack e Plug the power supply to the wall socket only when these connections are established If the charger allows different charging modes select the right one Prefer a slower discharge and charge to a sim
28. ensions 3 ANALOG INPUT group of user I O extensions 4 Screws for the fixation of the upper bodywork part 5 Mechanical extension support plate 6 Khepera compatible serial extension bus 7 Parallel extension bus connector 8 Power connector for the extension rack 9 Jumper for selection of the active serial RS232 line 10 ROM 11 BDM connector only for factory use 12 POWER OUTPUT group of user I O extensions 13 DATA OUTPUT group of user I O extensions 14 Koala Universal Interface Connector UIC Viewpoint S eee Pem Figure 4 Inside view mechanical extension support plate removed with indication of some parts 1 Fixation points for the upper bodywork part 2 POWER OUTPUT group of user I O extensions 3 DATA OUTPUT group of user I O extensions 4 Khepera compatible serial extension bus 5 Internal RS232 serial line normally connected to the Koala UIC 6 DATA INPUT group of user I O extensions 7 ANALOG INPUT group of user I O extensions 8 1 A fuse of VCC 45V of connector 16 internal behind fuse 9 9 1A fuse of 12V of connector 16 10 1 A fuse of VCC 5V of group 3 internal 11 1 A fuse of 12V of group 2 internal 12 Mechanical fixation points 13 1 A fuse of VCC 5V of connectors 14 and 18 14 Power supply connector A 15 Power supply input connector normally connected to the Koala UIC 16
29. esponse qi Effect Perform an action on one of the general output lines of the robot Possible actions are 0 turn OFF 1 turn ON 2 change status Outputs 0 to 7 are the open drain outputs The ON status correspond to the transistor closed Outputs 8 to 11 are the digital ones S Read battery charge level Format of the command SII Format of the response s charge_level Effect Read the charge level of the battery The number returned is the charge 4 expressed in mAh Y Read general digital input state Format of the command Y input_number Format of the response y input_ value Effect Read the status of the general input lines T Send a message to an additional module Format of the command T module_ID command Format of the response t response Effect Send a command and return the response of the additional module with module_ID This module should be connected to the Khepera compatible serial extension bus The command parameter takes the same form as a standard command including an identification capital letter followed if necessary by numerical parameters separated by a comma and terminated by a line feed The response takes the same format starting with the same letter but in lower case followed if necessary by numerical parameters separated by a comma and terminated by a line feed The command and response format are specific for every module R Read a byte on the extension bus
30. gital Inputs Digital CMOS outputs 8 VCC 5V 2 outputs a DCO3 CMOS output channel 3 fe O DCOO CMOS output channel 0 9 GND Digital ground 2 outputs 9 BATT 12V battery voltage 2 outputs 9 DPO7 Digital power output channel 7 ro O O all DPOO Digital power output channel 0 J Q GND Power ground 2 outputs Digital open collector outputs Figure 14 Position and description of the general input and output channels 2 2 Cables and accessories The basic Koala configuration do not has any cables Cables for external power supply are supplied with the external power supply Cables for recharge are supplied with the battery recharger Some extra parts are also included in the package screws and jumpers 15 2 3 Power supply accessory An external box can provide the power supply to the Koala The power supply is connected to the universal interface connector item 14 of figure 3 The power coming from this connector goes to the robot by the battery pack see figure 15 which has to be replaced by a DC DC converter Universal Interface ea Connector f TE FES i converter E 1 external power supply 0 X Power destination lt 0 Power source Power transformation Figure 15 Power route using a battery left or an external power supply right In the case of an external power supply a DC DC converter replaces the battery pack The connection between the power sup
31. he choice of the connection is made using the selection jumper showed in figure 3 under the point 9 following the rule illustrated in figure 5 Selection active Back on Le l direct H LHe connector KJ ee Internal e connector 7 Back direct RS232 serial line connector Forward robot direction Figure 5 Jumper position for the selection of the active RS232 serial connector Two LEDs items 6 and 7 of figure 2 show the activity of the transmit and receive RS232 serial channels of the Koala CPU This activity will correspond to the activity of the connector selected as indicated in figure 5 If the activity that you observe on these lines do not correspond to the activity of your host computer when you send data the red receive LED do not show any activity for instance then the problem could be at the level of your computer the cable or the jumper illustrated in figure 5 The transmit LED green items 6 of figure 2 indicates the activity of the channel transporting data from the Koala robot to the host PC The receive LED red items 7 of figure 2 indicates the activity of the channel transporting data from the host PC to the Koala robot 2 1 5 Motors and motor control Every wheel is moved by a DC motor coupled with the wheel through a 84 1 reduction gear An incremental encoder is placed on the motor axis and gives 100 pulses per revolution of the motor This allows a resolution of 8400 pulses per revolution of
32. he sensor measurement is illustrated in figure 13 these sen sors have a field of view of about 10 degrees Measured value 1023 i I 20 10 0 10 20 Angle 8 degrees Figure 13 Typical response of a proximity sensor in front of an obstacle 20 mm in width viewed under a variable angle The characteristics of the different physical sensors can change in a large range The measurements made on six sensors of the same robot placed in near to identical conditions can be different for several reasons Small differences of sensors conditions horizontal orientation of the sensor particular device sensibility due to differences in the manufacturing process difference in distance due to the fact that the robot has not a pure cylindrical shape can bring important differences This aspect is well illustrated by figure 11 where the robot turns on place and the different sensors placed in similar con ditions react in a different way 2 1 7 Batteries The robot can be equipped with a pack composed by 10 rechargeable Nickel Cad mium batteries with a capacity spanning from 1 4 to 2 4 Ah This capacity allows the robot an autonomy of about 2 4 hours in the basic configuration and running the braiten berg obstacle avoidance algorithm The battery can be removed and recharged externally Each battery has an internal memory that can be accessed by the Koala main CPU or by the battery recharger if able to perf
33. here are sent to the Motors VI to be sent through the serial link to Koala 33 o Braitenberg3c Ko Diagram B e ke LW E eal els SOOOO0OO0O00O00OO0O00O0OO0000 Wj 0 1 ppe 2000000000000000 132 90 degre Gives to Khepera the obstacle avoidance behavior of a Braitenberg s vehicle Z a 6 EE El peed Motor Left VAS E E 4 t Speed Motor Right 132 AANE Ae amp amp Figure 30 Braitenberg s vehicle diagram of Braitenberg s vehicle panel Sensors values are received from the Sensors icon They are normalised 1000 and multiplied by the corresponding sensibility value type real Single Front corres ponds to the six central sensors numbers 0 1 and 2 45 degree corresponds to the two oblique sensors number 3 and 90 degree corresponds to the two side sensors numbers 4 and 5 The result is added to the value given by the spped input The sum of the left sensors corresponds to motor right The sum of the right sensors corresponds to motor left These two values are then send to the motors The computation needed is simple and fast enough to control Koala in real time without big delays However displaying Motors and Sensors panels is a computational expensive operation If you want Koala to move faster close these panels but don t close the Braitenberg panel 34 7 REFERENCES Be B
34. ht measurements 13 Balenee 235 eu ui ses an 14 General input and output ports 14 Cables and accessories sus sers posed easia eee es 15 Power supply accessory 15 Recharger accessory 16 Software support floppy disks 17 Unpacking Test 3 25 ere esse sen ta duh doneRe 17 Connections s020seeiddaynertoiceebeed dd gaee es saa ex 17 Configuration for robot computer communication using an external power supply 17 Charging configuration 19 The serial communication protocol 20 The to ls 22 225checedaosdsiwceeateredasacedee 20 The control protocol 3225 4 bind es pe choae thee dwes es 21 Testing a simple interaction 22 Using Lab VIEW c40cc2 debe ebaeanaea has abae anne es 24 Hardware configuration 24 Set up of the serial link 5 55 7 Lis agar es 24 MOTORS crea soera O era ERE TERE ENR EA 25 S DSOIS cg bons Ga S D e nent a a tue nes 28 Braitenberg s vehicle 30 Advanced programming 31 WIOUIS 232k anana 2 se eee 31 SENSO poicc deiin E a a E 32 Example of Braitenberg s vehicle 33 REfErenees if ds da wena ee eke aA nae eae rd aan 35 Appendix A Communication protocol to control the robot 36 Appendix B Connectors
35. nds e Type the capital letter B followed by a carriage return or a line feed The robot must respond with b followed by an indication of the version of software running on the robot and terminated by a line feed e Type the capital letter N followed by a carriage return or a line feed e The robot must respond with n followed by 8 numbers separated by a comma and terminated by a line feed These numbers are the values of the proximity sensors presents on the robots e Retry the same command N putting some obstacles on the front of the robot The response must change e Type the protocol command D 5 5 followed by a carriage return or a line feed e The robot must start turning on place and respond with d and a line feed e To stop the robot type the protocol command D 0 0 followed by a carriage return or a line feed e Type the protocol command H followed by a carriage return or a line feed e The robot must respond with h followed by 2 numbers separated by a comma and terminated by a line feed These numbers are the values of the position counters of each wheel e Type the protocol command G 0 0 followed by a carriage return or a line feed e This command set the position counters to the 2 values given as parame ters The answer is composed by a g and a line feed e Retry the protocol command H to verify that the G command has been exe cuted e Type the protocol command C 1000 1000 followed by a carriage return or a line fe
36. nication speed of 19200 Baud 3 Same as mode but with the communication speed of 38400 Baud 4 ROM user application mode start an application stored into the ROM if any 5 Downloading mode in this mode the robot waits for a program to be transferred from the host computer to the Koala robot S format 9600 Baud 6 Same as mode 5 but with the serial link at 38400 Baud 7 Test of the functionality of the robot The result of successive tests is given on the serial link 9600 Baud 8 Same as mode but using the MMA 0 as communication channel 9 FLASH user application mode start an application stored into the FLASH memory if any To store a program in flash look to the corres ponding commands of the serial communication protocol see The serial communication protocol on page 20 A F Reserved The serial link set up is always 8 bit 1 start bit 2 stop bit no parity Only the baud rate changes The set up of the jumpers can be changed at any time If the robot is run ning it is necessary to reset it to make the set up effective The reset button can be used at any time to reset the robot 2 1 4 The RS232 serial lines There are two main serial line connectors on the Koala robot the external direct RS232 serial line connector item 4 of figure 2 and the internal RS232 serial line con nector item 5 of figure 4 To avoid conflicts only one of these two connectors can be active and be connected to the CPU T
37. on the incremental enco ders target trajectory position position position PID position gt generator A error controller control J i A TS z d speed z gt spee speed PID control error controller 5 a dx dt g PWM automatic control switching YY pulse PWM PWM l counter generator A increments encoder Figure 7 Structure of the motor controllers and levels of user access Both DC motors can be controlled by a PID controller executed in an interrupt rou tine of the main processor Every term of this controller Proportional Integral Deriva tive is associated to a constant setting the weight of the corresponding term Kp for the proportional Kj for the integral Kq for the derivative The motor controller can be used in two control modes The speed and the position modes The active control mode is set according to the kind of command received If the controller receives a speed control command it switches to the speed mode If the con troller receives a position control command the control mode is automatically switched to the position mode Different control parameters Kp Ki and Kg can be set for each of the two control modes Used in speed mode the controller has as input a speed value of the wheels and controls the motor to keep this wheel speed The speed modification is made as
38. orm this action In this internal memory are sto red several characteristics of the battery like the type the total capacity and the charge level When the robot works using the battery the power consumption is measured and the charge level stored in the internal battery memory is updated By this way if the recharger updates correctly the battery it is possible to know the exact charge at every moment inside or outside the robot If the battery recharger is not able to perform this action a manual update of the battery charge can be made 14 2 1 8 General input and output ports The Koala robot has a set of free input and output lines available to the user items 2 3 12 and 13 in figure 3 Four main groups can be found e Analog input lines Input voltage have to be in the range GNA Vref which should be 0 4 096V e Digital CMOS input lines e Digital CMOS output lines low current lt 20mA 0 5V A GND and VCC outputs are available in this group e Digital open collector output lines high current lt 250mA 0 12V A bat tery voltage output and a power ground are available in this group Figure 14 shows the position of these four main groups specifying all single lines Analog inputs Vref Reference voltage 4 096V Jo 9 ANA5 Analog channel 5 l O ANAO Analog channel 0 O GNA Analog ground Q DINII Digital input 11 O O O 2 O QI _LO DINO Digital input 0 Di
39. ory bring back the robot to the 0 position or use the Set_position VI to reset the counter Then use the Conf_pos_param VI to set the left maximal speed to 10 the left acceleration to 32 and keeping the values of the right tra jectory to the default value indicated in figure 24 Run the VI once to make these values effective Then set on the Control_position VI the goal position of the left wheel to 1000 and the goal position of the right wheel to 2000 Run the VI once and observe the trajectory of the robot 6 4 Sensors In its basic version Koala has 16 infra red sensors You will now easily understand their characteristics Be sure of the set up of the serial link then open the Sensors VI that you have on the floppy disk Now your screen displays the following panel 28 Sensors Figure 24 Sensors panel 16 gauges displaying the infra red values Each proximity sensor is displayed as a gauge The gauges are placed on the panel like the corresponding sensors on the robot The exact value received is written under neath Values are between 0 and 1023 Start the acquisition as before by clicking on the double arrow to stop the execution click on the stop icon that will appear Now you are free to test the response of the sensors In particular some materials reflect better than others the infra red light emitted by the sensors You are also able to state difference in the individual response of the proximity
40. ple charge which can in long term damage the battery If a selection is required consider that the battery pack includes 10 cells 19 5 THE SERIAL COMMUNICATION PROTOCOL ABS The serial communication protocol allows the complete control of the set up and of the functionnalities of the robot through an RS232 serial line It correspond to running modes 1 to 3 see Running mode selector reset button and settings on page 7 The connection configuration necessary to use these functionnalities is presented in the sec tion 4 1 of this manual The set up baudrate as well as data start stop and parity bits of the serial line of your host computer must correspond to the one set on the robot with the jumpers running modes 1 to 3 always 8 bit 1 start bit 2 stop bit no parity The communication between the host computer and the Koala robot is made sen ding and receiving ASCII messages Every interaction is composed by e A command sent by the host computer to the Koala robot and followed by a carriage return or a line feed e When needed a response sent by the Koala to the host computer In all communications the host computer plays the role of master and the Koala the role of slave All communications are initiated by the master The communication is based on two types of interactions one type of interaction for the set up of the robot for instance to set the running modes the transmission bau drate and one typ
41. ply and the Koala robot is made by the general interface cable and rotating cable provided with the power supply The power supply box has a RS232 connector which is linked to the Koala robot internal RS232 connector To use it please be careful about the RS232 configuration jumper see The RS232 serial lines on page 8 SAFETY PRECAUTION The power supply must be connected to the wall socket and switched ON only when all other connections are already made 2 4 Recharger accessory To be recharged the battery pack has to be removed from the Koala The general interface connector placed on the battery pack can be used to recharge it Different types of rechargers are available e Standard rechargers these rechargers can recharge the battery included in the pack but do not access to the internal memory and do not update the data stored inside the battery pack This operation has to be performed manually if necessary e Intelligent rechargers this type can access to the internal memory can recognise automatically the type of accumulator the capacity and the charge level They also update the internal memory state and let you use the full possibilities of the intelligent power management of the Koala 16 2 5 Software support floppy disks Three 3 5 floppy disks contain all the modules for interfacing the Koala robot with LabVIEW in it version 4 1 on PC Macintosh and SUN see Using LabVIEW on page 24 The
42. ra Red proximity and light sensors Battery and ambient temperature Motors torque and global power consumption Power Rechargeable NiCd Battery with charge level memory The battery pack can be easily removed and replaced Autonomy 3 hours Basic configuration with 2 4 Ah battery The robot can be expanded by modules added on the K Extension rack Khepera turrets with local processor and PC104 modules are also supported A special support is available on the front part of the robot for mechanical extensions 12 digital inputs 5 12V 4 CMOS TTL digital outputs 8 power open collector digital outputs 12V 250mA output 6 analog inputs 10 bits A D converter 4 096V of dyna mic Length 32 cm Width 32 cm Height 20 cm about 3 Kg 49 APPENDIX E RUNNING MODES Be Figure 39 Running mode selector the white line indicates the active mode When changed the active Running modes see Running mode selector reset button and settings on page 7 0 White line EU mode becomes available only after a reset of the robot Demonstration mode execution of a Braitenberg vehicle algorithm number 3 according to the Vehicle book Braitenberg84 for obstacle avoidance Mode for the control of the robot by the serial communication protocol using a serial link with a communication speed of 9600 Baud Same as mode 1 but with the communication speed of 19200 Baud Same as mode 1 but with
43. raitenberg84 Braitenberg V Vehicles Experiments in synthetic psychology MIT Press 1984 Mondada93b Mondada F Franzi E and Ienne P Mobile robot miniaturisation a tool for investigation in control algorithms ISER3 Kyoto Japan 1993 National92 National Instruments LabVIEW manuals 1992 1996 K Team94 Khepera User Manual 4 0 K Team manuals Lausanne 1994 35 APPENDIX A COMMUNICATION PROTOCOL TO CONTROL THE ROBOT A This communication protocol allows the complete control of the functionality of the robot trough a RS232 serial line The connection configuration needed is presented in section 4 2 The set up of the serial line of your host computer must correspond to the one set on the robot with the jumpers running modes 1 to 3 The protocol is constituted by commands and responses all in standard ASCII codes A command goes from the host computer to the robot it is constituted by a capital letter followed if necessary by numerical or literal parameters separated by a comma and terminated by a line feed The response goes from the robot to the host computer it is constituted by the same letter of the command but in lower case followed if necessary by numerical or literal parameters separated by a comma and terminated by a line feed To better understand this protocol we propose to do a very simple test as following e Set the jumpers of the robot for the running mode number 1 See Figure 4
44. robot 2 1 1 Overview and part definition Figure 1 Side view and position of some parts of the robot Make an external inspection of the robot Note the location of the following parts 1 Controls and indicators 2 Cover 3 Infrared proximity sensors 4 Upper bodywork part 5 Front bodywork part 6 Motion block 7 Wheels 8 Wheel fixation E EREK OS A WN 7 8 9 Figure 2 Back view and location of some parts Infrared proximity sensors Upper bodywork part Cover can be removed easily Direct RS232 serial port Reset button has to be pressed inside the body Green TxD transmit data indication Light Emitting Diode LED data from the Koala robot to the host computer Red RxD receive data LED data from host computer to the Koala robot Lateral left bodywork part Green user reserved LED number 0 10 Green user reserved LED number 1 11 Red user reserved LED used by process ALIVE blinking or user reser ved number 2 12 Running mode selector 0 to 15 13 10 A main power fuse inside the robot 14 Green power supply LED 15 Red empty battery LED 16 ON OFF battery switch O O O O O O O O oO O O Oo O O oO O O O O 0 Figure 3 Top view cover and protection plate removed with indication of some parts 1 Fixation points for the protection plate and the extension rack 2 DATA INPUT group of user I O ext
45. rol protocol To control the functionnalities of the Koala robot motors sensors etc a set of command are implemented in the control protocol Also in this case the communication with the Koala robot is made sending and receiving ASCII messages Every interaction between host computer and Koala is composed by e A command beginning with one or two ASCII capital letters and followed if necessary by numerical or literal parameters separated by a comma and terminated by a carriage return or a line feed sent by the host computer to the Koala robot e A response beginning with the same one or two ASCII letters of the com mand but in lower case and followed if necessary by numerical or literal parameters separated by a comma and terminated by a carriage return and a line feed sent by the Koala to the host computer In all communication the host computer plays the role of master and the Koala the role of slave All communications are initiated by the master The protocol commands are 17 and a complete description is given in Appendix A 21 5 3 Testing a simple interaction To better understand both tools and protocol commands we propose to do a very simple test as following e Set the connection configuration presented in section 4 2 e Start on your host computer a terminal emulator for instance VT100 with the serial line set to 9600 Baud 8 bit data 1 start bit 2 stop bit no parity We start testing some protocol comma
46. software LabVIEW is a product of National Instruments and is not inclu ded in the package 3 UNPACKING TEST F After unpacking it is important to test the functionality of the robot A test that uses most of the possible functionnalities is available with the running mode 0 a Braiten berg vehicle see Running mode selector reset button and settings on page 7 To obtain this running mode operate as following e Put the robot on a flat surface without danger for the robot Water or steps on the ground have to be considered as dangerous for the robot Be aware that the robot will move rather quickly and avoiding obstacles will avoid your hand approaching to switch it OFF e Verify to be in running mode 0 setting for the running mode 0 see Run ning mode selector reset button and settings on page 7 e Switch the robot ON and put the robot on the ground The robot must start to go forward while avoiding obstacles The obstacles must be bright to better reflect the light of the proximity sensors If the robot does not operate properly check the three points mentioned above recharge the robot and retry If the robot does not correctly avoid the obstacles please contact your Koala dealer 4 CONNECTIONS Ae There are two widely used standard configurations a first one used to charge the robot battery and a second one that allows the communication between the robot and the host computer when the robot is connected to
47. t Set the proportional Kp the integral Ki and the derivative Kd para meters of the position regulator At the reset these parameters are set to standard values Kp to 400 Ki to 4 Kd to 400 G Set position to the position counter Format of the command G position_motor_left position_motor_right Format of the response gf Effect Set the 32 bit position counter of the two motors The unit is the pulse that corresponds to 0 03 mm H Read position Format of the command HI Format of the response h position_motor_left position_motor_right Effect Read the 32 bit position counter of the two motors The unit is the pulse 38 that corresponds to 0 03 mm I Read A D input Format of the command I channel_ number Format of the response i analog_value Effect Read the 10 bit value corresponding to the channel_number analog input The value 1024 corresponds to an analog value of 4 09 Volts J Configure the speed profile controller Format of the command J max_speed_left acc_left max_speed_right acc_right Format of the response jf Effect Set the speed and the acceleration for the trapezoidal speed shape of the position controller The max_speed parameter indicates the maximal speed reached during the displacement The unit for the speed is the pulse 10ms that corresponds to 3 mm s The unit for the acceleration is the pulse 256 10 ms 10 ms that correspond to 1 172 mm s2 At th
48. t this software LabVIEW runs on your PC Macintosh or SUN and controls the functionality of the Koala robot using the serial communication protocol described in chapter 5 6 1 Hardware configuration Set your environment as explained in section 4 1 The running mode selector must be set to obtain the running mode 2 6 2 Set up of the serial link To enable the exchange of information between your computer and the robot you have to set up the serial link Be sure that the connection cable is connected at both ends that the robot is powered then start LabVIEW and open the Set up virtual instrument called also VI present in your floppy disk The following panel appears linput XON XOFF input Hw Handshake joutput XON ROFF output Hw Handshake output alt Hw HSh4 XOFF byte 4 x XON byte 4 x parity error byte Figure 18 Set up panel for serial link initialisation 24 Now select the serial port on which the robot is connected This selection must be made for every module that you will use Then click once on the run arrow at the top of the window That s all The serial link with Koala is set to 19200 baud It will remain so until you quit LabVIEW 6 3 Motors We will now control the displacement of the robot Be sure that the serial link has been correctly installed then open the Motors VI present on the floppy disk Now your screen displays the following p
49. tch the robot and any additional power supplies OFF if you do not work with the robot Do not open the robot if you do not have been explicitly allowed Open the robot only if you have been allowed by a specific documentation Perform this operation following carefully the instructions given in appendix C Do not manually force any mechanical movement Avoid to force by any mechanical way the movement of the wheels or any other part Avoid to push the robot in a way that forces the wheels If you have any questions or problems concerning the robot please contact your Koala dealer 13 Recycling Think about the end of life of your robot Parts of the robot can be recycled and it is important to do so It is for instance important to keep Ni Cd batteries out of the solid waste stream When you throw away a Ni Cd battery it eventually ends up in a landfill or municipal incinerator These batteries which contain heavy metals can contribute to the toxicity levels of landfills or incinerator ash By recycling the Ni Cd batteries through recycling programs you can help to create a cleaner and safer environment for genera tions to come For those reasons please take care to the recycling of your robot or robot accessories at the end of its life cycle for instance sending back the old equipment to the manufacturer or to your local dealer Thanks for your contribution to a cleaner environment 2 THE ROBOT PARTS TA 2 1 The Koala mobile
50. the communication speed of 38400 Baud ROM user application mode start an application stored into the ROM if any Downloading mode in this mode the robot waits for a program to be transferred from the host computer to the Koala robot S format 9600 Baud Same as mode 5 but with the serial link at 38400 Baud Test of the functionality of the robot The result of successive tests is given on the serial link 9600 Baud Same as mode but using the MMA 0 as communication channel FLASH user application mode start an application stored into the FLASH memory if any To store a program in flash look to the corres ponding commands of the serial communication protocol see The serial communication protocol on page 20 A F Reserved The serial link set up is always 8 bit 1 start bit 2 stop bit no parity Only the baud rate changes The set up of the jumpers can be changed at any time If the robot is running it is necessary to reset it to make the set up effective 50
51. y these instructions A wrong action can cause mechanical damages to your robot We do assume no res ponsibility for your wrong manipulations The ROM is situated on the main CPU board of the robot To change it please e Disconnect the robot from the power supply switch the robot OFF e Open the robot by removing the CPU cover and the protection plate Be very careful in this operation and be sure to be statically discharged e To extract the EPROM operate carefully There are two access holes that make the extraction possible as indicated in figure 36 Figure 36 Location of the access holes for the extraction of the ROM e Use a specific extraction tool to push out the EPROM very carefully and in a parallel way as indicated in figure 37 DL RARE GOOD DAMAGE BAD Figure 37 Correct and wrong ROM extraction operation On the left the ROM extraction tool 47 e Finally plug the new EPROM Be careful about the orientation given by a corner of the ROM as showed in figure 38 Ey A Figure 38 One corner of the chip define its orientation e Place protection plate and cover again 48 TECHNICAL SPECIFICATIONS eo Extension busses User free I O Size Weight APPENDIX D Processor Motorola 68331 16MHz RAM 1 Mbyte Flash 256Kbyte ROM 128Kbyte Motion DC Motors with incremental encoder about 25 pulses per mm of avancement of the robot Sensors 16 Inf
Download Pdf Manuals
Related Search
Related Contents
Sub-Zero 427RG Refrigerator User Manual PS751 Guía de inicio rápido A120 User Manual Canon iP5000 Photo Printer User Manual PR-6DSS(S) Brinks Home Security 23042-119 Installation Guide External calibration of the leak detector 2007年 コンシューマーレポートvol.12 Nilfisk-ALTO GHIBLI 16FX Musical Instrument User Manual Copyright © All rights reserved.
Failed to retrieve file