background image

Gripper & Experimenter’s Module

13

The revised PSOS 4.2 (and later)  sfCOMDIGOUT command has a two-byte

argument: The high byte is a mask of those output bits you want to change, and the low
byte is the bit pattern for the bits to change. This way, you don’t need to know the state
of the port(s) you want to change; just the state in which you want them to be, and you
won’t change the state of any of the other ports.

The Saphira function, sfRobotCom2Bytes, packages the sfCOMDIGOUT command

and values for you. For example:

sfRobotCom2Bytes(sfCOMDIGOUT, 0x20, 0x00)

resets bit 5 (OD0=0), and leaves everything else alone.

Accordingly, make the Gripper go up:

sfRobotCom2Bytes(sfCOMDIGOUT, 0x3, 0x3)

Go down:

sfRobotCom2Bytes(sfCOMDIGOUT, 0x3, 0x2)

And stop:

sfRobotCom2Bytes(sfCOMDIGOUT, 0x2, 0x00)

You have to monitor the various Gripper state switches to determine if and when it

achieves a particular state—fully down with paddles open, for instance—when setting the
Gripper’s control I/O ports directly (see below).

4.4.2 State Commands

A more intelligent means of controlling the Gripper is through PSOS

sfCOMGRIPPER command and state parameters. These automatically manage the
Gripper so to achieve some pre-defined state. PSOS also monitors and reports the
Gripper’s progress towards that state, saving you some coding time and effort. And the
state commands use a timeout feature to protect against unfortunate stalls or hang-ups.

To operate the Gripper this way, you simply issue a state command to the robot. You

don’t need to, but you may monitor the Gripper’s progress towards the state via bits 0
and 2 of the digout part of the server information packet (“sfROBOT.digoutput”). During
transitions, the state returned by the robot is set to sfGRIPMOVING. After successfully
achieving a state, the state returned is that state.  If there is a time-out (6 seconds) without
achieving the state, the return state is set to sfGRIPOFF.

The various states and values are included in the script at the end of this chapter and

that you may including in your own C programs.

There also are several Saphira convenience functions defined for gripper states:

int sfGripperGetState (void)

Returns the robot gripper state setpoint

void sfGripperSetState (int state)

Sets the robot gripper state setpoint

Содержание Module Mobile

Страница 1: ...Gripper Experimenter s Module Manual version 1 2 ...

Страница 2: ...l Pioneer 1 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 the Pioneer software and hardware without the expressed written consent of SRI International and ActivMedia Inc is explicitly forbidden Real World Interface RWI Inc manufa...

Страница 3: ... Support 6 2 INSTALLATION 7 2 1 1 Step 1 Remove the Console 7 2 1 2 Step 2 Remove Microcontroller from Console 7 2 1 3 Step 3 Replace the PSOS EPROM 8 2 1 4 Step 4 Reattach Microcontroller to Console 9 2 1 5 Step 5 Remove Nose 9 2 1 6 Step 6 Connect Cables 9 2 1 7 Step 7 Attach Gripper Experimenter s Module to Pioneer 9 2 1 8 Step 8 Re Attach the Console Cables 10 2 1 9 Step 9 Re Attach the Consol...

Страница 4: ...ts 18 4 3 Programming the A D Ports 18 4 4 Programming the Speaker 18 5 MAINTENANCE REPAIR 19 5 1 Drive Lubrication 19 5 2 Gripper Belt Adjustments 19 5 3 Factory Repairs 19 6 APPENDIX A 20 Example C Program Demonstrates Gripper and Speaker Functions 7 APPENDIX B 24 Pioneer Server Information Packet 8 INDEX 25 WARRANTY LIABILITIES 28 ...

Страница 5: ...ienced robotics manufacturing staff put your Pioneer 1 Gripper and Experimenter s Module through a burn in period and carefully tested them before we shipped the hardware and software to you Our care extends beyond Besides the companion resources listed above that bring the whole community of Pioneer to you we warranty the Gripper and Experimenter s Module against mechanical and electronic parts a...

Страница 6: ... s systems an RS232 serial port for communication between the robot and other computers as well as a variety of expansion I O ports for optional and custom attachments 2 3 The Gripper Experimenter s Module The Pioneer 1 Experimenter s Module essentially is a circuit board and accessory electronics that extend the capabilities of the Pioneer 1 microcontroller s standard I O ports including electric...

Страница 7: ...op view In its fully down open state the two 2 5 inch 5cm tall by 3 5 inch 9 5cm deep Gripper paddles each with 0 5cm foam pads on the inside are 8 5 inches 21 5cm apart and ride 1 inch 2 3cm off the floor The paddles extend out from the front robot s main body 3 inches 10cm beyond the console edge ...

Страница 8: ...per s grasp Three other switches sense the Gripper s paddle positions One switch inside the Bar is on when the Gripper paddles are in their fully open position Another at the top of the Bar toggles on when the Gripper reaches its fully up position A third carry switch located behind the Bar indicates when the Gripper is between 1 5 and 2 inches 4 5cm off the floor 2 3 2 Experimenter s Module Descr...

Страница 9: ... may obtain Pioneer 1 software and support materials Point your favorite Web browser to http css activmedia com Some access areas are restricted to licensed customers including Pioneer owners To gain restricted access use the username and password that are written on the Pioneer 1 Registration Account Sheet that accompanied your robot 2 4 2 Pioneer and Saphira Newsgroups RWI also maintains a speci...

Страница 10: ...ions directly with us pioneer support rwii com Your message goes to our team of Pioneer developers who will help you directly or point you to where you may find help Because this is a support option not a general interest newsgroup like Pioneer users described above we must reserve the option to reply only to questions about bugs or problems with Pioneer 1 and its accessories ...

Страница 11: ...the hex wrenches that came with your robot remove the six outermost screws that secure the top plate to the Console two on the front including camera if attached and two on each side If one is attached carefully unplug and remove the Pioneer camera from the Console and back panel Also unscrew and remove the radio modem antenna if attached Twist counter clockwise to remove and twist clockwise to in...

Страница 12: ...n flat bladed screwdriver and gently pry up each end of the chip until it lifts out of the socket freely EPROM chips are sensitive to static electricity Be careful to handle them by their case and store them on conductive foam Don t touch the pins with your fingers and be particularly careful not to bend any of their 28 delicate connector pins Now carefully remove the new PSOS EPROM that came with...

Страница 13: ...through and out the Nose Plug the power cable attached to the Pioneer robot into its new 12 pin socket on the Experimenter s Module just below the accessory s power cable and socket The cable s yellow wires should point towards the center of the Module CAUTION HOT POWER CABLE The Pioneer power cable is connected unswitched directly to the battery Be careful to align the connector with its socket M...

Страница 14: ...obot body Reattach the camera to the front of the Console as well if it is with your robot Then plug the camera power and signal cables back into their respective sockets on the Console back plate and screw in the antenna through the hole in the Console top plate and into the radio modem beneath 3 1 10 Step 10 Test the Assembly Time to switch on the Pioneer s Main Power and sniff for blue smoke If...

Страница 15: ...w to test the drive and I O systems sonars and processor Make sure the Pioneer motors are disengaged if you perform the Gripper self test on a table top The Gripper self test happens whenever you turn the Main Power on or press the Reset button The exercise first drives the Gripper Bar and paddles to their fully down and open state and then back up to their fully up and closed state Always place P...

Страница 16: ...ect within the grasp We identify the various I O ports and connections by name in Table 3 1 Consult the Tables in Chapter 5 for their pin locations on the General and Nose I O connectors Table 3 1 Gripper motor controls and state switches Name I O port Meanings G motor OD0 rotate 1 down 0 up G motor OD1 1 enable top ID0 0 G at top carry ID1 0 paddles closed G 4 5cm above floor open ID2 0 paddles f...

Страница 17: ...gent means of controlling the Gripper is through PSOS sfCOMGRIPPER command and state parameters These automatically manage the Gripper so to achieve some pre defined state PSOS also monitors and reports the Gripper s progress towards that state saving you some coding time and effort And the state commands use a timeout feature to protect against unfortunate stalls or hang ups To operate the Grippe...

Страница 18: ...per control bits DIGOUTPUT define sfGRIPSTATEMASK 0x05 picks out state bits in DIGOUTPUT define sfGRIPMOTORBIT 0x02 motor bit 0 is off 1 is on define sfGRIPDIRBIT 0x01 direction bit 0 is down 1 is up define sfSPEAKERBIT 0x04 define sfRIGHTLEDBIT 0x08 0 is off 1 is on define sfLEFTLEDBIT 0x10 gripper sense bits DIGINPUT define sfGRIPTOPBIT 0x01 top limit switch 0 if hit define sfGRIPMIDBIT 0x02 car...

Страница 19: ...odule 5 1 I O Ports By cables connected to the Pioneer microcontroller the Experimenter s Module brings both the Nose and General I O expansion ports onto a single open platform All of ports now appear as solderable connections alongside a components pad complete with power connections Figure 4 1 The I O ports and their uses are summarized in Table 4 1 The Vcc ports supply logic power so use them ...

Страница 20: ... carry switch ID2 G11 Gripper open switch ID3 G13 Paddle inner break beam ID4 G15 Paddle outer break beam ID5 N5 Paddle bump switches ID6 N3 User push button switch ID7 N1 User slide switch Digital Outputs OD0 G17 Gripper motor rotation direction OD1 G19 Gripper motor enable OD2 G21 User LED amber OD3 G23 Right paddle and front LEDs OD4 G25 Left paddle and front LEDs OD5 N13 Speaker OD6 N11 User s...

Страница 21: ... ports described in Table 4 1 and in the Gripper Chapter 4 Decode that indicator according to the bit rule in Table 4 2 For example if you press the user push button switch the E6 value would change to A6 See why Table 4 2 Bits and meanings of Digin self test value bit 7 6 5 4 3 2 1 0 1 user slide sw up user push button released paddles bump free outer b b clear inner b b clear paddles not open wi...

Страница 22: ...se the digital output ports OD5 7 to address which port PSOS will read and return as the A D value in the Server Information Packet section 3 2 PSOS Server Information Packet For example the following Saphira command addresses the AN4 port by masking the OD5 7 ports setting OD7 and resetting OD5 and OD6 remaining output ports remain untouched sfRobotCom2Bytes sfCOMDIGOUT 0xE0 0x80 5 4 Programming ...

Страница 23: ...bolt behind the slot with pliers or a nut driver so you can loosen the gear With your thumb press down on the gear inside the belt until the belt is fairly taut but not high strung then tighten the screw to hold the gear in place Look inside the Gripper Bar On the left side facing you right side of the robot is another belt and gear similar to the up down belt This gear too has a screwdriver slot ...

Страница 24: ...ssion to use this software for non commercial educational use only This software may not be distributed to others except by SRI under the conditions above Other than these cases no part of this software may be used or distributed without written permission of the author Neither the author nor SRI make any representations about the suitability of this software for any purpose It is provided as is w...

Страница 25: ...ring is 40 bytes 20 tones void sfPlayToneString char str int n if n 40 n 40 sfRobotComStrn sfCOMSAY str n Gripper functions set and retrieve gripper state States are sfUP sfDOWN sfMIDDLE sfOFF and sfMOVING sfMOVING occurs only during transitions between states sfOFF can be set by the user which means no state control sfOFF can be set by the robot to indicate a timeout states define sfGRIPOFF 0 def...

Страница 26: ...0 if hit define sfGRIPINIRBIT 0x08 inner IR 0 is beam break define sfGRIPOUTIRBIT 0x10 outer IR define sfGRIPBUMPBIT 0x20 gripper bumpers 0 is bump define sfGRIPMOMBIT 0x40 momentary switch 0 is pressed define sfGRIPSPSTBIT 0x80 SPST switch 0 is up int returns the robot gripper state setpoint sfGripperGetState void if flakey digoutput sfGRIPMOTORBIT return sfMOVING else return flakey digoutput sfG...

Страница 27: ...er Experimenter s Module 23 case sfRIGHT which sfRIGHTLEDBIT break default which 0 switch state case sfOFF sfRobotCom2Bytes sfCOMDIGOUT which 0 break case sfON sfRobotCom2Bytes sfCOMDIGOUT which which break ...

Страница 28: ...es respective Left and Right in platform dependent units R vel signed int multiply by VelConvFactor to convert to mm sec Battery byte Battery charge in tenths of volts Bumpers 2 bytes L and R Motor stall indicators Bumpers unsigned int Control signed int Setpoint of the server s angular position servo multiply by AngleConvFactor for radians PTU unsigned int Pulse width of position servo Say byte v...

Страница 29: ... test 17 F FTP archives 5 G General I O 16 GRIPMOVING 13 GRIPOFF 13 Gripper Bar 4 belt adjustments 19 carry switch 4 Description 2 direct control 13 I O 12 installation See installation lubrication 19 maintenance 19 motor controls 12 OD0 12 OD1 12 operating range 3 operation 11 paddles 3 self test 11 state commands 13 state switches 12 states 2 switches 4 transition cycle 4 Gripper Bar 4 Gripper I...

Страница 30: ...ioneer LOGO 11 PlayToneString 18 P LOGO 11 PSOS 11 See PSOS EPROM 7 PSOS EPROM 7 R RC servo controllers 4 Real World Interface ii Real World Interface Inc 2 RobotCom2Bytes 13 RWI ii See Real World Interface Inc S Saphira 11 sfCOMDIGOUT 12 13 sfCOMGRIPPER 12 sfCOMSAY 18 sfGRIPMOVING 13 sfGRIPOFF 13 sfGripperGetState 13 sfGripperSetState 13 sfPlayToneString 18 sfROBOT digoutput 13 sfRobotCom2Bytes 1...

Страница 31: ...Gripper Experimenter s Module 27 ...

Страница 32: ...r 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 the Pioneer 1 Mobile Robot in any way They shall bear no responsibilities or liabilities for any operation or application of the robot or for support of...

Отзывы: