background image

Software and Programming 

 

between each step for much smoother operation. 

Accordingly, to move joint #1 from position 100 to position 200, for example, the robot’s controller 

software sends a sequence of 100 individual position commands to the Pioneer Arm controller, each 
incremented by one position value and separated by a 

SPEED

 number of milliseconds until the joint 

reaches its destination.  

You may set individual joint speeds on-the-fly with the 

SPEED

 command #78 or set their start-up 

defaults through FLASH parameters (see next chapter); 1-127 milliseconds delay each.   Speeds may 

be set at any time, even when the arm is not powered, and persist through servo-power and client 
connection/disconnection cycles.  Their current values are reflected in the 

ARMINFOpac

When powered, control the Pioneer Arm’s servo positions with the 

POS

 command #77.  Servos vary.  

Each joint for your particular arm is characterized by maximum and minimum position values which 

limit its range despite the value you may command, as well as a center position.  Limiting values for 
each and every joint are reflected in the 

ARMINFOpac,

 and may be updated in FLASH (see next 

chapter)

.  Individual servo positions are reflected in the 

ARMpac

 server information packet (see 

above).  

SPEED Limits 

Joint speeds have limits.  Generic arm-position commands take two bytes each.  Serial communication 

with the Pioneer Arm controller is 9600 baud, which is about 1 byte per millisecond.  Hence, an 

individual joint may move at the maximal speed at about one new position every two milliseconds, 

even though the server attempts to update each joint every millisecond.  

The delays are cumulative, too.   Move two joints at a time, and the maximal update rate, due to serial 

communication delays, is every four milliseconds.  And so on.    

Fortunately, the worst case—all six joints moving at once and requiring simultaneous position 

updates—is rare, for which a complete update cycle takes 2 x 6 = 12 milliseconds.  As it happens, the 

larger, heavier joints move best at slower speeds, and speed-controlling delay times of 15 

milliseconds and above are smoothest and plenty fast for most manipulation applications. 

HOME and  PARK 

As described earlier, 

HOME

 is a safe and stable position for when the Pioneer Arm servo motors come 

to rest.   When switching servo power, the 

HOME

 position minimizes the drop as the arm goes limp 

when powered OFF, as well as the snap-to-position jumps characteristic of servo motors as each joint 

seeks its position when powered ON.   Indeed, your robot controller’s arm servers 

always

 presume that 

the Pioneer Arm is stored in its 

HOME

 position except when its servo motors power is ON. 

Use the 

HOME

 command #75 to send one (servo number 1-6 as command parameter) or all (command 

parameter >6) of your Pioneer Arm joints to their 

HOME

, default positions. 

Use the

 PARK

 command #76 to send all the joints to their 

HOME

 positions and shut power OFF to the 

arm.  The 

HOME

 and 

PARK

 commands are ignored if servo power is OFF. 

INIT, CHECK, and Warm Reset Protocol 

Upon 

Main Power

 start up or controller reset, the Pioneer Arm servers automatically initialize the arm 

controller, setting the arm joints to their default 

HOME

 positions and their speeds to the defaults stored 

in FLASH.  It does not apply power to the arm’s servos. 

Instead, initialization includes 

removing

 power from the arm’s servo motors.  Please be careful to 

recognize the implications:  Upon reset, your robot controller’s arm servers cannot know the positions 
of arm joints, and therefore presume, upon initialization, that they are at or near their 

HOME

 positions.   

When reset, the controller’s arm servers cannot and will not drive the Pioneer Arm servos to their 

HOME

 

positions, as they may do under other circumstances. 

 

 

14 

Summary of Contents for Pioneer Arm

Page 1: ...Pioneer Arm Manual with NEW AKIN Arm Kinematics Software ...

Page 2: ... 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 license or the express written consent of MobileRobots Inc is explicitly forbidden PeopleBot AmigoBot PowerBot PatrolBot ARCSinside SetNetGo MobilePlanner MobileSim...

Page 3: ... Keep equipment away from hair or fur Inappropriate Operation Inappropriate operation voids your warranty Inappropriate operation includes but is not limited to 9 Dropping the equipment 9 Overloading the Arm above its payload capacity 9 Getting the equipment wet 9 Continuing to run the equipment after hair yarn string or any other items have become wound in one or more of its joints 9 All other fo...

Page 4: ...C CONTROLS 10 Generic Command Syntax 10 Generic Commands 10 Generic Command Communications 11 PIONEER CONTROLLER ARM SERVERS 11 Client Commands 11 INFO and ARMINFOpac 12 POWER 12 STATUS and ARMpac 13 SPEED and POS 13 SPEED Limits 14 HOME and PARK 14 INIT CHECK and Warm Reset Protocol 14 ARIA AND ARAKIN ARM SUPPORT 15 ArP2ArmSimple ArAKinDemo and ArAKinExample 16 CHAPTER 4 ARM FLASH PARAMETERS 17 F...

Page 5: ...the Pioneer platforms are nearly identical and share accessories including the Pioneer Arm All Pioneer robots come with onboard robotics server software These operating systems have an open API for client control of the robot s systems and accessories Users access the onboard servers through an RS 232 serial communication port from their client workstation connected wirelessly or tethered via a pi...

Page 6: ...In addition the Pioneer Arm now comes bundled with ARIA integrated inverse kinematics software Arm Kinematics AKin as licensed from Fachhochschule Trier University of Applied Sciences Simply provide the 3 D position for the gripper end effector and let AKin do the work ARIA and ArAKin come with several demonstration clients that you may modify and use to create your own mobile robotic arm software...

Page 7: ...reach We maintain a 24 hour seven day per week Web server where customers may obtain software and support materials http robots MobileRobots com Some areas of the website are restricted to licensed customers To gain access enter the username and password written on the Registration Account Sheet that accompanied your MOBILEROBOTS platform Newsgroups We maintain several email based newsgroups throu...

Page 8: ...rrently is unmoderated so please confine your comments and inquiries to issues concerning the operation and programming of Pioneer robots Tell us your robot s SERIAL NUMBER Support Have a problem Can t find the answer in this or any of the accompanying manuals Or do you know a way that we might improve our robots and accessories Share your thoughts and questions directly with us http robots Mobile...

Page 9: ...tip of the Arm s V shaped mounting base should point towards the rear of the robot and the arm should be folded towards the back of its base 2 Use the hex wrench that came with your robot and one of the mounting screws to secure the arm s base tip to the robot s top plate just in front of the access port Freely rotate the arm around its base to access the mounting holes 3 Align the two other mount...

Page 10: ...characteristic of servo motors when first powered up are minimized Accordingly when operating the Pioneer Arm be sure to manually place it in its HOME resting position before applying power to its servos and be careful to have it resume its HOME position before removing power Failure to do so may cause damage to the Pioneer Arm or to nearby people animals lamps vases undergraduates For additional ...

Page 11: ...art up your robot Its Pioneer Arm automatically gets power too but the joint servos should be OFF and the arm limp in its HOME position If not manually move the joints until the arm is in that HOME position P2ArmDemo On startup the P2ArmDemo program automatically makes a client connection with your robot s controller through the COM1 dev ttyS0 with Linux serial port 5 It then graphically displays ...

Page 12: ...ect it and its surroundings from inadvertent damage The robot controller s Arm servers support important features that monitor Arm activity and automatically if enabled act to protect your Pioneer Arm These watchdogs include a client connection related automatic shutdown server a release timer for the Arm gripper and a warm reset server Power and Connection Related Automatic Shutdown Because it is...

Page 13: ... than five minutes at a time with healthy rest periods in between CAREFUL Unless carefully managed by your software the Pioneer Arm gripper timer may act to drop an object prematurely Like AutoParkTimer the gripper s watchdog timer GripperParkTimer is a parameter stored in your robot controller s FLASH and modified with the FLASH configuration utility The timer defaults to five minutes and can be ...

Page 14: ...s can you query for the current position of a joint Your robot s Pioneer Arm support servers on the other hand give you control over joint speeds and maintain current position information as well as a variety of other advanced and convenient features Which is why we recommend that you program to the Pioneer Arm servers and not to the arm s generic command set Generic Command Syntax The Pioneer Arm...

Page 15: ...etrieve responses from the Pioneer Arm controller using generic commands use the respective GETAUX commands 43 67 61 for AUX1 3 and corresponding SERAUXpac types 176 184 and 200 respectively server information packet Command and packet details are in your robot s Operations Manual MobileRobots ARIA client development environment supports these functions too Pioneer Controller Arm Servers Your robo...

Page 16: ...ove nor will the servers update joint positions unless your robot s controller verifiably has communication with the arm s controller and the arm s servo power is enabled There is a special warm reset protocol your client must perform in the case that the Pioneer Arm controller is not in contact with the robot s controller when your client software requests to enable servo power or in the case tha...

Page 17: ...S DESCRIPTION 2 0xFAFB Header 0 11 Data byte count 1 160 ARMpac server information packet ID 2 bit endcoded status Bit encoded servo power b0 and connection b1 status respective bit is set 1 if servo power enabled or a connection established between Pioneer Arm controller and the robot s microcontroller 3 bit encoded status Bit encoded motion status for each servo driven joint bit set 1 if respect...

Page 18: ...ds And so on Fortunately the worst case all six joints moving at once and requiring simultaneous position updates is rare for which a complete update cycle takes 2 x 6 12 milliseconds As it happens the larger heavier joints move best at slower speeds and speed controlling delay times of 15 milliseconds and above are smoothest and plenty fast for most manipulation applications HOME and PARK As desc...

Page 19: ...er Arm through the arm servers In the meantime you should manually restore the Pioneer Arm to its HOME position For your client to recover command and control of the Pioneer Arm while remaining connected after the communication failure you must follow the warm reset protocol 1 Request status STAT or CHECK and wait for restoration of communication bit 1 of the status byte 2 Issue the INIT command 3...

Page 20: ... activities as well as the ArAKin kinematics libraries Install the software into your ARIA directory typically in C Program Files MobileRobots Aria or usr local Aria Be sure to use matching ARIA and ArAKin versions In the generic Aria examples subdirectory find and create the ArP2ArmSimple program which shows you how to connect and operate the individual arm joints as well as monitor arm states an...

Page 21: ...e default joint speeds in 1 millisecond increments Unlike the other FLASH based position values joint speeds may be modified by your client software through the SPEED client command 78 See the previous chapter for details The TICKS PER 90DEGREES define the number of unique positions ticks the individual servo takes for a 90 degree swing in the joint Use this value to convert absolute joint positio...

Page 22: ...ton 3 Continue holding the MOTORS button for three or more seconds P2OS 4 Release the MOTORS button The robot should not reset If it does you probably didn t hold the MOTORS button down long enough Try again When successfully in FLASH maintenance mode notice that the heartbeat asterisk stops blinking in the C166 Console LCD With H8S and SH2 based robots the STATUS LED blinks rapidly and the BATT L...

Page 23: ... the current operating parameters from the robot but to load a saved parameters files from disk You may edit the file restored parameters just as you edit those retrieved from the robot And you may save those edited parameters over the same file or a different one using the save command Note that file restored configuration parameters are not necessarily the same as those stored in the robot s FLA...

Page 24: ...oneer Arm FLASH parameters for individual servo joints KEYWORD JOINT JOINT 1 JOINT 2 JOINT 3 JOINT 4 JOINT 5 JOINT 6 Home 125 30 20 130 20 100 Speed 20 20 20 20 20 20 Min 1 2 1 1 1 28 Center fc fc fc fc fc fc Max 223 230 215 224 233 250 TickPer90Deg fc fc fc fc fc fc Replace keyword suffix with joint number 1 6 ServoMin4 for example Cailbrated at the factory With the Pioneer Arm parameters several...

Page 25: ...nclude your robot s serial number In the body of your email or fax message describe the problem in as much detail as possible Also include your name email and mail addresses as well as phone and fax numbers Tell us when and how we can best contact you we will assume email is the best manner unless otherwise notified We will try to resolve the problem through communication If the Arm must be return...

Page 26: ...stic with foam covered gripper fingers MOTION 5 DOF arm and 1 DOF gripper POWER 5 and 12 VDC supplied by Pioneer robot ARM RANGE 50 cm fully extended GRIPPER RANGE Gripper fingers part to 5 cm PAYLOAD 150 gm 5 oz lift capability SPEED 1 second from fully extended to fully relaxed position 22 ...

Page 27: ...rs 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 opera...

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

Reviews: