ActivMedia Robotics AmigoBOT Technical Manual

Hide thumbs Also See for AmigoBOT:
Table of Contents

Advertisement

Quick Links

Amigo
BOT
Technical
Manual

Advertisement

Table of Contents
loading
Need help?

Need help?

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

Questions and answers

Summary of Contents for ActivMedia Robotics AmigoBOT

  • Page 1 Amigo Technical Manual...
  • Page 2 SRI International, Inc. The AmigoBot software on disk and on the AmigoBot server FLASH ROM that accompany the robot and accessories and which are available for network download by AmigoBot customers are solely owned and copyrighted by Activ LLC.
  • Page 3 AmigoBot Mobile Robots Federal Communications Commission (FCC) Statement This equipment has been tested and found to comply with the limits for a class B digital device, pursuant to part 15 of the FCC rules. These limits are designed to provide reasonable protection against harmful interference when the equipment is operated in a commercial or residential environment.
  • Page 4: Table Of Contents

    Table of Contents CHAPTER 1 INTRODUCTION ............... 7 What is AmigoBot?....................7 Hardware ......................... 7 Software and Modes of Operation ..............8 AmigoBot Technical Package ................9 User-Supplied Components / System Requirements ........9 Additional Resources..................... 9 Activ ’ Software......................9 MEDIA ROBOTICS AmigoBot Newsgroup ........................10...
  • Page 5 AmigoBot Mobile Robots CHAPTER 5 AMIGOBOT OPERATING SYSTEM......... 21 Communication Packet Protocol ..............21 Packet Data Types .......................... 22 Packet Checksum ..........................22 Packet Errors..........................23 Server Information Packets ................23 Client Commands....................24 Client Command Argument Types ....................26 Saphira Client Command Support ....................
  • Page 6 APPENDIX B ..................42 APPENDIX C ..................43 INDEX ....................45 WARRANTY & LIABILITIES ..............47...
  • Page 7: Chapter 1 Introduction

    Dr. Konolige. AmigoBot is a small, 2-wheel, differential drive, intelligent mobile robot. Like its Pioneer siblings, AmigoBot is truly an off-the-shelf, “plug and play” mobile robot, containing all of the basic components for autonomous sensing and navigation in a real-world...
  • Page 8: Software And Modes Of Operation

    1M external FLASH. BOTTOM Your AmigoBot also has a variety of I/O ports for native systems as well as expansion control and power, including three RS232-compatible serial ports, an 8-bit I/O bus with four chip-select, three address, and read/write lines; six digital-timer I/O ports, four A/D ports;...
  • Page 9: Amigobot Technical Package

    WIRELESS Most people prefer to operate AmigoBot in Client-Server Control Mode, because it gives them quick, easy access to the robot’s functionality while working with high-level software on a familiar host computer. Besides the AmigoBot suite of software including...
  • Page 10: Amigobot Newsgroup

    <something of interest to amigobot-users> Subject: Access to the amigobot-users newslist is limited to subscribers, so your address is safe from spam. However, the list currently is unmoderated, so please confine your comments and inquiries to issues concerning the operation and programming of AmigoBot.
  • Page 11: Chapter 2 Specifications & Controls

    AmigoBots may be smaller than most, but they pack an impressive array of intelligent mobile robot capabilities that rival bigger and much more expensive machines. And AmigoBot’s modest size lends itself to very safe navigation in tight quarters and cluttered spaces, such as classrooms, laboratories, small offices, and homes.
  • Page 12: Reset & Motors/Test Buttons And System/User Leds

    Reset & Motors/Test Buttons and System/User LEDs On top near the back of AmigoBot next to the red Power LED are two pushbutton switches and two additional LEDs. The red pushbutton switch is the Reset button. Press it at any time to reset the AmigoBot controller to its power start-up state—motors...
  • Page 13: Motors And Position Encoders

    AmigoBot operating environments. The sonar gain control is a one-turn screwcap accessible through an access hole on the top and near the front of AmigoBot. You may have to remove an accessory to uncover the hole.
  • Page 14: Control Serial Port

    See Chapter 6, Updating and Configuring AmigOS for details. Control Serial Port If your AmigoBot does not have a radio modem, there is a cable that runs from a DSUB-9 serial connector on the bottom of your robot to another telephone connector-like RJ- 11/12 serial port inset into the cap that covers the Accessory I/O port.
  • Page 15 Also, AmigoBot’s server software contains a stall monitor. If the drive exerts a PWM pulse that equals or exceeds a configurable level and the wheels fail to turn (...
  • Page 16: Chapter 3 Quick Start

    Saphira demonstration software. (For more details about programming and operating your Pioneer with Saphira, PAI, Ayllu, or P-LOGO, see their respective programming manuals.) The AmigoBot AmigOS servers require a serial communication link to a client. The serial link may be: •...
  • Page 17: Amigobot Cold Start-Up

    (Also see Troubleshooting below.) AmigoBot Cold Start-Up Place your AmigoBot on the floor in an open space. Slide the main Power switch on the bottom of the robot to ON. The red power indicator LED on the top of the robot should light and the Power/Reset audio cue should play.
  • Page 18: Operating The Saphira Demo

    The amber User LED indicates Saphira client/AmigOS server communications and blinks rapidly. Operating the Saphira Demo When communications between the Saphira client and the AmigoBot server are established, the robot becomes responsive and intelligent. For example, although it may Engage AmigoBot’s motors after connecting with a client or the robot won’t move, no matter how excited you get.
  • Page 19: Quickstart Troubleshooting

    AmigoBot Mobile Robots Quickstart Troubleshooting ü You must have a valid Saphira license to connect with AmigoBot or any other robot. Unlicensed Saphira clients may only connect with the AmigoBot/Pioneer simulator. ü Licensed versions of Saphira come with the robot and can be downloaded by...
  • Page 20: Chapter 4 Self-Tests

    10 seconds. Motors Test The first self-test exercises AmigoBot’s drive motors. During this test, the robot is not at all conscious of bystanders. Please have everyone step back and remove any obstacles from within a diameter of about two meters (6-8 feet) around the robot.
  • Page 21: Chapter 5 Amigobot Operating System

    This chapter explains how to communicate with AmigoBot via the AmigoBot Operating System (AmigOS) client/server interface. The same AmigOS functions and commands are supported in the various client-programming libraries that accompany the robot.
  • Page 22: Packet Data Types

    AmigoBot Operating System Main elements of AmigOS communication packet protocol Component Bytes Value Description Header 0xFA, 0xFB Packet header; same for client and server Byte Count N + 2 Number of subsequent data bytes, including checksum word, but not Byte Count.
  • Page 23: Packet Errors

    AmigoBot Mobile Robots Packet Errors Currently, AmigOS ignores a client command packet whose byte count exceeds 200 or has an erroneous checksum. The client should similarly ignore erroneous server information packets. AmigOS does not acknowledge receipt of a command packet nor does it have any facility to handle client acknowledgment of a server information packet.
  • Page 24: Client Commands

    100 milliseconds or 50 milliseconds per cycle with AmigoBot. You may exceed those rates; just do it sparingly.
  • Page 25 AmigoBot Mobile Robots Table 6-5. AmigOS/PSOS command set Command Args Description PSOS P2OS AmigOS Before Client Connection SYNC0 none Start connection; echoes SYNC1 none synchronization commands SYNC2 none back to client. After Established Connection PULSE none Client pulse resets watchdog...
  • Page 26: Client Command Argument Types

    AmigoBot Operating System GRIPPERVAL Pioneer Gripper server value. See P2 Gripper Manual for – – details. PTUPOS Msb is the port number (1-4) and lsb is the pulse width in – 100µsec units PSOS or 10µsec units P2OS TTY2 string...
  • Page 27: Programming Amigos

    When first started, the AmigoBot is in a “wait” state; AmigOS listens for communication packets over its designated port. To establish a connection, the client application must send a series of three synchronization packets through the host communication port—...
  • Page 28: Closing The Connection-Close

    AmigoBot at the SETA or SETRA rate you program, or the rates preset in the AmigOS configuration parameters. tim e star t position...
  • Page 29: Position Integration

    SONARS command. Input / Output (I/O) Your AmigoBot comes with a number of I/O ports that you may use for some of its accessories and for your own custom attachments. See Appendix A, Ports and Connections for port locations on the AmigoBot microcontroller.
  • Page 30: Adsel

    Port# 2 reads 224 Sounds The AmigoBot comes with an onboard audio amplifier and FLASH-stored sounds. To play an sound, send the SOUND command with the sound number (1-255) argument. Use the SOUNDTOG command to disable (argument of 0) or enable (argument = 1) all sounds.
  • Page 31: Aux Serial Packets

    AmigOS circular buffer and reset its pointers. Sound Playlist Sound files stored in FLASH on the AmigoBot microcontroller contain a descriptive header called the Playlist which includes a sound or sound group name with data address and length.
  • Page 32 AmigoBot Operating System Name Data Type Description Header integer Exactly 0xFA, 0xFB Byte Count byte Number of data bytes = n data +3. Type byte 0xD0 Sound number byte Sound number in playlist or number of sounds if first response packet when getting all user playlist.
  • Page 33: Chapter 6 Updating & Reconfiguring Amigos

    LEASH on the bottom of AmigoBot to a serial port on your host computers. Start up or Reset your AmigoBot. After it has finished initializing, place it into System mode: While pressing and holding the black Motors/Test pushbutton, press and release the red Reset button. Then release the black Motors/Test button.
  • Page 34: Updating Amigos And Sounds With Amigosdl

    AmigOS uses for your AmigoBot. Some of the parameters, "Constants" in the Table, cannot be changed. The others, "Variables", are the identifying and operating parameters that you may edit and save in...
  • Page 35: Amigoscf Editor Commands

    Saving and Restoring Parameters The AmigOS configuration program lets you save and restore whole configuration sets from stored files. This lets you easily configure AmigoBot for the various different environments, as well as maintain a record of your original and test parameters.
  • Page 36 Name string not_set Unique name you may give your AmigoBot. Besides its ownership value, this parameter gets passed to a connecting client as the first argument in the SYNC2 packet, therefore useful for differentiating among multiple AmigoBots. Maximum of 20 characters; no intervening spaces.
  • Page 37 The AmigOS utilities come with the default configuration in a file called AmigoBot.cf. Restored parameters overwrite the temporary parameters in the amigoscf program an do not take effect on the robot until ’d onto its FLASH.
  • Page 38: Chapter 7 Maintenance & Repair

    Alternative Battery Chargers The chargers that we supply for the AmigoBot are safe: They pose no danger to the user, they properly charge the robot’s battery, and they may be left on and...
  • Page 39: Getting Inside

    Use a different battery charger AT YOUR OWN RISK. The center post of the charger socket on the AmigoBot is the positive (+) side of the battery; the shaft is the negative (-) side. If you choose to use an alternative battery charger for AmigoBot, be sure to connect positive to positive and negative to negative from charger to AmigoBot.
  • Page 40: System And Control Serial Ports

    AmigoBot microcontroller board. Common IDC connector pinouts AmigoBot Controller Connectors System and Control Serial Ports Use the System RJ-11/12 connector on the bottom of the AmigoBot for connections with AmigOS utilities, such as . An identical connector attached to the amigoscf...
  • Page 41: Auxiliary Power

    AmigoBot Mobile Robots Auxiliary Power A 2-position latch-lock header on the AmigoBot controller supplies battery (~12VDC unconditioned) power for accessories, such as the Amigo camera, SURVEILLANCE microphone, and A/V transmitter. Motors and Power An eight-position mini-fit junior connector provides power from the battery to the microcontroller and to the motors.
  • Page 42 Appendix B Saphira AmigoBot.p Parameters File ;; Parameters for the AmigoBot AngleConvFactor 0.001534 ; radians per angular unit (2PI/4096) DistConvFactor 0.5083 ; mm VelConvFactor 0.6154 ; mm/sec RobotRadius 180.0 ; radius in mm RobotDiagonal 120.0 ; half-height to diagonal of display octogon Holonomic ;...
  • Page 43 AmigoBot Mobile Robots Appendix C Specifications Physical Characteristics Length 33 cm Width 28 cm Height (body) 13 cm Body clearance 3 cm Weight 3.6 Kg Payload 1 Kg Construction Body Molded polycarbonate Chassis 1.6mm CNC fabricated aluminum Assembly Allen hex screws (metric)
  • Page 44 Digital timer inputs 6 @ 1µsec resolution Comm port 3 RS-232 serial FLASH 64 KB uP 1M external 16 KB uP Controls and Ports Main Power Robot/accessories power ON/OFF Charge System power/battery recharge RESET Warm reboot/download MOTORS/TEST Motors/download/self-tests Radio Power and serial Speaker 8-ohm Serial comm ports...
  • Page 45 Accessory I/O Ports, 41 Frequently Asked Questions, 10 SOUND, 30 , ii, 9 CTIV EDIA SOUNDTOG, 30 ADSEL, 30 Clients, 8 AmigoBot Mobile Robot, 7 Client-Server, 21 Amigobot.p, 42 GETAUX, 31 Client-Server Mode, 9 amigobot-support, 10 CLOSE, 28 Amigo EYES...
  • Page 46 Server information packets, 23 SYNC, 27 Auxillary, 41 Servers, 21 SYNC0, 27 Main, 11 ADSEL, 30 SYNC1, 27 Motors, 41 AmigoBot Operating System, SYNC2, 27 PULSE, 27 System mode, 12 Autoconfiguration, 27 System Mode, 33 CLOSE, 28 System serial, 13 DCHEAD, 28...
  • Page 47 Warranty & Liabilities Your AmigoBot is fully warranted against defective parts or assembly for 90 days after it is shipped to you from the factory. Accessories are warranted for 90 days. This warranty explicitly does not include damage from shipping or from abuse or inappropriate operation, such as if the robot is allowed to tumble or fall off a ledge, or if it is overloaded with heavy objects.
  • Page 48 44 Concord Street Peterborough, NH 03458 (603) 924-9100 (603) 924-2184 fax http://www.amigobot.com...

Table of Contents