Summary of Contents for ActivMedia Robotics MOBILEROBOTS Team AmigoBot-SH
Page 1
Team AmigoBot™ Operations Manual with Renesas SH2-based Controller, AmigoSH Robot Control Software & ARIA Robotics Development Software and MobileEyes Client...
Page 2
OBILE OBOTS and hardware without the expressed written consent of ActivMedia Robotics, LLC, is explicitly forbidden. The various names and logos for products used in this manual are often registered trademarks or trademarks of their respective companies. Mention of any third-party hardware or software constitutes neither an endorsement nor a recommendation.
Page 3
OBILE OBOTS Important Safety Instructions Read the installation and operations instructions before using the equipment. Avoid using power extension cords. To prevent fire or shock hazard, do not expose the equipment to rain or moisture. Refrain from opening the unit or any of its accessories. Keep wheels away from long hair or fur.
OBILE OBOTS Introduction Chapter 1 Congratulations your purchase welcome to the rapidly growing community developers enthusiasts intelligent mobile platforms. OBILE OBOTS This Team AmigoBot-SH Operations Manual provides both the general and technical details you need to operate your new Figure 1. AmigoBots prefer to swarm AmigoBot robots and to begin developing into teams.
Congratulations DDITIONAL ESOURCES Every M customer gets three additional and valuable resources: OBILE OBOTS A private account on our support Internet website for downloading software, updates, and manuals Access to private newsgroups Direct access to the M technical support team OBILE OBOTS Support Website...
Page 9
OBILE OBOTS http://robots.activmedia.com/techsupport or by email: support@mobilerobots.com Please include your AmigoBot's serial number (look for it underneath the robot)we often need to understand your robot's configuration to best answer your question. Tell us your robot’s SERIAL NUMBER. Your message goes directly to the M technical support team.
AmigoBot introduced an Hitachi H8S-based controller with AmigOS in 2000. From 2002 until Fall of 2004, Pioneer 3, Performance PeopleBot, and PowerBot robots also had an Hitachi H8S-based controller with ActivMedia Robotics Operating System (AROS) software. Now, all ActivMedia robots use revolutionary high-performance controllers with...
OBILE OBOTS brand new Team AmigoBot with little or no modification. Client-server communication over a serial communication link remain identical as do support for all robotics commands. See Chapter 5, AmigoSH, for details. ORTS AND OWER Your Team AmigoBot has a variety of expansion power and I/O ports for attachment and close integration of a client PC, sensors, and a variety of accessories—all accessible through a common application interface to the robot’s server software, AmigoSH.
What isAmigoBot? own robot-control software, since it neatly handles the lowest-level details of client-server interactions, including serial communications, command and server-information packet processing, cycle timing, and multithreading, as well as support of a variety of accessories and controls, such as a scanning laser-range finder, motion gyros, sonar, and many others.
OBILE OBOTS ODES OF PERATION You may operate your AmigoBot in one of three modes: Server Maintenance Standalone Server Mode Your AmigoBot’s new Renesas SH2-7144 microprocessor-based controller comes with 128K of re-programmable FLASH and 32K dynamic RAM memory. However, we don't recommend that you start learning SH2 programming.
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-...
OBILE OBOTS AmigoBot Although sporting 16-bit Hitachi H8S-based controller highly durable polycarbonate body, the AmigoBot in many ways was an updated Pioneer 1: Released in Summer of 2000, it reintroduced the concept of a small, lightweight, self-contained platform ideal for training and education in intelligent mobile robot controls. Like the original, your new Team AmigoBot, first released in Spring of 2005, has a single controller board for client-server operation with motor drives, sonar, and other device supports built in.
Specifications & Controls Specifications & Controls Chapter 3 AmigoBot is an intelligent mobile robot. Combined with state-of-the-art robotics software like ARIA, ArNetworking, SONARNL, and MobileEyes running on your PC, AmigoBot can actually determine where it is (localization) and find its way safely from one place to the next (navigation);...
OBILE OBOTS Attached to each drive axle is a high-resolution optical quadrature shaft encoder that provides 123 ticks-per-millimeter of wheel rotation for precise position and speed sensing and advanced dead-reckoning. The AmigoBot drive and sensor systems are powered and processed from a single controller, driven by a high-performance, I/O-rich Renesas SH2 microprocessor.
Specifications & Controls The black Motors/Test pushbutton’s function depends on the operating state of the robot. When not connected with a client, press the button once to enable and a second time to begin AmigoBot’s self-tests, for instance. See Chapter 3, Quick Start and Self Tests, for details. When connected with a client, the black Motors/Test button manually enables and disables the motors, which also can...
OBILE OBOTS ONAR The AmigoBot comes standard with a single array of eight sonar. The sonar positions are fixed: one on each side, four facing forward, and two at the rear, together providing nearly 360 degrees of range sensing. The sonar are numbered clockwise around the robot, beginning with the left side disc.
Specifications & Controls rotation which AmigoSH uses to compute speed and distance traveled. DriftFactor, a signed integer measured in 1/8192 units, gets added to or subtracted from the left-wheel encoder’s value to compensate for unevenly sized tires. See Chapters 5 and 6 for a detailed description of AmigoBot’s odometry measures and controller-FLASH related variables.
ArNetworking\examples subdirectories. MobileEyes comes as a separate distribution archive, but also gets installed in the C:\Program Files\ActivMedia Robotics\ path. Linux users must have superuser (root) permissions in order to install ARIA with ArNetworking and MobileEyes. ARIA comes as an RPM installation archive: rpm -ihv aria...
Quick Start and gets put into /usr/local/Aria. The ARIA demonstration programs get put into the bin/ subdirectory. The demonstration sources and Makefiles are in the examples/ and ArNetworking/examples subdirectories. Similarly, rpm extracts MobileEyes normally into /usr/local/MobileEyes and its executable is in the respective bin/ subdirectory. Linux users should also be sure they have permission to read/write through their PC’s serial port that connects with the robot.
Files\ActivMedia Robotics\ARIA\bin\demo.exe. Then, type a command line argument at the end of the text in the Run dialog. To connect through the COM2 serial port on your PC, for example: C:\Program Files\ActivMedia Robotics\ARIA\bin\demo.exe –rp COM2 A Successful Connection ARIA prints lots Table 2.
Quick Start While driving from the keyboard, hold down the respective keys to simultaneously drive the robot forward or backward and turn right or left. For instance, hold down the up- arrow key to have the robot accelerate forward to its cruising speed of around 400 millimeters per second (defined in the source code).
ARIA-based parameter files either come with the OBILE OBOTS latest version of ARIA or can be retrieved from the ActivMedia Robotics support website. Another common mistake with Linux is not having the proper permissions on the connecting serial port, for instance.
Page 26
Quick Start ATTENTION! The ARIA-to-robot connection is SERIAL only. Accordingly, run the ARIA demo client over radio modems, or over the network with the wireless Ethernet-to-serial device. If you are using the Ethernet-to-serial device, its serial connection is internal and established at the factory;...
AmigoBot via its AmigoBot-SH Operations Software (AmigoSH) client-server interface. The same AmigoSH Figure 16. ActivMedia Robotics’ functions and commands are supported in client-server control architecture the various client-programming environments that accompany your robot or are available for separate license.
= c ^ (int)((unsigned char) myBuf[i]); return c; (from ActivMedia Robotics’ ARIA ArRobotPacket.cpp) NOTE: The checksum integer is placed at the end of the packet, with its bytes in the reverse order of that used for data; that is, b is the high byte and b is the low byte.
OBILE OBOTS Because of the real-time nature of client-server mobile-robotics interactions, we made a conscious decision to provide an unacknowledged communication packet interface. Retransmitting server information or command packets typically serves no useful purpose because old data is useless in maintaining responsive robot behaviors. Nonetheless, the client-server interface provides a simple means for dealing with ignored command packets: Most of the client commands alter state variables in the server.
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.
Page 31
OBILE OBOTS Table 4. AmigoSH standard SIP contents NAME VALUE DESCRIPTION 2 bytes Exactly in order 0xFA (250), 0xFB (251) HEADER byte Number of data bytes + 2 (checksum), not including header or BYTE COUNT byte-count bytes 0x3s Motors status; s = 2 when motors stopped or 3 when robot TYPE moving.
Page 32
AmigoBot-SH Operations Software Table 5. AmigoSH client-side command set DESCRIPTION MIGO COMMAND VERSION Before Client Connection none Start connection. Send in sequence. AmigoSH echoes SYNC none synchronization commands back to client, and SYNC none robot-specific auto-synchronization after SYNC2. SYNC After Established Connection none Reset server watchdog.
OBILE OBOTS uint Change the sonar cycle time; in milliseconds. SONAR CYCLE Change the HOST serial port baud rate to 0=9600, 1=19200, HOSTBAUD 2=38400, 3=57600, or 4=115200. Change the AUX1 serial port baud rate (see HOSTBAUD). BAUD Change the AUX2 serial port baud rate (see HOSTBAUD). BAUD Change the AUX3 serial port baud rate (see HOSTBAUD).
AmigoBot-SH Operations Software Table 6. AmigoSH motion commands Rotation (#12) Turn to absolute heading at SETRV max velocity HEAD (#13), Turn to heading relative to control point at SETRV max velocity DHEAD (#22) DCHEAD (#9) Rotate at SETRV velocity ROTATE (#21) Rotate at + (counter-) or –...
OBILE OBOTS The orientation commands HEAD (#12), DHEAD (#13), DCHEAD (#22) turn the robot with respect to its internal dead-reckoned angle to an absolute heading (0-359 degrees), relative to its immediate heading, or relative to its current heading setpoint (achieved or last commanded heading), respectively.
AmigoBot-SH Operations Software aware that registration between external internal coordinates deteriorates rapidly with movement due to gearbox play, wheel imbalance and slippage, and many other real-world factors. You can rely on the dead- Front reckoning ability of the robot for just a short range—on the order of a few meters and one or two revolutions, +270...
OBILE OBOTS Enable/Disable Sonar Use the SONAR client command #28 to enable (argument 1) or disable (0) AmigoBot’s sonar. Polling Sequence Your AmigoBot’s sonar fire at a rate and in the sequence defined in your robot’s FLASH parameters. (Consult the next chapter on how to change the FLASH settings.) Use the sonar POLLING command #3 to have your client change the firing sequence, and the SONAR_CYCLE command #48 to change the rate.
AmigoBot-SH Operations Software communication line. Extended packets get sent immediately before (such as GYROpac) or after (such as IOpac) the standard SIP that AmigoSH sends to your client every SIP milliseconds (typically 100). The standard SIP takes priority, so you may have to adjust the Host serial baud rate to accommodate all data packets in the allotted cycle time, or some packets may never get sent.
OBILE OBOTS Current max rotation speed; deg/sec. ROTVELMAX Current max translation speed; mm/sec. TRANSVELMAX Current rotation acceleration; deg/sec ROTACC Current rotation deceleration; deg/sec ROTDECEL Current Proportional PID for rotation ROTKP Current Derivative PID for rotation ROTKV Current Integral PID for rotation ROTKI Current translation acceleration;...
AmigoBot-SH Operations Software the requested number of incoming AUX-port serial bytes and them send them in the respective SERAUXpac, SERAUX2pac, or SERAUX3pac SIP. NCODERS Issue the ENCODER command #19 with an argument of one for a single, or with an argument value of two or more for a continuous stream of ENCODERpac (type 144;...
Page 41
OBILE OBOTS AmigoSH collects gyro rate and temperature readings and will, upon request, send the accumulated data to a connected client in a GYROpac (type=0x98) server information packet for processing. Analysis of the gyro data and subsequent modifications to the robot's heading are done on the client side, as supported in the latest versions (1.3 and later) of ARIA.
Updating and Reconfiguring AmigoSH Updating & Reconfiguring AmigoSH Chapter 6 The AmigoSH software and a set of operating parameters get stored in your Team AmigoBot controller's FLASH. With special upload and configuration software tools, you change and update AmigoSH and its operating parameters. No hardware modification is required.
AmigoSH directory and start AmigoSHcf with options. For example (after invoking the MSDOS-like command window): C:\> cd Program Files\ActivMedia Robotics\AmigoSH C:\Program Files\ActivMedia Robotics\AmigoSH\> AmigoSHcf <options> Normally (without any command-line arguments), AmigoSHcf starts up expecting to connect your PC’s COM1 or /dev/ttyS0 serial port with your robot’s controller.
AmigoSHcf and make a connection with a serial port other than the default COM1 or ttyS0: C:\Program Files\ActivMedia Robotics\AmigoSH> AmigoSHcf –p COM3 Similarly, in Linux, the command uploads a fresh copy of AmigoSH to your robot’s controller and then exits automatically: % ./AmigoSHcf –u AmigoSH1_0.mot –n -b...
OBILE OBOTS Table 12. AmigoSHcf control commands COMMAND DESCRIPTION <value> Alone, keyword displays current, edited KEYWORD value. Add argument to change current value. v or view Display FLASH parameters; use ENTER to continue display list. upload Upload specified AmigoSH image (.mot) file to <motfile>...
Updating and Reconfiguring AmigoSH byte Server information packet cycle time in 1 ms SIPCYCLE increments. Default is classic 100 ms. 2000 Ms time before robot automatically stops if it WATCHDOG has not received a command from a client. Restarts on restoration of connection. byte 0 disables the buzzer SOUNDTOG...
OBILE OBOTS The ticksMM value is the number of encoder pulses (“ticks”) per millimeter of wheel rotation. The value is, of course, dependent upon the wheel encoder’s resolution, the motor-to-wheel gear ratio, and the wheel’s diameter. The revCount value is the number of encoder ticks for one-half revolution of the robot. It depends on a number of factors, principally the length of the wheel base, which may change due to payload, tire wear, operating surface, and so on.
Calibration & Maintenance Calibration & Maintenance Chapter 7 Your Team AmigoBot is built to last a lifetime and requires little maintenance. ALIBRATING OBOT Your robot comes with FLASH parameters adjusted for operation on smooth, flat surfaces with its original payload. If you operate your robot on some different surface and with lighter or heavier loads, you probably will need to recalibrate many of its operating parameters, such as driftFactor, revCount, ticksMM, and the PIDs.
OBILE OBOTS Keep the axles clear of carpet or other strings that may wrap around and bind up AmigoBot’s drive. Occasionally wipe the tires with a damp cloth, and especially remove any dirt or debris that may accumulate on the tires—these will degrade the robot’s performance.
Calibration & Maintenance An alternative AC to DC converter/battery charger for AmigoBot should sustain at least 0.2 A at 13.75 to 14 VDC per battery. It also should be voltage- and current-limited so that it cannot overcharge the batteries. ETTING NSIDE We discourage you from opening up your AmigoBot.
OBILE OBOTS Appendix A & C ONTROLLER ORTS ONNECTIONS This Appendix contains pinout electrical specifications for the external and internal ports and connectors on the SH2-based controller for AmigoBot. Figure 19. Mini- and Note that layered connectors numbered micro-fit style connector differently, depending on the socket type.
Battery and Motors Connector The battery and motors connector is an 8-position minifit socket for power connections to the battery, controller, and motors. Table 14. Battery and Motors Connector (rev H) SIGNAL DESCRIPTION SIGNAL DESCRIPTION Left motor red Left motor black Right motor red Right motor black Common...
OBILE OBOTS Table 17. Aux1 serial port (5-pos microfit sockets) SIGNAL DESCRIPTION SIGNAL DESCRIPTION 5 VDC Signal out Signal in Vbatt 12 VDC Common Encoders Table 18. Encoder connectors (2 x 4-pos microfits) SIGNAL DESCRIPTION SIGNAL DESCRIPTION 5VDC Channel A Common Channel B Sonar...
Expansion I/O Table 21. Expansion I/O (40-pos high-density latching IDC) SIGNAL DESCRIPTION SIGNAL DESCRIPTION Vbatt 12VDC Common Vbatt 12VDC Common Vbatt 12VDC Common 5VDC 3.3VDC 5VDC 3.3VDC Common AGND Analog common Analog 2 Common Analog 1 Data 7 Analog 0 Data 6 AGND Analog common...
OBILE OBOTS Appendix B THERNET ERIAL EVICE ETTINGS The Ethernet-to-Serial device settings are made at the factory and stored in the device FLASH. Pressing and holding the test button for more than five seconds restores those factory settings. Server name AMR-EW-1 Wireless SSID: WaveLAN Network...
Console mode: 1. Power off. 2. Attach a cross-over serial cable between your PC and the serial port on the device. 3. Start minicom (Linux), HyperTerminal (Windows®) or comparable serial console on your PC. 4. Serial settings are 115,200 baud, 8 bits, one stop, no parity, and hardware handshaking.
Appendix C PECIFICATIONS 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) Power Battery 2x12V lead-acid Charge...
Page 58
Sonar 1 x 8 (multiplexed) Comm port 2 x RS-232 2 x SCI FLASH 128 KB 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...
Warranty & Liabilities Your M platform is fully warranted against defective parts or assembly for one OBILE OBOTS year after it is shipped to you from the factory. Accessories are warranted for 90 days. Use only M -authorized parts, or warranty void. This warranty also explicitly OBILE OBOTS does not include damage from shipping or from abuse or inappropriate operation, such...
Need help?
Do you have a question about the MOBILEROBOTS Team AmigoBot-SH and is the answer not in the manual?
Questions and answers