Evolution Robotics ER1 User Manual

Personal robot system
Table of Contents

Advertisement

Quick Links

Advertisement

Table of Contents
loading
Need help?

Need help?

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

Questions and answers

Subscribe to Our Youtube Channel

Summary of Contents for Evolution Robotics ER1

  • Page 2 © 2002 Evolution Robotics, Inc. All rights reserved. Evolution Robotics and the Evolution Robotics logo are trademarks of Evolution Robotics, Inc. ® Microsoft DirectX is a trademark of Microsoft Corporation. ® Microsoft Speech SDK 5.1 is a trademark of Microsoft Corporation.
  • Page 3 • Do not operate the robot near pets. • Use only as described in the instruction manual. Changes or modifications not expressly approved by the party responsible for compliance could void the user’s authority to operate the equipment. 47 C.F.R. section 15.21. ER1 User Guide...
  • Page 4 When disposing of the battery pack, comply with local ordinances or regulations. Nothing herein shall constitute a warranty, expressed or implied, including any warranty of merchantability or fitness. In no event shall Evolution Robotics be responsible for any special, incidental or consequential damages.
  • Page 5: Table Of Contents

    Possibilities ......................1-3 Customer Support ....................1-4 Registration ......................1-4 ER1 Community ..................... 1-4 Chapter 2: Getting Started ER1 and the RCC software ..................2-2 Robot Specifications ..................2-3 Laptop Requirements..................2-3 Optional Second Camera ..................2-3 Optional Remote Control ..................
  • Page 6 Recognized Objects ....................4-2 Obstacle Camera (optional) ..................4-2 Mute Sound Checkbox.....................4-2 Navigate ........................4-2 Battery........................4-3 Stop Recognizing Objects..................4-3 Chapter 5: Function Buttons New Button ......................5-1 Open Button ......................5-2 Save Button......................5-2 Save Only Active Fields ...................5-2 Settings Button......................5-3 Help Button......................5-4 ER1 User Guide...
  • Page 7 ....................... 8-5 Remote Control Tab....................8-6 Email Tab........................ 8-9 Motion Tab......................8-11 Obstacle Avoidance Tab ..................8-12 Positioning the Obstacle Avoidance Camera........... 8-12 Avoidance Camera Calibration................ 8-13 Avoidance Camera View ................. 8-13 Obstacle Avoidance At Work ................8-14 ER1 User Guide...
  • Page 8 Setup..................10-3 Older Windows Telnet Setup.................10-3 Using the Telnet Connection .................10-4 Commands ......................10-5 Examples ......................10-5 Command Quick Reference................10-5 Move Command ....................10-6 Move Distance ....................10-6 Move Rotate Toward Object ................10-7 Move Rotate Toward Color ................10-7 Move Drive Toward Object................10-8 ER1 User Guide...
  • Page 9 Digital Input/Output Commands................10-15 Electrical Characteristics ................10-15 Input Digital....................10-16 Output Digital ....................10-16 Input Analog ....................10-18 Building ER1 Scripts .................... 10-19 Download Java SDK..................10-20 Compiling ...................... 10-20 Running the Script ..................10-20 TestClient.java ...................... 10-21 Java API Example Programs.................
  • Page 10 ..........C-1 Take a picture of the family and email it to Uncle Fred........C-2 Send an email if ER1 hears a loud sound while you are away ......C-2 Remind you to take the muffins out of the oven ..........
  • Page 11 Email video of the party every hour to a sick friend who couldn’t make it ..C-7 Medium ........................C-8 Teach the ER1 to dance and entertain your friends .........C-8 Read books out loud to your child (while under your supervision)....C-9 Teach your child the names of things (while under your supervision)....C-9...
  • Page 12 Table of Contents ER1 User Guide...
  • Page 13: Chapter 1: Introduction

    ER1 Personal Robot System and pleased to welcome you to our family of owners. The ER1 is the first genuinely useful and affordable personal robot that is also extendable and programmable by you. To give you the full programming and processing power of the personal computer, as well as wireless capabilities, we designed the ER1 around a laptop as its brain.
  • Page 14: Robot Control Center Software

    Chapter 1 Introduction Your first steps are to assemble your robot, add your laptop, install the software, and start the ER1 RCC software. If you have the ER1 kit, the assembly will take about an hour. The instructions are in Appendix A, Assembly Instructions.
  • Page 15: Possibilities

    • Click on the Run it button. As soon as the trigger condition in the If column has been met, the behaviors will be executed. With this basic strategy, you can program your ER1 to do amazing things. With accessories such as the Gripper Arm (soon to be released) you can have the robot carry things from one place to another.
  • Page 16: Customer Support

    If you lose this sticker, you can also find the robot serial number on the Robot Control Module. ER1 Community The ER1 community is a place to share development ideas, lessons learned, shortcuts and applications. After you have completed registration, visit the ER1 community at www.evolution.com.
  • Page 17: Chapter 2: Getting Started

    • The robot only operates from the battery's power and cannot draw power directly from the wall outlet. In the Robot Control Center (RCC) software ER1 User Guide...
  • Page 18: Er1 And The Rcc Software

    Instructions” for help, if needed.) 6. If you'll be operating your robot remotely from another computer, use the CD to load the ER1 software onto that machine as well. This use is permitted by your RCC software license. 7. Your robot needs to be trained to recognize your speech patterns, and to adjust to your microphone, if you plan to use sound related features.
  • Page 19: Robot Specifications

    ® 98, Windows 2000, Windows XP, or Windows Me. Important Note: The ER1 Robot Control Center software is a 1024 by 768 application. It will run on all displays with 1024 by 768 or higher resolution. Because the application has a large number of fixed fields, it will not scale/resize, so on screens larger than 1024 by 768 the RCC will have a border around it, but will continue to work perfectly.
  • Page 20: Optional Remote Control

    If you plan to program your robot to send and receive email, you need the following: • Access from your robot laptop to a Internet connection. • An incoming Evolution Robotics RobotMail account for your robot. We will provide a RobotMail account that will allow you to send your robot email to initiate preprogrammed commands.
  • Page 21: Trying Out The Software

    The following is an example of a simple exercise to test your robot. 1. Start the RCC software on the robot’s laptop. 2. Select the Sight checkbox from the If column. Sight checkbox Color Pulldown menu 3. Click on the color pulldown menu. ER1 User Guide...
  • Page 22 • In the Run after pulldown menu, select Behavior 1. Sequence checkbox Run after pulldown menu 8. In the Then column, select the Play a Sound checkbox. • Type the number 2 in the Phrase to Speak textbox. ER1 User Guide...
  • Page 23: Making The Robot Move

    2. Open the RCC software if it isn’t open already. If you have previously created a behavior, click on the New button to save the previous behavior and to start a new one. ER1 User Guide...
  • Page 24 6. The Capture Object dialog box will appear. Name textbox Image file textbox View button Distance from Units camera textbox pulldown menu Ok button Fill in: • Name - Type “Eight”. • Image File - This will automatically change to Eight.bmp ER1 User Guide...
  • Page 25 This Direction pulldown menu 9. Select the Behavior 2 tab at the top of the screen. 10. Click on the Sequence checkbox and select Behavior 1 from the Run after pulldown menu. Run after Sequence checkbox pulldown menu ER1 User Guide...
  • Page 26 21. Select the Behavior 1 tab. 22. Select the Sequence checkbox and select Behavior 4. This will create a continuous loop in the behaviors. 23. Click on the Behavior Settings button. The Behavior Settings dialog will be displayed. 2-10 ER1 User Guide...
  • Page 27 25. Ok, let’s try it. Click on the Run it button and show the robot the paper with the number 8 on it. The robot will do a figure 8. 26. To stop the robot, click on the Stop button. ER1 User Guide 2-11...
  • Page 28 Chapter 2 Getting Started 2-12 ER1 User Guide...
  • Page 29: Chapter 3: Behavior Programming Overview

    • Save the sequence of behaviors you have created. • Click on the Run it button. As soon as the trigger condition in the If column has been met, the behaviors will be executed. With that in mind, let’s explore robot behaviors in more detail. ER1 User Guide...
  • Page 30: Behavior Tabs

    Chapter 3 Behavior Programming Overview An ER1 behavior is a rule that describes what the robot should do when a certain condition is met. (For the developers among you, in programming terms, an if-then statement is used to encode the condition-action rule of a behavior.)
  • Page 31: If Conditions

    To have the robot react to a spoken word or phrase, type it into the Listen For text box. The ER1 RCC software uses Microsoft Speech SDK 5.1 to recognize the words typed into this text box. Microsoft’s speech recognition works better after it has been trained on the user’s voice.
  • Page 32: Time Condition

    The behavior is not considered completed until all specified actions are completed: • Move actions are completed when the robot reach the specified target. • The Play Sound action is considered completed when the sound file is finished playing. ER1 User Guide...
  • Page 33: Move

    This button only becomes active while a behavior is being run. Behavior Execution As mentioned earlier, a sequence of behaviors linked together by the sequence condition is uninterruptible. All sequences begin with a behavior that has a non-sequence condition ER1 User Guide...
  • Page 34 Teddy’s mailbox will fill up with hundreds of emails after just a few minutes. This is why in the Run tab of the behavior settings dialog, there is also a Prevent starting for __ seconds setting. Once a behavior has executed, it will not run ER1 User Guide...
  • Page 35: Behavior Error And Logging

    , and resides in the same directory as er1.log the ER1 RCC software. During the course of executing the task, the robot might encounter an error condition that will cause it to abort the current behavior or the entire task.
  • Page 36 Chapter 3 Behavior Programming Overview ER1 User Guide...
  • Page 37: Chapter 4: Audio, Video And Navigation Controls

    Chapter 4 Audio, Video and Navigation Controls The left side of the ER1 Robot Control Center (RCC) software window is used for direct control of the robot, and does not require that any If / Then conditions be set. Video Display The Video window displays the live feed from the robot's camera.
  • Page 38: Recognized Objects

    The optional second camera is used by the software for simple obstacle avoidance. This window will only be active if you have a second camera installed on your ER1. In order to use your second camera for obstacle avoidance, you must calibrate it. Otherwise, you will find that your obstacle avoidance simply is not avoiding obstacles.
  • Page 39: Battery

    This option, if selected, specifies that RCC stop recognizing objects. Object recognition takes a lot of processing power, so turning this feature off will speed up other ER1 activities. Note that when the Stop Recognizing Objects box is checked, capturing objects is still enabled.
  • Page 40 Chapter 4 Audio, Video and Navigation Controls ER1 User Guide...
  • Page 41: Chapter 5: Function Buttons

    Select a location for your behavior set and type in a name. Make sure that the name is unique and descriptive so it is easy to find as you add more behavior sets. The file is saved as a file. .rbt ER1 User Guide...
  • Page 42: Open Button

    Click on the Save Button. You may click on the Cancel button at any time to cancel and return to the main RCC screen. The default directory is named and is in the ER1 program directory. If you have already behaviors named your behavior set, just type to save your behavior set.
  • Page 43: Settings Button

    Advanced users may wish to change settings that will improve speed of performance, size and resolution of image, and interval for repeating the sound file for a given image. For most users, no adjustment of the Settings is necessary. The RCC Settings are described in “Settings”. ER1 User Guide...
  • Page 44: Help Button

    The help topics are organized in the same manner as this Guide. You can find help topics by clicking on a section, using the index, typing in a search topics or going to your list of favorites. ER1 User Guide...
  • Page 45: Chapter 6: If Conditions

    There are five If condition buttons/dialog boxes, each of which corresponds to an independent condition on which to trigger one or more actions. The five conditions, described below, are: • Sight • Sound • Time • Message Receive • Sequence ER1 User Guide...
  • Page 46: Sight Condition

    The Capture button allows you to capture an image from the robot’s video feed. If you are using a wireless connection to control your robot, note that the picture file will be stored on the robot’s laptop. ER1 User Guide...
  • Page 47 NOT let you edit the image itself. To change information for a specific graphic, display that image in the Viewer by scrolling through the graphics files using the scrollbar to the right of the display. Click on the image to select it. Click on the Modify ER1 User Guide...
  • Page 48 Modify dialog box for that image. This dialog box allows you to change/select: • Name - The ER1 image name, which is NOT the Microsoft Windows filename. • Image - This textbox specifies the Windows filename. (To find a filename on your system, use the Browse button.
  • Page 49 Sight Condition The Add button option allows you to add an existing image to ER1's library of recognized objects. Click on the Add button and the Add Object Dialog box will appear. It has the following parameters: • Name - This will be the RCC, not the Windows, filename for the object.
  • Page 50: Motion

    Time Condition Click on the Time checkbox to make this condition active. Use the three drop-down menus to have ER1 perform an action at a specific time, or at a regular interval (e.g., once, or hourly). • The first drop down menu lets you choose time increments of one hour (1:00, 2:00, etc.).
  • Page 51 Run it button. Information about the scheduling of timed behaviors is written to the log file in the ER1 folder of your program files, so it is easy to see when your behaviors will run next. Also, if...
  • Page 52: Message Receive Condition

    The first time you log in, you will need the default username, evolution the default password, 2. On the web site, you will be directed to the ER1 community area. 3. You will be prompted to choose a username and password for your evolution.com login.
  • Page 53: Sequence Condition

    The Run After menu lists all available behaviors. Select a behavior from the pulldown menu. For an example of how to link behaviors together to complete a task, see the Making the Robot Move section. ER1 User Guide...
  • Page 54 Chapter 6 If Conditions 6-10 ER1 User Guide...
  • Page 55: Chapter 7: Then Action

    The Try It button at the top of the action list allows you to immediately try out an action you've programmed, so that you can verify that it works correctly before running the behavior. The actions to take as a result of a triggered If condition are described in the following sections. ER1 User Guide...
  • Page 56: Move

    ROBOT TO MOVE. The robot should detect whether or not the laptop is plugged into a wall outlet and should not move until the laptop is unplugged. However, take care to ensure that the laptop is unplugged, because if the robot fails to detect that the laptop is ER1 User Guide...
  • Page 57: Play A Sound

    Your default internet browser will be used to open the webpage. • If the file you wish to open is in the same directory as , you do not need to er1.exe specify the path to the file. ER1 User Guide...
  • Page 58: Message Send

    If condition. The message send occurs immediately if the If condition is true. To use this option, your robot's laptop must have access to the Internet. You also must have an email account set up with your ISP. Evolution Robotics RobotMail will not send outgoing messages. The fields are: •...
  • Page 59 ...etc. • Then Email It To - Enter one or multiple email addresses to which the message should be sent. Aliases are not supported; a full email address must be provided. ER1 User Guide...
  • Page 60 Chapter 7 Then Action ER1 User Guide...
  • Page 61: Chapter 8: Settings

    Motion Tab, Obstacle Avoidance Tab, Log Tab About Tab. Note that if you are controlling your robot by wireless connection, the Settings that you will see from the remote computer are those set on the robot’s laptop. ER1 User Guide...
  • Page 62: Sight Tab

    To improve recognition speed, the robot does not look for behavior trigger colors once the behavior starts -- only colors needed for the specific behavior that was triggered are recognized. ER1 User Guide...
  • Page 63: Camera Tab

    • The object recognition camera is best mounted at the robot's "eye level". • The obstacle avoidance camera is best mounted angled toward the floor in front of the robot. Contact Evolution Robotics about getting additional hardware to mount your camera.
  • Page 64: Resolution

    Valid values are 0-100. The default value is 85. • Smoothing - One of the side effects of JPEG compression is jagged edges. This parameter allows you to correct for that. Valid values are 0 to 100. The default is 0. ER1 User Guide...
  • Page 65: Sound Tab

    CD. If this box is not checked, sounds are played sequentially. This checkbox is selected by default. • Text to speech voice - This pull-down menu is used to select the voice that the robot will use to read text. The system default voice is "default voice". ER1 User Guide...
  • Page 66: Remote Control Tab

    • Double-click on the wireless icon in the system tray (bottom right of your Windows screen). • In the Properties menu, select Wireless Net Tap. • Add a new network. • The SSID name for the new network should be: ADHOC. • Go to Advanced Settings. ER1 User Guide...
  • Page 67 • Save the new network settings. If you are unsure how to set up a wireless network on your version of Windows, check the Windows Help files. If you are still having trouble, contact Evolution Robotics Customer Support. 6. Next, configure the robot laptop's Windows operating system to connect directly to the remote computer using a wireless connection.
  • Page 68 • Allow API Control of this instance - If this option is selected, the ER1 can be controlled using the API instead of through the RCC interface. If this option is selected, a port must be specified.
  • Page 69: Email Tab

    Email Tab This tab is used to set up ER1 email parameters for both incoming and outgoing email (you must have Internet access on your laptop for this to work). If you plan to program your robot to send and receive email, you need the following: •...
  • Page 70 • Password - The login password you use to access your RobotMail account. • Check for mail every __ minutes - Specifies how often should the ER1 software should check with the server to see if it has an email. Five minutes is the default.
  • Page 71: Motion Tab

    The Reverse sense of forward and backward arrows when manually moving the robot checkbox will change the upward pointing arrow (under the Obstacle Avoidance camera ER1 User Guide 8-11...
  • Page 72: Obstacle Avoidance Tab

    Obstacle Avoidance Tab ER1's obstacle avoidance feature uses a downward-pointing camera to detect obstacles in front of the robot. The detection area is a trapezoid in front of the robot whose size and shape depends on the height and angle of the avoidance camera. The avoidance algorithm works by detecting the lines between regions with different colors in this trapezoid.
  • Page 73: Avoidance Camera Calibration

    When obstacles are seen, the red marks move down from the top to indicate where the avoidance algorithm sees the obstacles in the image. ER1 User Guide 8-13...
  • Page 74: Obstacle Avoidance At Work

    This should be the first place that you look when you encounter a problem. If you are using a wireless connection, the incoming remote connection to the machine controlling the robot is monitored as well. This includes logging of 8-14 ER1 User Guide...
  • Page 75: About Tab

    To see these messages, logging must be enabled in both computers. • Clear Log - To delete all of the entries in the log file, click on this button. About Tab This tab displays the RCC software's version number, date and copyright information. ER1 User Guide 8-15...
  • Page 76 Chapter 8 Settings 8-16 ER1 User Guide...
  • Page 77: Chapter 9: Behavior Settings

    A dialog box appears. Along the top of the box are a number of tabs, described in the sections that follow. Important Note: A good place to get ideas and help in creating behaviors is the ER1 community. If you have registered your ER1, you can join the ER1 community at www.evolution.com.
  • Page 78: Color Recognizer

    Color Recognizer These parameters are used set the sensitivity of ER1’s color recognition feature. • Color Tolerance - This parameter allows you to specify a minimum color recognition tolerance value. The lower the number, the greater confidence the software has that it has identified the correct color.
  • Page 79: Sound Tab

    • Smoothing - Compressing an image as a JPEG can cause sharp edges to appear rough or jagged. Smoothing lets you specify how much to smooth rough edges created by the compression process. 0 means no smoothing, 100 means maximum smoothing. ER1 User Guide...
  • Page 80: Video Tab

    The sequence number is appended to the name of the file, before the extension. Video Tab This tab is used to configure the video preferences. ER1 User Guide...
  • Page 81: Motion Tab

    Motion Tab This tab is used to configure options related to the robot’s motion. Parameters can be specified for a specific behavior, otherwise the default values will be used. ER1 User Guide...
  • Page 82: Rotation Angular Velocity

    50 cm/sec, because the robot cannot be operated safely above this speed. The minimum value is 5 cm/second. • Fixed Distance - This sets the maximum linear velocity to use when traveling a fixed distance. The default value is 20. ER1 User Guide...
  • Page 83: Motor Power

    When collision detection is turned off, the ER1 will move without checking to see if it has bumped into any objects. When collision detection is turned on, the ER1 will use the camera's video feed to determine if the robot has collided with some object. In that case, the ER1 responds by stopping and backing up a short distance before continuing on its intended path.
  • Page 84: Obstacle Avoidance

    Chapter 9 Behavior Settings Obstacle Avoidance These parameters are used to activate and adjust the ER1’s obstacle avoidance system. • Avoid Obstacles - To activate the obstacle avoidance system, select this option. This option is set to off by default.
  • Page 85: Run Tab

    Now button on the bottom on the Behavior Settings dialog box. If you click on the button, the current property page's settings are immediately applied to all 96 behaviors. Note that clicking the Cancel button does not undo the change. ER1 User Guide...
  • Page 86 Chapter 9 Behavior Settings 9-10 ER1 User Guide...
  • Page 87: Chapter 10: Application Programmer's Interface

    Programmer’s Interface Introduction Evolution Robotics’ ER1 Robot Control Center software provides GUI functionality for controlling your robot. We also provide the APIs described in this chapter so that you can control your robot directly, instead of using the GUI. With these APIs, and some programming knowledge, you can: •...
  • Page 88: Accessing The Api

    1. On the robot’s laptop, with ER1 running, choose the Settings button, select the Sight tab and click on the Allow API Control of this instance checkbox. 2. On the remote client running ER1, click on the Settings button, and then the Sight tab and click on the Disable Remote Control checkbox.
  • Page 89: Telnet Windows Xp Setup

    For older Windows telnet programs, e.g. Win98 and NT4: 1. Follow steps 1 and 2 above. 2. To turn on local echo, use the Terminal / Preferences... menu item in telnet, click the Local Echo box, then click OK. ER1 User Guide 10-3...
  • Page 90: Using The Telnet Connection

    Chapter 10 Application Programmer’s Interface Using the Telnet Connection Now you can type commands to the ER1 API and see what you are typing. 1. Make sure you are connected by hitting the Enter key once. You should see the word: appear on the next line.
  • Page 91: Commands

    > object name distance units move drive toward object < > {stop < > < >} percentage move drive toward color < > < > < > {stop < > { file_name play file < > ER1 User Guide 10-5...
  • Page 92: Move Command

    <units> is inches, centimeters, meters, feet, or degrees Since the first letter of each of these is unique, anything which begins with that first letter is assumed to be the correct word. This allows abbreviations, such as move 30.5 i move -2 ft 10-6 ER1 User Guide...
  • Page 93: Move Rotate Toward Object

    Paint to analyze the colors. Again capture the image using the ® ER1. Open the file in Paint. Select the desired color in the image using the dropper tool. Choose Colors>Edit Colors on the toolbar menu and click on the Define Custom Colors button.
  • Page 94: Move Drive Toward Object

    <...> object name N < > blank line < > Since each object is listed on a separate line, no quotes are used around the object name. The last object is followed by a blank line. 10-8 ER1 User Guide...
  • Page 95: Play Command

    Examples: play phrase Hello voice "Microsoft Mary" play phrase 'You have mail.' Position Command Position Format postion This returns the robot’s current x,y position (relative to the position where the robot started) and rotation angle. ER1 User Guide 10-9...
  • Page 96: Stop Command

    Examples: sense objects sense objects off sense sound level on sense speech off Clear Command Format: clear The clear command throws away all events which have not yet been sent to the user. 10-10 ER1 User Guide...
  • Page 97: Events Command

    ”> < > \ total features distance in cm < > < > < > < > The object name is always surrounded by double quotes. The distance is always in centimeters and has one decimal place. ER1 User Guide 10-11...
  • Page 98: Set Command

    Set Angular Velocity Format: velocity set angular velocity < > Alternate form: set w <velocity> The angular (rotational) velocity is set in degrees/sec. Otherwise, this command is similar in that it affects all motion types. set linear velocity 10-12 ER1 User Guide...
  • Page 99: Set Angular Velocity 10

    {method < >} tolerance {tolerance < >} distance {disable distance < >} percent {disable percentage < >} These control obstacle avoidance and, if turning it on, adjust the various settings. Parameters: <method> is either 'intensity' or 'color' ER1 User Guide 10-13...
  • Page 100: Set Confidence Threshold

    > Sets the color recognizer's color tolerance. Example: set color tolerance 10 Set Color Percentage Format: percentage set color percentage < > Sets the color recognizer's screen percentage for a match. Example: set color percentage 30 10-14 ER1 User Guide...
  • Page 101: Digital Input/Output Commands

    Digital Input/Output Commands Digital Input/Output Commands These commands allow accessing of the digital input and output ports of the ER1’s Robot Control Module and the analog input ports. The pin outs for these ports are in subsequent sections. Electrical Characteristics The following summarizes the electrical characteristics of the ports.
  • Page 102: Input Digital

    <hex number>. Note that digital output (DO) 0 is the least significant bit and DO 7 is the most significant bit. Format: output digital <hex number> Example: output digital 80 This example sets digital output 7 high and all the others low. 10-16 ER1 User Guide...
  • Page 103 Pin 18 – DO 7 Pin 19 – GND Pin 20 – VCC +5v Pin 21 – DI 0 Pin 22 – DI 2 Pin 23 – DI 4 Pin 24 – DI 6 Pin 25 – GND ER1 User Guide 10-17...
  • Page 104: Input Analog

    If the command is issued with arguments, the value of each listed input, from 0 to 15 is given in the response. For example: input analog 0 9 OK 3328 58432 The arguments do not have to appear in any particular order, and repeated arguments are allowed. 10-18 ER1 User Guide...
  • Page 105: Building Er1 Scripts

    Pin 15 – VCC +5v Building ER1 Scripts You can use your favorite programming language to build ER1 scripts using our APIs. The following is an example of how to use Java to create API programs. We’ve included a few files with the ER1 release to help you get started.
  • Page 106: Download Java Sdk

    TestClient -a XX.X.XX.XXX where XX.X.XX.XXX is the robot laptop’s IP address, for example: java TestClient -a 10.1.3.108 4. You should see: C:\ER1>c:\j2sdk1.4.1\bin\java TestClient -a 10.1.3.111 Sending command: move 10 i Response: OK Sending command: events Response: OK 10-20 ER1 User Guide...
  • Page 107: Testclient.java

    TestClient.java Here is the file: TestClient.java * @file TestClient.java * @author www.evolution.com * @author Copyright (C) 2002, Evolution Robotics, Inc. import java.io.DataOutputStream; import java.io.BufferedInputStream; import java.net.Socket; class TestClient /////////////////////////////////////////////////////////////////////// // userProgram. /////////////////////////////////////////////////////////////////////// * @brief * Users put their own commands here.
  • Page 108: Java Api Example Programs

    Command-line arguments. static ER1Client client = null; public static void main(String[] args) { // Create a new client to communicate with ER1. client = new ER1Client(args); // Connect to the ER1 RCC. if (client.connect()) { // Run the user program.
  • Page 109: Er1Client.java

    > java TestClient -h Usage: java TestClient [options] <address> Specify the address of ER1 RCC. Defaults to 127.0.0.1. <port> The port number of the ER1 RCC. Defaults to 9000. Quiet mode. Only errors are printed out. This message. ER1Client.java Here is the file: ER1Client.java...
  • Page 110 _read_stream.read(buffer, 0, size); msg = new String(buffer); return msg; Thread.sleep(50); } while (size == 0); catch (Exception ex) { System.out.println(ex.toString()); return null; catch (RuntimeException ex) System.out.println(ex.toString()); return null; //Global.applet.showDebug(ex.toString()); return null; public boolean sendString(String s) { 10-24 ER1 User Guide...
  • Page 111 System.out.println("ignoring -a flag with no address."); else { i++; _address = args[i]; // Check for new host address. else if (args[i].compareTo("-p") == 0) { if (i >= paramCount - 1) { System.out.println("ignoring -p flag with no port number."); else { ER1 User Guide 10-25...
  • Page 112 TestClient [options]"); System.out.println(" -a <address> Specify the address of ER1 RCC. Defaults to 127.0.0.1."); System.out.println(" -p <port> The port number of the ER1 RCC. Defaults to 9000."); System.out.println(" Quiet mode. Only errors are printed out."); System.out.println(" This message."); System.exit(0);...
  • Page 113 { return recvMsg; public boolean checkResponse(String response, String command) if (response == null) { System.out.println("Error sending command " + command + "!"); return false; else { if (_verbose) { System.out.print("Response: " + response); return true; ER1 User Guide 10-27...
  • Page 114 Chapter 10 Application Programmer’s Interface 10-28 ER1 User Guide...
  • Page 115: Chapter 11: Tricks Of The Trade

    The following are some tricks and tips to help you operate your robot. Important Note: Visit the ER1 community for up to the minute tricks and tips from other ER1 owners. If you have registered, go to www.evolution.com and join your fellow robot enthusiasts in discovering the capabilities of the ER1.
  • Page 116: Motor Noise

    Frozen Robot Rarely the ER1 module will freeze, and you will need to reset the internal memory in the module in order to make the robot move. To do this, follow these steps: 1. Make sure the laptop is on, and the software is not running.
  • Page 117: Textbox Input Size

    Each of the textboxes in RCC have an input limit of 100,000 characters. Additional limits may be set by the various functions. If you need to input more than 100,000 characters in a textbox, breakup the text into pieces and input it into consecutive behaviors. ER1 User Guide 11-3...
  • Page 118 Chapter 11 Tricks of the Trade 11-4 ER1 User Guide...
  • Page 119: Appendix A: Assembly Instructions

    The following explains all of the parts involved in assembling your ER1. You may refer back to this section throughout the assembly process to verify that you are using the right part in the right location.
  • Page 120 The Allen screws are used for such things as attaching the motors and the struts. There are two sizes of Allen screws used in the ER1: 3/8'' and 1/2''. Use the two larger Allen wrenches that come with your kit to tighten the Allen screws.
  • Page 121 There is one locking washer in your kit. Logo Plate The logo plate goes on the front of your ER1. There is one logo plate in your kit. ER1 User Guide...
  • Page 122 Module (RCM). It provides power to the robot's wheels and any robot peripherals. Note the on/off switch on the top. This is how you will turn off the ER1’s motors. There is one power module in your kit. To order an additional power module, go to our website at www.evolution.com.
  • Page 123 U-clips, like the rest of the plastic connectors, come as halves. Press the halves together to create a whole U-clip. There are eighteen U-clip halves in your kit. USB Cord The USB cord connect the Robot Control Module to your laptop. There is 1 USB cord in your kit. ER1 User Guide...
  • Page 124: Things You Need

    You don’t have to wait until the power module is attached to the robot. 1. Plug in your charger to a wall socket. The ER1 charger is meant to use a 110V outlet. If you do not have this, you will need a voltage converter. Do not attempt to use any other voltage as this may cause damage to the unit and / or bodily injury.
  • Page 125: Assembling Your "Assembled" Er1

    Remember to check your parts against your packing list to make sure you have received all of the parts you will need to build your ER1. Note that the list of parts for the assembled robot is slightly different than that of the unassembled robot.
  • Page 126 1/2'' and then thread them through the hinge halves on the top of the robot. • Make sure that the camera is pointing toward the front of the robot. ER1 User Guide...
  • Page 127 Assembling Your “Assembled” ER1 Step 4. You need: • 2 Thumbnuts Instructions: • Screw the thumbnuts onto the screwposts. • Make sure that they are firmly secured. Step 5. You need: • 1 Laptop Instructions: • Plug the webcam into one of the...
  • Page 128 Appendix A Assembly Instructions Step 6. You need: • Nothing Instructions: • You’re done building your robot. • Next, turn to the Installing the Software section. A-10 ER1 User Guide...
  • Page 129: Assembling Your Unassembled Er1

    Remember to check your parts against Getting to Know the Parts section to make sure you have received all of the parts you will need to build your ER1. Step 1. You need: • Two 8'' XBeams •...
  • Page 130 • Set screws Instructions: • Press the U-clip halves together to form 4 U-clips. • Slide the U-clips into the ends of the beams. • Screw in the set screws in the positions shown. (See the arrows.) A-12 ER1 User Guide...
  • Page 131 Assembling Your Unassembled ER1 Step 4. You need: • Two 12'' beams • Two hinge halves • Set screws Instructions: • Slide the hinge halves into one end of each beam. • Remember to add the set screws to both sides of each of the hinge halves (see the arrows).
  • Page 132 • Be sure to slide the wheel assembly all the way down to the hinge and tighten the screws. Make sure that the motor mounting plate is flush with the beams. • Repeat for opposite side. A-14 ER1 User Guide...
  • Page 133 Assembling Your Unassembled ER1 Step 8. You need: • 3 1x2 mounting plates with mushroom headed fastner tape Instructions: • Attach the mounting plates as shown. Step 9. You need: • 1 Robot Control Module (RCM) Tops Instructions: • Use the mounting plates on the assembly and the mushroom headed fastner to attach the RCM.
  • Page 134 • Loosen the T-nuts on the caster and slide them into the track on the X-beam. • Position the caster mount plate ~1/2'' from the end of the beam as shown. Tighten the screws. A-16 ER1 User Guide...
  • Page 135 Assembling Your Unassembled ER1 Step 12. You need: • 2 struts, one right, one left, each with 4 Allen screws, 2 one-holed and 1 two-holed T-nuts. Bottom Instructions: • Slide the T-nut on the bottom of the strut down the track of the XBeam flush with the end of the beam as shown.
  • Page 136 XBeams channel. • Slide the XBeam on until centered on the robot. • Tighten the thumbnuts - pliers are helpful here. A-18 ER1 User Guide...
  • Page 137 Assembling Your Unassembled ER1 Step 16. You need: • 3 1x2 mount plates with foam Instructions: • Apply the mount plates by sliding them into the beams in the positions shown. Step 17. You need: • 2 endcaps • Logo plate Instructions: •...
  • Page 138 • Add the set screws as shown (see arrows). Step 19. You need: • 1 10'' beam Instructions: • Slide the 10'' beam onto the end of the 7'' beam using the U-clip and center it as shown. A-20 ER1 User Guide...
  • Page 139 Assembling Your Unassembled ER1 Step 20. You need: • 2 whole gussets (4 halves) • Set screws Instructions: • Snap the gussets halves together • Snap the gussets into place. • Remember to add the set screws! There will be some very small holes toward the center of the gusset.
  • Page 140 10'' XBeam using the 90 connectors. • Add set screws to all four sides of the 90 connectors where they attach to the 10'' beam (see arrows - not all set screws shown). A-22 ER1 User Guide...
  • Page 141 Assembling Your Unassembled ER1 Step 24. You need: • Previous subassemblies • Setscrews Instructions: • Attach the subassembly from the last step to the robot body using the 135 connectors. • Add set screws on all four sides of the 135...
  • Page 142 • Slide the hinge half on the bottom of the camera subassembly onto the screw post. • Make sure to position camera subassembly facing forward (see picture in upper left). • Screw the thumbnut onto the screw post and tighten. A-24 ER1 User Guide...
  • Page 143 Assembling Your Unassembled ER1 Step 28. You need: • 1 power cord • 1 USB cable Instructions: • Attach the power cord to the slot in the RCM marked power. • Attach the USB cord to the slot in the RCM marked USB.
  • Page 144 • Plug the RCM into the Power 1 slot on the power module. Step 31. You need: cable • 1 Charger Instructions: • Plug the power module into the charger as shown (if you haven’t Charger completely charged your power module already). A-26 ER1 User Guide...
  • Page 145: Installing The Software

    CD-ROM drive. • In the top-level directory, double-click on the file setup.exe 4. There may be a dialog box telling you to reboot before the installation. Click Yes and the installation should automatically continue after the reboot. ER1 User Guide A-27...
  • Page 146: Connecting The Laptop

    Microsoft’s autorun feature. Click Next to proceed through the installation. You may click on the Cancel button at any time to stop the installation. 6. The ER1 Robot Control Center licensing agreement will be displayed and you will be prompted to accept/reject it. Click Next.
  • Page 147: Testing The Robot

    Testing the Robot 5. Specify the CD-ROM drive. Windows 98 users: You may also need to specify the ER1 Robot Control Module folder in order to specify the correct driver. Select Next>Next>Finish. 6. After installing the RCM drivers, you will notice that Windows will find 'New Hardware' which is the USB Serial Port.
  • Page 148: Uninstalling

    Important Note: If you didn’t get a chance while you were installing the software, take a minute to look at the Release Notes in the subdirectory of the ER1 program docs directory. You will find important information that is not included in this manual.
  • Page 149: Appendix B: Telepresence Over The Internet

    0 and 255. The port number is an integer between 0 and 65535. The port number of ER1 teleoperation defaults to 9000, but the user can change this in the remote settings page of the ER1 Robot Control Center software running on the robot laptop.
  • Page 150 Once the IP address and teleoperation port number are identified, they can be entered into the remote control settings page on the ER1 Robot Control Center running on the user’s work computer. Click on the Settings button and then the remote control tab. Click on the Control robot at this IP address checkbox and enter the IP address.
  • Page 151 This feature will need to be disabled to allow the teleoperation client to connect to the robot. You should consult your hardware’s documentation to see whether the hardware you are using has this safeguard and, if so, how to turn it off. ER1 User Guide...
  • Page 152 Appendix B Telepresence Over the Internet ER1 User Guide...
  • Page 153: Appendix C: 50 Ways To Love Your Robot

    Ok, maybe not quite 50, but here are some interesting tutorials to help you learn more about your ER1. Some of these are very simplistic, but you can combine lots of simple behaviors like these to form some very complex behaviors.
  • Page 154: Take A Picture Of The Family And Email It To Uncle Fred

    (Say, unclefred@evolution.com.) 4. Click ER1’s Run it button and start smiling. 5. In one minute ER1 should take a picture, name it “TheCrew,” attach it to an email and send it to Uncle Fred. 6. Save the behavior and then click on Open to get a new, blank behavior set.
  • Page 155: Remind You To Take The Muffins Out Of The Oven

    Phrase to Speak field. 3. Click ER1’s Run it button. 4. ER1 should remind you at 6:45 A.M. to “Take the muffins out of the oven.” 5. Save the behavior and then click on Open to get a new, blank behavior set.
  • Page 156: Remind You To Call Your Mom Every Wednesday Night

    Appendix C 50 Ways to Love Your Robot 4. ER1 should remind you every day at 9:00 A.M. to “Remember to feed the fish.” 5. Save the behavior and then click on Open to get a new, blank behavior set.
  • Page 157: Have Er1 Play Your Favorite 20 Songs

    5. Click on the Ok button. 6. Click ER1’s Run it button. 7. Each time you say “favorite song” clearly so ER1 can hear, ER1 should play your favorite song. 8. Save the behavior and then click on Open to get a new, blank behavior set.
  • Page 158: Teach Your Parrot Some New Words

    5. Click on the Ok button. 6. Click ER1’s Run it button. 7. Whenever ER1 hears a loud sound, such as knocking, it will say, “Rhonda is in a meeting right now. Please try back next at 2 P.M.” 8. Save the behavior and then click on Open to get a new, blank behavior set.
  • Page 159: Play "Shush!" When It Hears A Loud

    1. Under If on a blank behavior tab, checkmark Time and set the time when you want ER1 to tell people it’s time to cut the cake. If you want to cut the cake at 2:00 P.M., enter 2:00 P.M. and select Once.
  • Page 160: Medium

    10. Continue programming Behavior tabs, one per movement, until you are done. Remember to use the Sequence option to link each behavior to the previous behavior. 11. When you are finished, position ER1 so it has room to move, then click the Run it button.
  • Page 161: Read Books Out Loud To Your Child

    9. When you are done, position ER1 so the child can show ER1’s camera the pages. 10. Click on ER1’s Run it button. 11. As the child shows the pages of the book to ER1’s camera, ER1 will say the words on the page.
  • Page 162: Play A Lullaby (Under Your Supervision) If The Baby Cries Loudly

    7. Click on the Ok button. 8. Do the previous steps for each picture, selecting a new Behavior tab for each object. 9. When you are done, position ER1 so the child can show ER1’s camera the pictures. 10. Click on ER1’s Run it button.
  • Page 163: Hard

    1. Under If on a blank behavior tab, checkmark Sound and type “party” in the Listen for field. 2. Under Then, click on Play a Sound and browse for a disco song on ER1’s hard disk. Note that the song must be in format.
  • Page 164: Take A Photograph Of Anyone Who Says "Hello, Robot" At A Party

    9. Save the behavior and then click on Open to get a new, blank behavior set. Remind your guest holding a beer not to drink and drive 1. First, teach ER1 to recognize various brands of beer you will be serving. To do so, checkmark Sight under If, then: •...
  • Page 165 10-7 move rotate toward object 10-9 move X,Y distance 10-8 objects command 10-9 play command 10-9 play file 10-9 play phrase 10-9 position command 10-10 sense command 10-12 set command 10-12 set angular velocity ER1 User Guide...
  • Page 166 Capture button using Capturing images how to Collision detection Color detection 8-2, Color recognition Color selection tool using Commands move navigate Conditions message receive message send sequence sight sound time Customer support Deleting images Device Dropper tool ER1 User Guide...
  • Page 167 Laptop requirements Log tab 8-14 using Logging 3-4, Message receive condition Message send Message send condition Modify image file information Motion tab 8-11, using 8-11, Motor power 3-5, Move Move command Mute sound checkbox Navigate command New button ER1 User Guide...
  • Page 168 Play a sound Programs running Recognized objects Record Recording Registration Remote control optional Remote control tab using Reset button Resolution RGB values 10-7 determining Robot specifications 2-4, RobotMail opening an account 3-5, Run a program Run tab using ER1 User Guide...
  • Page 169 3-3, Sight condition Sight tab 8-2, using Sound condition muting playing 8-5, using turning down Sound condition Speech recognition Speed linear velocity rotation angular velocity 1-3, Text-to-Speech 3-4, Time condition Try It button Turning sound down Tutorial ER1 User Guide...
  • Page 170 Index Using 8-15 about tab camera tab email tab 8-11, motion tab obstacle camera photo tab remote control tab run tab 8-2, sight tab 8-5, sound tab video video tab Video compression display using Voice recognition ER1 User Guide...

Table of Contents