background image

AmigoBot-SH Operations Software 

 

Keeping the Beat—PULSE 

An AmigoSH safety watchdog expects that, once connected, your robot receives at 
least one client command packet from the attached PC every 

watchdog

 seconds, as 

defined in your robot’s FLASH (default is two seconds).  Otherwise, it assumes the client-

server connection is broken and stops the robot. 

Some clients—ARIA-based ones, for instance—use the good practice of sending a 

PULSE

 

client command #0 (250, 251, 3, 0, 0, 0) just after 

OPEN

.  And if your client application will 

be otherwise distracted for some time, periodically issue the 

PULSE

 command to let your 

robot server know that your client is indeed alive and well.  It has no other effect. 

If the robot shuts down due to lack of communication with the client, it will revive upon 

receipt of a client command and automatically accelerate to the last-specified speed 
and heading motion setpoints. 

Closing the Connection—CLOSE 

To close the client-server connection, which automatically disables the motors and other 
server functions like sonar, simply issue the client 

CLOSE

 command #2 (250, 251, 3, 2, 0, 2). 

Once connected, send the 

ENABLE

 command 

or press the black 

Motors/Test

 button 

to enable your AmigoBot’s motors. 

Most of the controller’s operating parameters return to their FLASH-based default values 
upon disconnection with the client.

9

   

S

ERVER 

I

NFORMATION 

P

ACKETS

 

Once 

OPEN

ed, AmigoSH automatically and repeatedly sends a packet of information 

over the 

HOST

 serial port back to the connected client.  The standard AmigoSH SIP 

informs the client about a number of operating states and readings, using the order and 
data types described in the nearby Table.  

AmigoSH also supports several additional SIP types.  See following sections for details. 

C

LIENT 

C

OMMANDS 

 

AmigoSH has a structured command format for receiving and responding to directions 
from a client for control and operation of your robot.  Client commands are comprised of 

a one-byte command number optionally

 

followed, if required by the command, by a 

one-byte description of the argument type and then the argument value. 

                                                           

9

 With earlier OSes, the changes persisted between sessions and reverted to the FLASH defaults only after the 

controller was reset. 

 

24

Summary of Contents for MOBILEROBOTS Team AmigoBot-SH

Page 1: ...Team AmigoBot Operations Manual with NEW Renesas SH2 based Controller NEW AmigoSH Robot Control Software NEW ARIA Robotics Development Software and MobileEyesTM Client ...

Page 2: ...otics LLC Developers and users are authorized by revocable license to develop and operate custom software for personal research and educational use only Duplication distribution reverse engineering or commercial application of MOBILEROBOTS software and hardware without the expressed written consent of ActivMedia Robotics LLC is explicitly forbidden The various names and logos for products used in ...

Page 3: ...inserted Inappropriate Operation Inappropriate operation voids your warranty Inappropriate operation includes but is not limited to Dropping the robot running it off a ledge or otherwise operating it in an irresponsible manner Overloading the robot above its payload capacity Getting the robot wet Continuing to run the robot after hair yarn string or any other items have become wound around the rob...

Page 4: ...eer 2 DX8 AT8 and Plus Mobile Robots 9 Pioneer 3 SH Robots 9 CHAPTER 3 SPECIFICATIONS CONTROLS 10 PHYSICAL CHARACTERISTICS AND COMPONENTS 10 POWER AND CHARGING 11 USER INDICATORS AND CONTROLS 11 Serial Communications Expansion I O 12 SONAR 13 Sonar Rate and Sequence 13 Sonar Sensitivity 13 MOTORS WHEELS AND POSITION ENCODERS 13 SAFETY AMIGOSH WATCHDOGS 14 CHAPTER 4 QUICK START AND SELF TEST 15 PRE...

Page 5: ...S 34 BUZZER SOUNDS 34 TCM2 34 HEADING CORRECTION GYRO 34 CHAPTER 6 UPDATING RECONFIGURING AMIGOSH 36 WHERE TO GET AMIGOSH SOFTWARE 36 AMIGOSH MAINTENANCE MODE 36 Enabling Maintenance Mode on the Controller 36 AMIGOSHCF 37 STARTING AMIGOSHCF 37 CONFIGURING AMIGOSH PARAMETERS 38 Interactive Commands 38 Changing Parameters 38 SAVE YOUR WORK 39 PID PARAMETERS 40 DRIFTFACTOR TICKSMM AND REVCOUNT 40 STA...

Page 6: ...Heading Correction Gyro 47 Expansion I O 48 APPENDIX B 49 ETHERNET TO SERIAL DEVICE SETTINGS 49 LAN IP SETTINGS 49 Console mode 50 Webpage 50 Peer to Peer Networking 50 APPENDIX C 51 SPECIFICATIONS 51 WARRANTY LIABILITIES 53 vi ...

Page 7: ...OBILEROBOTS platform and our manufactured accessories against mechanical electronic and labor defects for one year Third party accessories are warranted by their manufacturers typically for 90 days Even though we ve made every effort to make your AmigoBot package complete please check the components carefully after you unpack them from the shipping crate Basic Components all shipments One fully as...

Page 8: ...requests automated newsgroup server To amigobot users requests mobilerobots com From your return e mail address goes here Subject choose one command help returns instructions lists returns list of newsgroups subscribe unsubscribe Our SmartList based listserver will respond automatically After you subscribe send your email comments suggestions and questions intended for the worldwide community of M...

Page 9: ...obot s SERIAL NUMBER Your message goes directly to the MOBILEROBOTS technical support team There a staff member will help you or point you to a place where you can find help Because this is a support option not a general interest newsgroup like amigobot users we reserve the option to reply only to questions about problems with your robot or software See Chapter 7 Maintenance Repair for more detail...

Page 10: ...erface for Applications ARIA and ArNetworking released under the GNU Public License and complete with fully documented C Java and Python libraries and source code Several third party robotics applications development environments also have emerged from the research community including Saphira from SRI International Ayllu from Brandeis University Pyro from Bryn Mawr and Swarthmore Colleges Player S...

Page 11: ...neven terrain acquiring sensor readings such as from the sonar and managing attached accessories To complete the client server architecture AmigoBot requires a PC connection software running on a computer connected with the robot s controller via the HOST serial link and which provides the high level intelligent robot controls including obstacle avoidance path planning features recognition sonar l...

Page 12: ...rking comes complete with source code so that you may examine the software and modify it for your own sensors and applications Mapping Localization and Navigation MOBILEROBOTS also provides a comprehensive suite of client tools and applications by which you create edit and use maps and floorplans for advanced robotics applications including localization and navigation For much more information abo...

Page 13: ...tilities we provide for you to reprogram the AmigoBot s controller FLASH also may be used to update and upgrade your robot s AmigoSH servers In a special Maintenance Mode you also adjust your robot s operating parameters that AmigoSH uses as default values on startup during a client connection and on reset See Chapter 6 Updating Reconfiguring AmigoSH for much more detail We typically provide the m...

Page 14: ...e Pioneer 2 worked identically to Pioneer 1 models but offered many more expansion options including a client PC onboard the robot The ActivMedia Robotics Pioneer 2 models DX DE DXe DXf and AT and the V1 and Performance PeopleBot robots used a 20 MHz Siemens 88C166 based controller with independent motor power and sonar controller boards for a versatile operating environment Sporting a more holono...

Page 15: ...r with new control systems software AROS and I O expansion capabilities The Pioneer 3 and 2 Plus robots also had new more powerful motor power systems for better navigational control and payload 3 Pioneer 3 SH Robots Like your new Team AmigoBot the latest Pioneer Performance PeopleBot and PowerBot robots all introduced in summer of 2004 are identical to their predecessors except for their revoluti...

Page 16: ... indoor use in wheelchair accessible places including homes schools nursing homes hospitals offices and research labs The small 28 x 33 x 13 centimeters lightweight 3 6 kilograms with batteries and highly maneuverable meters per second translation 300 degrees per second rotation turns in place AmigoBot robot has a high impact resistant polycarbonate body with a solid but lightweight aluminum chass...

Page 17: ...rnal batteries so you need not turn off power Figure 11 AmigoBot s power switch and charge ports You should maintain AmigoBot s batteries in a charged state above 11 VDC We recommend recharging the battery when it falls below 11 7 VDC lowbattery FLASH parameter even though the robot may continue to operate below 11 VDC The controller will sound a warning when the battery voltage falls below that p...

Page 18: ...gh the holes on the right top side of AmigoBot across from the indicators and controls provides audible clues to the robot s state such as upon successful startup of the controller and a client connection An AmigoSH client command lets you program the buzzer too to play your own MIDI sounds Serial Communications Expansion I O Every AmigoBot comes with a 9 pin DSUB serial connector and power plug t...

Page 19: ...nt screw counterclockwise to make the sonar less sensitive to external noise and false echoes Low sonar gain settings reduce the robot s ability to see small objects Under some circumstances that is desirable For instance attenuate the sonar if you are operating in a noisy environment or on uneven or highly reflective floor a heavy shag carpet for example If the sonar are too sensitive they will s...

Page 20: ... the robot server are disrupted for a set time interval The robot will automatically resume activity including motion as soon as communications are restored AmigoSH also contains a stall monitor If the drive exerts a PWM pulse that equals or exceeds a configurable level StallVal and the wheels fail to turn the motors relax power off for a configurable amount of time StallWait The server software a...

Page 21: ...tion programs demo and serverDemo aka ARIA Demo and ArNetworking Demo respectively as well as the GUI networked client application MobileEyes come on CD ROM with your new robot MOBILEROBOTS customers also may obtain these and related software and updates from our support website http robots activmedia com When installed the software typically require around four megabytes of hard disk space The Wi...

Page 22: ...tworking serverDemo or MobileEyes from a networked PC without special hardware an Ethernet to serial accessory on the robot If you are fortunate to have a wireless Ethernet to serial device connected through the bottom of your AmigoBot you still have to deal with networking issues See details in Appendix B TETHERED WITH ARIA DEMO Let s start by avoiding the networking issues for the moment and tes...

Page 23: ...cles teleop t Drive and steer the robot via the keyboard or a joystick avoids collisions unguarded u Same as teleop except no collision avoidance direct d AmigoSH direct command mode ARIA prints out lots of diagnostic text as it negotiates a connection with the robot If successful the client requests various AmigoSH servers to start their activities including sonar polling position integration and...

Page 24: ...ion program Your AmigoBot should disengage its drive motors and stop moving and its sonar should stop firing You may now slide the robot s Power switch to OFF NETWORKING WITH MOBILEEYES If you have the wireless Ethernet to serial accessory for your Team AmigoBot you may operate the robot with the ARIA demo program over your local TCP IP based network Simply start the program with the remoteHost or...

Page 25: ...f Figure 15 Simple serverDemo mediated connection between AmigoBot and MobileEyes MobileEyes is a terrific GUI based robotics command and control client but works best when running AmigoBot with SONARNL in a mapped space QUICKSTART TROUBLESHOOTING Most problems occur when attempting to connect the ARIA client with a MOBILEROBOTS platform for the first time The process can be daunting if you don t ...

Page 26: ...isplay an error message If the robot server isn t listening or if the serial link is severed somewhere between the client and server cable loose or the radio is off for instance the client will attempt Syncing 0 several times and fail In that case Reset AmigoBot and check your serial connections If for some reason communications get severed between the ARIA client and the robot but both the client...

Page 27: ...ctivMedia robots implementing the same commands and information packets that first appeared in the Pioneer 1 based PSOS in the original Pioneer 2 based P2OS and more recent AROS and ARCOS based Pioneer 2s and 3s as well as Performance PeopleBot PatrolBot and PowerBot AmigoSH of course extends the servers to add new functionality improve performance and provide additional information about the robo...

Page 28: ...eger or string containing length prefix CHECKSUM 2 computed Packet integrity checksum Packet Checksum Calculate the client server packet checksum by successively adding data byte pairs high byte first to a running checksum initially zero disregarding sign and overflow If there are an odd number of data bytes the last byte is XORed to the low order byte of the checksum AREXPORT ArTypes Byte2 ArRobo...

Page 29: ...C2 250 251 3 2 0 2 When in wait mode AmigoSH echoes the packets verbatim back to the client The client should listen for the returned packets and only issue the next synchronization packet after it has received the appropriate echo Autoconfiguration SYNC2 AmigoSH automatically sends robot identifying information back to the client following the last synchronization packet SYNC2 The configuration v...

Page 30: ...nd other server functions like sonar simply issue the client CLOSE command 2 250 251 3 2 0 2 Once connected send the ENABLE command or press the black Motors Test button to enable your AmigoBot s motors Most of the controller s operating parameters return to their FLASH based default values upon disconnection with the client 9 SERVER INFORMATION PACKETS Once OPENed AmigoSH automatically and repeat...

Page 31: ...uint Bit 0 motors enabled status bit 1 sonar array status all others 0 COMPASS byte Electronic compass accessory heading in 2 degree units SONAR COUNT byte Number of new sonar readings included in SIP NUMBER byte If Sonar Count 0 is sonar disc number 0 7 readings follow RANGE uint Corrected sonar range value in millimeters RangeConvFactor 1 0 REST OF THE SONAR READINGS GRIP_STATE byte Pioneer Grip...

Page 32: ...peaker 1 0 CONFIG 18 none Request a configuration SIP 1 0 ENCODER 19 int Request one 1 a continuous stream 1 or stop 0 encoder SIPs 1 0 RVEL 21 int Rotate robot at counter or clockwise degrees sec SETRV limit 1 0 DCHEAD 22 int Adjust heading relative to last setpoint degrees ccw 1 0 SETRA 23 int Change rotation de or acceleration in degrees sec2 1 0 SONAR 28 int 1 enable 0 disable the sonar 1 0 ST...

Page 33: ... Derivative PID value 1 0 TRANSKI 87 int Change working translation Integral PID value 1 0 REVCOUNT 88 int Change working differential encoder count 1 1 DRIFTFACTOR 89 int Change working drift factor 1 0 SOUNDTOG 92 int 0 mute piezo 1 enable 1 0 TICKSMM 93 int Change working encoder ticks per millimeter tire travel 1 1 BATTEST 250 int Artificially set the battery voltage argument in tens volts 100...

Page 34: ...nts are achieved by a trapezoidal velocity function which AmigoSH recomputes each time a new motion command is received 11 velocity time max velocity accel decel position achieved short m ove max velocity not reached position achieved start position Figure 17 AmigoBot s trapezoidal velocity profile AmigoSH automatically limits VEL2 VEL and RVEL specified velocities to previously imposed client mod...

Page 35: ... values with the AmigoSH client commands 84 through 87 On the fly changes persist until the client disconnects Translation PID values apply to independent wheel velocity mode The P term value Kp increases the overall gain of the system by amplifying the position error Large gains will have a tendency to overshoot the velocity goal small gains will limit the overshoot but cause the system to become...

Page 36: ...hose values that affect translation rotation and drift in your robot The driftFactor is a signed value in 1 8192 increments that gets added to or subtracted from the left wheel encoder to correct for tire circumference differences and consequent translation and rotation drift DriftFactor defaults to its FLASH value on start up or reset and can be changed on the fly with the DRIFTFACTOR client comm...

Page 37: ... polling sequence 12345678 or example any one sonar transducer would be read every 320 milliseconds That common cycle timing accommodates ranging out to the maximum of the sonar of over six meters for general applications including features recognition and localization For other applications such as close in obstacle avoidance a shorter range but faster rate of update is better Use the SONAR_CYCLE...

Page 38: ...dia robot model e g dxsh SERIALNUM str Serial number for the robot 4MOTS byte Antiquated 1 if AT with P2OS ROTVELTOP int Maximum rotation velocity deg sec TRANSVELTOP int Maximum translation speed mm sec ROTACCTOP int Maximum rotation de acceleration deg sec2 TRANSACCTOP int Maximum translation de acceleration mm sec2 PWMMAX int Maximum motor PWM 500 fully on typically limited to 400 for DX or AT ...

Page 39: ... threshold SERIAL The baud rates for the Host and Aux serial ports initially are set from their respective FLASH based defaults and get reset to those values whenever the controller is reset or upon client disconnection For advanced serial port management from the client side AmigoSH provides four commands which let your client software reset the Host HOSTBAUD 50 Aux1 AUX1BAUD 51 Aux2 AUX2BAUD 52 ...

Page 40: ...SAY command 15 lets you play your own sounds through the buzzer The argument consists of a length specified string of duration tone pair bytes The duration is measured in 20 millisecond increments A tone value of zero means silence musical rest The next 127 frequencies 1 127 are the corresponding MIDI notes The remaining tones are frequencies computed as Tone 127 32 Meaning frequencies from 1 to 4...

Page 41: ...n enabled in the GYROpac SIP that gets sent just before the standard Server Information Packet every sInfoCycle typically every 100 milliseconds GYROpac consists of a count byte of the rate and temperature data pairs accumulated since the last cycle typically 4 for a 100ms cycle time followed by that number of rate temperature integer byte pairs Gyro rates are 10 bit integers of value 0 1023 tempe...

Page 42: ...eneath the access portal Unplug the Ethernet to serial device if you have one installed Enabling Maintenance Mode on the Controller You have three ways in which to put the controller into AmigoSH Maintenance Mode Start Up Manual Automatic If for any reason your robot s FLASH parameters get erased or your AmigoSH software encounters a code fault your AmigoBot controller automatically reverts to AMI...

Page 43: ... AmigoSH AmigoSHcf options With Windows PCs you may double click the AmigoSHcf icon to automatically open a console window and start the program without any options To start up with command line options Run the program from the Start menu or run Command from the Start menu then navigate to the AmigoSH directory and start AmigoSHcf with options For example after invoking the MSDOS like command wind...

Page 44: ...robot s default operating characteristics Start up AmigoSHcf as described in the previous section As discussed earlier AmigoSHcf normally downloads the set of operating parameters from your robot s FLASH for your review and modification Or you may load a disk stored version of those parameters Interactive Commands To operate AmigoSHcf in interactive mode simply type a keyword at the command line S...

Page 45: ...FLASH inadvertently erased Default parameter files come with each AmigoSH distribution but it is tedious to reconstruct an individual robot s unique configuration Table 13 AmigoSH FLASH configuration parameters KEYWORD Type Default Description TYPE str Pioneer Identifies the robot type SUBTYPE str Amigo sh Identifies the robot model NAME str not set Unique name for your robot Maximum of 20 charact...

Page 46: ...ferential PID for rotation ROTKI int 0 Integral PID for rotation TRANSACC int 500 Translation acceleration mm sec2 TRANSDECEL int 500 Translation deceleration mm sec2 TRANSKP int 42 Proportional PID for translation TRANSKV int 3 Differential PID for translation TRANSKI int 0 Integral PID for translation PID PARAMETERS The AmigoSH configuration parameters include settings for the PID motor controls...

Page 47: ...rsion of your motion command arguments into platform dependent values used by AmigoSH Unlike previous controller software AmigoSH also uses ticksMM and revCount to convert its internal measures into platform independent position heading and velocity values reported back from the server such as X Pos and Th Accordingly you ll notice that the respective ARIA client parameters have many conversion fa...

Page 48: ...t As accurately as possible measure its actual motion and position and use direct mode to adjust the reported values for your robot s current configuration and operating environment For example start with driftFactor since its value affects both ticksMM and revCount Draw a line on the floor parallel to the robot s translation travel and drive the robot forward or back at least five meters Adjust d...

Page 49: ...ich accompanies the charger Then insert the charger s cable into the Charge socket that is next to AmigoBot s Power switch on the underside of the robot With the high speed charger accessory its LEDs indicate charge status as marked on its case It takes fewer than 12 hours often just a few hours depending on the level of discharge to fully charge the AmigoBot battery using its standard charger rou...

Page 50: ... In the body of your e mail message provide your robot s serial number found on its underside and describe the problem you are having in as much detail as possible Also include your name e mail and mail addresses as well as phone and fax numbers Tell us when and how we can best contact you We will assume e mail is the best manner unless otherwise notified We will try to resolve the problem through...

Page 51: ... ports and connectors on the SH2 based controller for AmigoBot Figure 20 IDC type connector b i Note that layered connectors are numbered differently depending on the socket type IDC ones are odd and even layers microfit connectors use successive position numbering See the Figures nearby for examples AMIGOSH CONTROLLER Figure 21 Key components and connectors on AmigoBot s SH2 based controller 45 ...

Page 52: ...I transmit and receive signals for two more serial ports Aux2 and Aux3 are found on the Expansion I O connector table below The HOST serial connector through the access portal also has a DSR signal line that is set to RS232 high 8 15VDC when the controller is powered on The HOST serial connectors are wired DCE for direct connection straight through cable not NULL modem to a standard PC serial port...

Page 53: ...disc address 2 A1 disc address 3 A2 disc address 4 BINH inhibits return signal 5 INIT starts sonar ping 6 VCC 5 VDC 7 VCC 5 VDC 8 SGND Common 9 SGND Common 10 ECHO Goes high when echo threshold reached Buttons and Indicators PIN SIGNAL DESCRIPTION PIN SIGNAL DESCRIPTION 1 SYSLED System LED 2 ULED User LED 3 Vp 3 3VDC 4 MTPB Motors Test pushbutton 5 RST Reset pushbutton 6 Vp 3 3VDC 7 nc 8 GND Commo...

Page 54: ...on 13 nc 14 AN2 Analog 2 15 GND Common 16 An1 Analog 1 17 D7 Data 7 18 AN0 Analog 0 19 D6 Data 6 20 AGND Analog common 21 D5 Data 5 22 SDA I2 C data 23 D4 Data 4 24 SCL I2 C clock 25 D3 Data 3 26 TXD3 Aux3 serial transmit 27 D2 Data 2 28 RXD3 Aux3 serial receive 29 D1 Data 1 30 TXD2 Aux2 serial transmit 31 D0 Data 0 32 RCV2 Aux2 serial receive 33 CS1 Chip select 1 34 WRL Write 35 CS0 Chip select 0...

Page 55: ...168 1 11 12 13 for successive units on a single order Gateway 192 168 1 1 Subnet mask 255 255 255 0 Boot protocol static Serial Port S1 Disable console mode Disable flow control Serial port service AMR EW 1_S1 Disable queuing TCP port 8101 Disable NetWare Misc Network Disable AppleTalk Disable POP3 Disable SMTP LAN IP SETTINGS You need to modify your Ethernet to Serial device network setting in or...

Page 56: ... init 13 exit 14 Restart the device Webpage 1 Start web browser and access http 192 168 1 xx last two digits depend on device s factory setting typically 11 2 The default password is access 3 Select Configure TCP IP 4 Change the fields for the IP address subnet mask and gateway 5 Click Submit 6 Restart the device Peer to Peer Networking If you don t have an established LAN or access to the wireles...

Page 57: ...ls 2 solid rubber with caster balance Wheel diameter 10 2 cm Wheel width 3 cm Steering Differential Gear ratio 19 5 1 Swing radius 33 cm Turn radius 0 cm Translate speed max 1000 mm sec Rotational speed max 100 degrees sec Traversable step max 1 5 cm Traversable terrain All wheelchair accessible Sensors Sonar 8 total 1 each side 4 forward 2 rear Position encoders 2 one each motor 39 000 ticks per ...

Page 58: ...port 2 x RS 232 2 x SCI FLASH 128 KB RAM 32 KB Controls and Indicators Power Robot accessories power ON OFF Charge System power battery recharge Reset Warm reboot download Motors Test Motors maintenance self tests Speaker Piezo 52 ...

Page 59: ...ers and manufacturers of MOBILEROBOTS products shall bear no liabilities for operation and use of the robot or any accompanying software except that covered by the warranty and period The developers marketers or manufacturers shall not be held responsible for any injury to persons or property involving MOBILEROBOTS products in any way They shall bear no responsibilities or liabilities for any oper...

Page 60: ......

Page 61: ...19 Columbia Drive Amherst NH 03031 603 881 7960 603 881 3818 fax http www MobileRobots com ...

Reviews: