Open Collections

UBC Theses and Dissertations

UBC Theses Logo

UBC Theses and Dissertations

Application of force feedback to heavy duty hydraulic machine Parker, Niall R. 1992

Your browser doesn't seem to have a PDF viewer, please download the PDF to view this item.

Item Metadata

Download

Media
831-ubc_1994-0031.pdf [ 1.88MB ]
Metadata
JSON: 831-1.0065079.json
JSON-LD: 831-1.0065079-ld.json
RDF/XML (Pretty): 831-1.0065079-rdf.xml
RDF/JSON: 831-1.0065079-rdf.json
Turtle: 831-1.0065079-turtle.txt
N-Triples: 831-1.0065079-rdf-ntriples.txt
Original Record: 831-1.0065079-source.json
Full Text
831-1.0065079-fulltext.txt
Citation
831-1.0065079.ris

Full Text

Application of Force Feedback toHeavy Duty Hydraulic MachinesbyMall R. ParkerB.A.Sc. University of British Columbia, Vancouver, 1988.A THESIS SUBMITTED IN PARTIAL FULFILLMENT OFTHE REQUIREMENTS FOR THE DEGREE OFMASTER OF APPLIED SCIENCEifiTHE FACULTY OF GRADUATE STUDIESDEPARTMENT OF ELECTRICAL ENGINEERINGWe accept this thesis as conformingto the required standardTHE UNIVERSITY OF BRITISH COLUMBIAOctober 1992© Niall R. Parker, 1992In presenting this thesis in partial fulfilment of the requirements for an advanceddegree at the University of British Columbia, I agree that the Library shall make itfreely available for reference and study. I further agree that permission for extensivecopying of this thesis for scholarly purposes may be granted by the head of mydepartment or by his or her representatives. It is understood that copying orpublication of this thesis for financial gain shall not be allowed without my writtenpermission.(Signature)Department of_________________________The University of British ColumbiaVancouver, CanadaDate tJ //2DE-6 (2/88)AbstractIssues concerning the design and implementation of a force-reflecting controller for conventional heavy duty hydraulic machines are addressed in this thesis. A computer simulation of atypical hydraulic machine (a feller/buncher) has been developed. It implements a graphical display and a dynamic simulation of the endpoint load. A magnetically levitated joystick has beenintegrated into the simulator to act as the force-reflecting master. The system has been used toevaluate various control strategies for their effectiveness and subjective feel. These studies haveshown that simple rate control wifi be unstable in contact with a surface when direct force feedback is applied, and a novel stiffness control scheme was developed to circumvent this problem.The force-reflecting master was also used with a CAT 215 log loader, and experiments usingthe system to control the endpoint force were performed. The system was capable of repeatedlyapplying a desired target force based on force feedback to the operator alone. Large errors inthe applied forces were due mainly to the poor resolution of the endpoint force sensing. Thecylinder pressures in the main actuators were measured and used to derive the endpoint forces,with resolution on the order of 10% of a typical working load.11Table of ContentsAbstract 1List of TablesList of Figures viiAcknowledgments ix1 Introduction 11.1 Motivation 31.1.1 Forestry 31.1.2 Construction 51.2 Previous Work 61.3 Thesis Contributions 82 Resolved Motion 102.1 Coordinate Transformation 122.2 Jacobian Transformation 142.2.1 Jacobian vs Inverse Kinematics 152.2.2 Reduced Order Jacobians 183 Force Feedback 203.1 Position Control 233.2 Rate Control 273.2.1 Force feedback 273.2.2 Stiffness Feedback 29ill4 Maglev Joystick 364.1 Description 364.1.1 Hardware 364.1.2 Capabilities 394.2 Control 404.2.1 Controller Hardware 404.2.2 PD 414.3 Parameter Identification 435 Interprocess Communication 465.1 PC & DSP system 465.1.1 Serial Communication 485.2 VME implementation 505.3 Machine implementation 526 Graphics Simulator 546.1 HOOPS 546.1.1 Advantages I Disadvantages 546.2 Simulation evolution 557 Machine/Operator Considerations 577.1 Workspace 577.2 Force Sensing 577.2.1 Pressure Transducers 57iv7.2.2 Endpoint Force Sensors.587.3 Force/Position Scaling 597.3.1 Force 597.3.2 Position 608 Simulation Experiments 629 Machine Experiments 669.1 Endpoint Force Sensing 679.1.1 Load Cell 679.1.2 Pressure Sensors 689.1.3 Link parameter estimation 709.1.4 Force computation errors 739.2 Loader Experiments 7410 Conclusions 7810.1 Further Work 79References 80VList of Tables9.1 Link Parameter Estimates: average of data collected May-June 1992 729.2 Link Parameter Estimates: Ground level mapping. Aug. 13 1992 739.3 Link Parameter Estimates: Whole workspace mapping. Aug. 13 1992 739.4 Results of Endpoint Force Control Experiments 76vi1.11.21.31.42.52.62.73.83.93.103.113.123.133.143.153.163.183.194.204.214.22List of FiguresSimple Telemanipulator 1Feller/Buncher Assembly 3Typical feller/buncher 4Typical excavator 6Manipulator Hand Controllers 11Excavator kinematic parameters 13Feller/Buncher Schematic 14Hand controller with slave model 20Hand controller with slave block diagram 21Direct control of master position 22Direct control of master force 22Position control through compliant hand 23Position control with feedback 24Position control Root-Locus 25Rate control Root-Locus 28Joystick Stiffness vs Applied Force 333.17 Stiffness controller block diagram 34Master and slave response for stiffness control: = 10 N, (= 1 34Master and slave response for stiffness control: fliaTid = 60 N, = 0.3 35Maglev Joystick: Block Diagram 37Maglev Joystick: Isometric view 37Maglev Joystick: Exploded view 38vii4.235.245.255.266.278.289.299.309.31Joystick Control FlowMachine simulator block diagramVME based simulatorCAT 215 controllerOperator viewpoint from HOOPS simulationVirtual mass simulation on DSP controllerStatic machine forcesSample data from force trials (tension -, compression ÷)Endpoint force applied vs. desired forcevu’AcknowledgmentsI would like to thank my supervisors Tim Salcudean and Peter Lawrence for their supportand assistance in my thesis work. Many thanks as well to Dan Chan for his invaluable assistanceduring many late nights completing machine experiments. I would also like to thank MarkMilligan and Simon Bachmann for their technical input as well as my friends and fellow studentsfor their advice and assistance throughout my work.ixChapter 1IntroductionThe sense of touch is used whenever someone interacts with the environment. It permitsone to grasp objects without damaging them and to determine their shape and configurationwithout visual contact. As long as an object is manipulated directly, force feedback comes aboutnaturally. As tools are used to extend the abilities of the human body, the tool inertia, frictionand compliance will obscure the true forces applied to the environment. A telemanipulator (e.g.Fig. 1.1) is a device which permits a person to manipulate an object that is a distance away fromthe operator. In its simplest form, it consists of a master controller connected (mechanically,electrically, hydraulically etc.) to a manipulator such as a robot arm. Just as force feedbackinformation is useful to a person directly manipulating an object, it is also useful to the operatorof a telemanipulator. For this reason, force feedback is often incorporated into telemampulatormechanisms. Heavy duty hydraulic machines, of the type currently in use in the forestry andconstruction industries, can be treated as telemanipulators and also benefit from the addition offorce feedback.endeffectorFigure 1.1 Simple TelemanipulatorIn general tasks, while vision is the primary sense for locating and moving objects, forcefeedback becomes the primary sense when dealing with tasks that involve contact. For example,tion command1Chapter 1: Introduction 2the insertion of a pin into a hole, or the threading of nut on a stud require control over theforces at the end effector. A perfect model of the endpoint environment, together with a perfectpositioning system would enable control of the endpoint force to be simply a matter of controllingthe endpoint position. On the other hand, practical systems will require a more direct method tocontrol the forces generated by contact. These forces can be controlled either directly throughforce feedback to the supervising controller (a computer in the case of pure robotics, an operatorin the telerobotics case), or by control of the endpoint compliance (passively or actively). In theteleoperation case, force feedback will give the operator more information and greater controlover the machine.Currently, the hydraulic machines in use in the forestry, mining and construction industriesprovide no force feedback to the operator. The operator typically controls the joints of themachine individually, through a pilot valve system driving the main spool valves. Most pilotvalves are controlled directly, through simple levers or a joystick, but some are now controlledelectrically. As each of the joints is controlled individually, the operator must coordinate thecontrols in order to achieve linear motion of the implement. The loading on the machine isdetermined solely by audio cues and cabin motion.While they are not generally treated as such, heavy duty hydraulic machines can be handledas telemanipulator systems. Research in telerobotics began in the early 1940’s with the adventof the nuclear program. Hazardous materials require greater separation from humans than canbe accomplished with simple tongs, and so master/slave manipulators were developed to bridgethe gap. Typically, such devices consist of kinematically equivalent masters and slaves, with themaster joint positions driving the slave joints in a position servo loop. In order to reflect theslave forces to the operator, the master has to have a bidirectional link to the slave. Small unitsChapter 1: Introduction 3simply used cable drive mechanisms, while larger units required active actuators, usually electricor hydraulic. While system inertia, friction and damping detract from the control and feel of theslave endpoint, some complex bilateral teleoperation systems have been developed.1.1 MotivationThe motivation for this research is to provide useful force feedback to operators of heavy dutyhydraulic machines. These machines are used in various industhes including forestry, miningand construction.1.1.1 ForestryThe forest industry uses a several different types of hydraulic machines in harvesting,processing and transportation. Feller/bunchers (Fig. 1.2) are hydraulic machines based on anexcavator frame. They consist of a cabin mounted on a tracked chassis and a two link arm witha grapple and cutter mounted at the end. The grapple typically has two degrees of freedom,pitch and roll.cabingrapplewristsawFigure 1.2 Feller/Buncher AssemblyChapter 1: Introduction 4Operation of a feller/buncher consists of moving within reach of the desired tree, thengrasping the tree and actuating the cutter to cut the tree at its base. For smaller trees, it maybe cut first and then caught as it begins to fall. The cut tree is then laid to the side in bunches,ready to be skidded to the road side for processing and/or transportation. Experienced operatorscan cut and bunch up to 500 trees/hour, depending on the size of the wood and the teffain.Force feedback in this application could provide the operator with better control whenmanipulating large trees, better safety through increased awareness of machine tip over, as wellas potential for reduced machine wear and wood damage. Cunently, feller/bunchers have aquite short service lifetime, as grapple misalignment increases side loading on the joints. Theseexcessive forces could be minimized by providing force feedback to the operator.Figure 1.3 Typical feller/buncherChapter 1: Introduction 5While the feller/buncher is the most obvious example of a hydraulic manipulator in the forestindustry, there exist other machines that could benefit from force feedback. Log loaders are usedat the harvesting site to load logs for transport to sawmills, as well as at intermediate sortingyards. Force feedback can provide the operator with better control of the log dynamics and couldimprove the ability of the operator to damp out payload swing. Better feel of the endpoint forceswould also prevent machine tip over or overload when an excessive load is attempted.Various log processing machines, while seldom in danger of overload, could use forcefeedback to minimize grip forces of logs, and thus reduce wastage. Excavators are used often foraccess road construction, and endpoint force feedback could reduce overload and related safetyproblems.1.1.2 ConstructionExcavators are also used in the general construction industry. The environment in aconstruction site can contain many additional hazards not usually found in the forest industry.Pipes, conduits and other buried services need to be avoided in order to prevent costly andpotentially dangerous disruptions. Use of manual labour near these services, while much safer,is also much more expensive. Providing the operator with finer resolution of the endpoint forcescan help determine the location of sensitive lines before they are accidentally cut.An active joystick can also be used as an operator warning device based on additional sensorsor simply predefined danger zones. Machine operation near power lines is an example of a taskwhere the control system could direct operator in a intuitive fashion away from contact withthe lines.A particular application in which good control of endpoint forces is required is the use ofpower hammers for ground compaction. These power hammers are typically mounted at the endChapter 1: introduction 6of an excavator stick, and the downward force applied by the machine must be maintained withincertain limits. Too little force will result in excessive oscillation amplitude, while too much forcecan damage the hammer mechanism. Currently, the force applied depends solely on operatorexperience, using cues such as noise and vibration levels in the cab.1.2 Previous WorkThere has been quite a bit of work in force reflecting master/slave manipulators. Earlierwork by Mosher at GE in the development of some exclusively analog systems (e.g. Handiman)is described in [11. An example of more recent work is the dextrous hand with force feedbackdeveloped by Burdea et al. [2].The use of force feedback in manipulation robots has been shown to reduce reaction forcesand improve assembly tasks [31. It was found in [4] that force control in Cartesian space wassuperior to joint space torque control.Figure 1.4 Typical excavatorChapter 1: introduction 7Manipulation tasks require some form of input device. Force feedback introduces additionalconstraints regarding ease of actuation and magnitude of applied feedback forces and torques.Six degrees of freedom allows complete motion commands with one hand, though it canintroduce problems with coupling between rotation and translation. Different hand controllerswere reviewed in [5] and while the review did not exclusively address force feedback, it wasone of the evaluation parameters. The best configuration was found to be some form of joystickor torque ball. The development of a magnetically levitated device capable of providing highresolution force feedback is described in [6].An analysis of system requirements for effective force feedback was made in [71. It wasfound that while forces could be felt at relatively high frequencies (up to 3 kHz) the absolutemaximum command frequency would be less than 10 Hz. A summary of operator hand modelingcan be found in [81, with the primary finding that, while the human arm is an active element, theresponse is slow enough that it can be effectively modeled as a passive impedance.The treatment of hydraulic machines as teleoperators has been investigated by Lawrence etal. [9]. The addition of resolved motion to the control of such machines was found to be usefulin reducing operator training time [10].A comparison between position and rate control (without force feedback) was done by Kimet al. [11]. It was found that position control was better in the ideal case for relatively smallmanipulator workspaces, though its superiority depends on a fast manipulator. Rate control ismore effective for large workspaces and slow manipulators. In addition, rate control with positionservo of joints was found to be inferior to rate servo for mechanisms with low natural frequencies.Force reflection in the presence of a time delay was investigated in [121, and a transmissionline approach to the communication link was found to assure stability. A comparison betweenChapter 1: introduction 8force reflection and shared compliant control (SCC) was made by Kim et al.. [131. Sharedcompliant control is a method of force control that uses a local ioop at the end effector to givethe system a programmable compliance, rather than returning the force to the operator and relyingon him to provide the necessary compliance. It was found that SCC performed better for systemswith long times delays (> 0.5 to 1 seconds).Some work in the application of force feedback to excavators in joint mode control hasbeen done using a master/slave approach. An analysis of the control and feedback requirementswas done by Ostoja-Starzewski and Skibniewski [14]. A commercial development of a remotelyoperated excavator with force feedback using a master/slave style controller is currently underway[151.1.3 Thesis ContributionsThis research project has focussed on the addition of useful force feedback to heavy dutyhydraulic equipment. A graphical simulator was developed and integrated with a force reflectingjoystick. Rather than using kinematic equivalence, a universal master was used, with the necessarycoordinate transformations being processed in software. The force reflecting master was alsointegrated into CAT 215 configured as a log loader with a resolved motion controller and endpointforce sensing via main hydraulic pressures. The integrated system was used to successfully controlthe applied endpoint force of the machine. A novel approach to force feedback which involvescontrolling the joystick stiffness has been developed. This method shows promise of providingendpoint force feedback while controffing the machine in rate mode.The remainder of this thesis is divided into nine chapters. Chapter 2 deals with thetransformation between operator and joint coordinate frames, focussing on the use of the inverseJacobian. Chapter 3 investigates the stability and feel aspects of force feedback, for both positionChapter 1: Introduction 9and rate control. The maglev handcontroller and computer systems used are described in Chapters4 and 5. The development of the graphics simulator for the machine is detailed in Chapter 6, whileChapter 7 discusses particular aspects of the log loader implementation. Chapter 8 presents theexperiments and results performed on the dynamic simulations of force feedback, while Chapter 9presents the actual machine experiments. Finally Chapter 10 summarizes the conclusions obtainedand provides some recommendations for further work.Chapter 2Resolved MotionAll machine control systems require some form of operator interface. In the case of ateleoperator, this interface is particularly important due to the close interaction between themachine manipulator and the operator. Several different interface methods, with varying degreesof complexity and capabilities have evolved for different teleoperation tasks (Fig. 2.5).The simplest method to control the links of a manipulator is to have a separate control inputfor each joint. This can be as basic as a switch to move each joint one way or the other, or itcan be a bidirectional proportional control. The machine is typically controlled in rate mode i.e.the velocity of each joint is controlled, though joint position control is possible. This interfacewas the first developed for many machines and is stifi used for its simplicity on systems suchas truck loaders and other manipulators which are slow moving and do not require coordinatedcontrol of their joints.Another method of controlling a manipulator is through the direct manipulation of a kinematically equivalent master. In this case, the master joint positions are communicated to the slavemanipulator, and the slave joint torques can be communicated back to the master. This givesa direct implementation of force feedback and has been used for many remote telemanipulators(e.g. subsea and nuclear industry manipulators). These masters require a relatively large volume(they can only be used for position control), and are specialized to work with only one type ofslave manipulator.The separate control inputs of the first method can be combined into one or two multipleinput joysticks. As the operator hand does not have to move between controls, these generalizedmasters simplify the coordination of joint motion, though smooth motion in the end effector10Chapter 2: Resolved Motion 11frame requires a lot of operator training. Unless the manipulator is a Cartesian gantry type robot,motion (and force feedback if used) will not be intuitive. This joint control method can be usedfor rate or position control, and most hydraulic machines today (e.g. excavators) use it.°mO °ml 0m2Individual Joint Control0m2°mOKinematically Equivalent Master\oosios2ze::6m1Ø_ø:en12Slave ManipulatorGeneralized Master: Joint mode,/////”Generalized Master: Resolved modeFigure 2.5 Manipulator Hand ControllersChapter 2: Resolved Motion 12An improvement over joint mode control is to use a computer to transform the commands inthe operators frame to the machine’s joint space. This resolved (or coordinated) control methodgives intuitive control over the end effector, as in/out motion of the master corresponds to anin/out motion of the end effector (similarly for other degrees of freedom). The joint commandcoordination is handled by the controller, rather than the operator. Resolved motion control alsogives a more intuitive frame for force feedback as endpoint reaction forces can be felt to directlyoppose motion. This control method can be used for rate or position control. While offeringmany advantages over conventional controls, it is not commercially available.Most hydraulic machines currently use joint velocity control for historical reasons (it wasall that was previously available). Resolved motion control of hydraulic machines has beeninvestigated by Wallersteiner et al. [10], and the more intuitive interface was found to significantlyreduce operator training time. For this reason, it is also used here for force feedback applications.2.1 Coordinate TransformationThe transformation from operator coordinates to joint coordinates can be accomplished viaone of two methods. The operator command is given the endpoint frame (t, re, ze) to ensurethat the desired motion direction is correct regardless of the radial displacement. This commandis first converted to cylindrical coordinates (Oe, re, Ze) via ZO = then the necessary jointangles for the desired endpoint position can be found directly from the inverse kinematics.Chapter 2: Resolved Motion 13— cos_i(a+ a —— 2a2a3 )= + (r — ai)2a2a1 ZerelevationplanThe inverse kinematics problem is to solve for the desired joint angles 01,02,03 given the endpointcoordinates 0,, re, ze and the manipulator parameters. For the excavator (illustrated above), thesolution is quite straightforward.= 0e + tan1 () (2.1)03 =— a(2.2)Figure 2,6 Excavator kinematic parametersChapter 2: Resolved Motion 1402 = 3+ ‘y—______/3=tan 1( ) (2.3)— aij—l (a37=Slfl TsLnbWhile this particular instance is quite simple, with a direct solution available, the solution of theinverse kinematics for a general manipulator is considerably more difficult.2.2 Jacobian TransformationAn alternative to solving the inverse kinematics is to determine the incremental change inposition desired and then determine the corresponding joint velocities via the inverse Jacobian.Consider the feller/buncher schematic shown in Figure 2.7.wrist•,- a5x5///d 5cabinboom stickFigure 2.7 FelIer/Buncher SchematicChapter 2: Resolved Motion 15The Jacobian relates the endpoint velocity () in the base coordinate system 00, x0, yo, zíjto the manipulator velocity in joint space (j):= J(q) (2.4)The Jacobian is found easily for any manipulator [161 and for the feller/buncher above is ofthe form:J()[zox(osoo) zix(o5—1 z4x(o5—)] (25)where0162q E 03 (2.6)0405and joint axes z, z,• , Z4 and the joint centers 0o,O1, , 04 are defined in Figure 2.7.The machine on which the force feedback control system is to be installed is powered byhydraulic actuators. Hydraulic machines have quite complicated dynamics when the actuatorsand power system are fully accounted for [17] [18], and a joint level controller has alreadybeen implemented that controls the pilot valve system to achieve a desired joint position. Thiscontroller will be used for this work in force feedback, thus requiring that the resolved motioncontroller provide joint positions or velocities directly.2.2.1 Jacobian vs Inverse KinematicsWhen controlling the machine endpoint in rate control mode, the Jacobian approach hasdefinite advantages. Assuming that the machine command input is the desired joint velocities,these can be calculated directly from the desired endpoint velocities via the inverse (or pseudo-Chapter 2: Resolved Motion 16inverse) Jacobian:= (2.7)Using inverse kinematics would require integrating the endpoint velocity command, then differentiating the joint angles once they have been obtained. These steps are unnecessary using theJacobian approach (for a joint rate servo). Rate control can also be implemented with a positionservo, but this method has poorer performance when the joint natural frequency is low [11] (asit will typically be on a hydraulic machine).When using the Jacobian for position control, the advantages are fewer, and the best approachdepends on the machine being modeled. Previously an excavator (4 links, shoulder offset only)and a log loader (5 links (2 free), shoulder offset only) were modeled and controlled using inversekinematics [18]. Much of the initial modeling in this project was focused on a feller/buncherwhich is a more complicated machine than either the excavator or the log loader (though it isprobably the best application of force feedback). It has 5 links, with an offset at both the shoulderand the joystick. It is these offsets which considerably complicate the inverse kinematics.Position control of a manipulator endpoint in resolved mode when the inverse kinematics areavailable is trivial, with determined directly from iSde Using the inverse Jacobian requiresthe converse of the procedure used to accomplish rate control with inverse kinematics i.e. first thecommand input must be differentiated, then the commanded velocity in endpoint space convertedto joint space, and finally the joint space velocity integrated to get the desired joint angle.When this procedure is followed for a finite sample time, the joint increment determined bythis procedure may not be precisely correct. The relationship (2.7) holds for true velocities, butis only approximately true for finite position increments. This is because the Jacobian (and itsinverse) is configuration dependent, and as long as the manipulator is moving, the configurationChapter 2: Resolved Motion 17is time dependent.=(J(t))) ‘ito+t to+t= f Ldes = I (J(q(t)))’toto0 (2.8)(J(q(to))) J -Sd(J(q(tO)))1/eyjdThe error in the calculated joint increment joiTzt will be larger for larger sample times t8.In simulation experiments (Chapter 8), it was found that the error was large enough to causenoticeable oscillations in the endpoint motion as the Jacobian converged. To eliminate thisdisturbance, an iterative procedure was used to determine the final joint angle necessary beforeapplying any command to the machine:q := eridAeTod = —AViTOt = (2.9)= q + jointrepeat until end 0where the inverse Jacobian could be a pseudo-inverse or reduced order if the manipulatorpossesses less than six degrees of freedom (the usual case for hydraulic machines). This iterativeprocedure unfortunately takes more time and reduces the possible update rate.The advantage of the Jacobian is that it is generally available. Currently, the inverse Jacobianof the manipulator is being used instead of the inverse kinematics used previously. While theJacobian approach fails at manipulator singularities, in the particular cases being examined, thesesingularities are outside the joint range since the hydraulic actuators interfere with the links.Chapter 2: Resolved Motion 182.2.2 Reduced Order JacobiansWhen a manipulator has less than six degrees of freedom (e.g. an excavator or feller/buncher),and the control input includes all six, there are two approaches that can be taken when determiningthe desired joint velocities.In the first instance, all six of the master inputs can be used, and a pseudo-inverse used toobtain the joint velocities which best fit the desired input (in a least squares sense).!1-desdes .current (2.10)tsuTflpwithvxdes E (2.11)thenq = 1!des (2.12)wherejt (JTJ)_1J (2.13)is the Moore-Penrose pseudo-inverse. This method requires the computation of a matrixmatrix multiplication, a matrix-vector multiplication and the solution of a linear system of 6equations (either via LU decomposition and backsubstitution or a matrix inverse and matrixvector multiplication).One way to avoid the pseudo-inverse problem is to only use five degrees of freedom fromthe joystick command, since the machine being examined (a feller/buncher) does not have a yawdegree of freedom. The Jacobian can then be reduced to a 5x5 matrix. The solution for theChapter 2: Resolved Motion 19joint velocities given the endpoint velocities in Cartesian coordinates (base frame) can then bedetermined:= J (2.14)wzThe order of the system is reduced by one, with significant savings in the required computations.Further simplification is possible if the machine has fewer degrees of freedom, and/or there areno wrist offsets (in this case, transformation to cylindrical coordinates will save another degreeof freedom).One drawback of using a reduced Jacobian is that operation may seem to be less intuitive.Rotation of the ignored degree of freedom (in this case O) will have no effect on the end pointposition. This is not thought to be a major problem, and it does avoid a related problem ofconflicting commands resulting in a “best” fit which conforms to neither of the operators explicitcommands. An operator is likely to quickly determine which motions work and which motionsare ignored.Chapter 3Force FeedbackModem hydraulic machines usually use an electrical link between the joystick and thehydraulic system. This electrical link is unidirectional, isolating the operator from the endpointforces on the machine. While it is possible to provide visual or audio feedback, these routestypically have a greater processing delay than the more intuitive feedback channel through theoperator’s hand. Direct force feedback can be accomplished by using an active joystick andslave force sensors.Force feedback can introduce stability problems into a teleoperation system as the returnedforce to the master handle can effect the master input. For simplicity, the analysis here will onlyexamine one dimensional motion.hdoperator’s hand m masterr_____slave environmentFigure 3.8 Hand controller with slave model20Chapter 3: Force Feedback 21The coupling between the master and slave depends on the control mode (position or rate) andthe feedback mode (force, force derivative or stiffness). The link from master to slave can bedescribed as= H.pI(pos,g for position(3.15)= HrKveIrn for ratewhere H7 represent the slave transfer functions for position and rate respectively and hattedvariables denote Laplace transforms.AXeA reasonable approximation for Hr would be to use a first or second order system Withdelay (typical joint response delay for hydraulic machines is on the order of 0.4 s).The combined system response of the master and slave will depend on the particular mode inwhich the operator is controlling the master. One case is when the operator controls the positionof the master directly. When controlling position, the feedback information will be felt as avariable force applied both by and to the hand (fITtd = K0i.fe), but if it is assumed that theoperator can control Xm directly (i.e. independent of the fedback force) then the feedback loopis broken, and the system response is simply the open loop slave response. For position control,the block diagram would be:endpointenvironmentFigure 3.9 Hand controller with slave block diagramChapter 3: Force Feedback 220perat0rThis situation is not very realistic as it requires the operator to have an infinitely stiff hand oractively compensate for applied forces to maintain a particular master position.Another special case is when the operator controls ffLUTd only. In this instance, the feedbackinformation is felt as motion of the master. The operator’s hand model still does not play a role,and the system can be modeled (for position control) as:AfhandRate control would be handled in a similar fashion, with replaced by I(vel and H8replaced by H87.A more realistic analysis of the system requires some model of the operator hand. Whilethere exist many complicated models of the human operator which account for sensory delays,Figure 3.10 Direct control of master positionAXeFigure 3.11 Direct control of master forceChapter 3: Force Feedback 23—R0(B,s + K,)Xdes — m’s2+B’s+K’K’ Kh + K + KposKjro.rKemotor delays and voluntary control of hand compliance [7], for this initial analysis a simplepassive compliance (i(i, B,) will be used. This is reasonable for a high frequency model as thehuman nervous system is too slow to play a role, though it does neglect the long term stabilizinginput of the human operator.3.1 Position ControlTo evaluate the stability of a position control manipulator with direct force feedback,assuming the operator is controlling the master position through a compliant hand (the typicalcase) the following model, derived from Figure 3.9 will be used.AxendpointenvironmentFigure 3.12 Position control through compliant handFor the ideal case of 1 (i.e. a perfect slave), the system transfer function is given by:wherem + KposKformlB’ B,, + B + KposKforBe(3.16)(3.17)Chapter 3: Force Feedback 24Examination of the above transfer function indicates that the composite system will act like asimple mass/spring system. Rearranging the block diagram:AK1,0Figure 3.13 Position control with feedbacksimplifies root-locus analysis. For the system above, the loop gain I(posKf can be varied overany range and remain stable (the system is still a second order mass/spring system with damping)when = 1. Using a more realistic slave model (e.g. II = for joint response behavinglike a low pass filter) can introduce open loop poles which will push the closed ioop poles intothe right hand plane for large values ofK0f7.. The precise behaviour will be depend on theparticular machine model and gains chosen, but some general observations can be made.The environment will be most critical when it is stiff and lightly damped. This will placethe system zeros near the jw axis, away from the real axis. The poles due to the operator handand controller combination wifi be much closer to the origin (the hand is much less stiff than theenvironment). For a first order joint model, the locus can be deflected into the RHP if it is closeenough to the jw axis, though a stable system can be selected by picking a low enough gain.Second order systems wifi be more difficult to stabilize (the jw axis will be the asymptotes forhigh gains) while higher order systems would require some compensation, since simple feedbackChapter 3: Force Feedback 25is not enough to stabilize the system anymore. The following are some representative’ root locusplots for non ideal joint models.Figure 314 Position control Root-LocusTo evaluate the operator feel, one examines the position to force transfer function. Forgrasping an object of mass m in contact with an environment Be, I(, Newton’s law for themotion of the mass corresponds to:The force on the hand will be:flia ridXdfhand = (mis2 + Bs + (3.18)1st order joint model‘-2nd order joint model200100-100-200f.200100-100-200-3(A.) -200 -100_cH100Real Axis200 300 •-3 U -200 -100 0Real Axis100 200 3 Jfliand = (B11s + i(li)(Ides—(3.19)The feel of the system will correspond to transfer function from input motion Xdes to the forcefelt, From (3.18) and (3.19) this will be:_____(B,s + K,) (mis2 + Bes + Ke) 3 20(mis2+(Be+B,z)s+(Ke+K,i))The model parameters used were: mi= 1000 kg, Bl0 kN/m/s, Ke 20 MN/rn, mm= 1 kg,B = = 0, B= 70 N/m/s, K,= 2 kN/m, H51= —s and il, =Chapter 3: Force Feedback 26For position control (Fig. 3.9):f!uLnd (m71s2+ Bs + I(c)Ièm + fref= HspKposIm(3.21)fyf = Kforfe= (mis2 + Bes + Ke)IsAssuming a perfect slave and using (3.17) and (3.19) will lead to a transfer function of:fhcnd (B,i1s + Kh) (rn’s2 + (B’ - B,js + (K’ — K,j) 3 22)Xdes (rn’s+B’s+K’)As this is completely analogous to the simple object case, the feel wifi be natural.Another approach to ensure that the force felt corresponds to the force at the endpoint is tomatch the joystick impedance to that of the environment [81.fJand = rnT, rn + Bthru + ICc(3.23)fe = + Bethe + KxWith a command transfer function of x = KOSxT,L and a force transfer function of =Kforfe one finds that to maintain a corresponding feel at the master, rn71,B and K need tobe adjusted such thatmrrs2+Bcs+Kc2 = AposKfc,y. (3.24)mjs +Bs+KFor flat frequency response, this would require = I(posi(fo.,.rnl, B = I(p0KførB andK KposKforKe.While position control is the most natural mode to apply force feedback to, it does requirea large master workspace or large position scaling factors. Position control has formed the basisof previous investigations of force feedback of hydraulic machines [151[14].Chapter 3: Force Feedback 273.2 Rate Control3.2.1 Force feedbackRate control, where the position of the master commands the velocity of the slave is used inmany machine control mechanisms to provide fine control over a large workspace using a limitedmaster control space. However, it introduces complications when used with force feedback. Themain source of these complications is the integration of the command signal, which results inthe system only being stable when Xrr is zero.A stability analysis for rate control was done in the same fashion as the position controlcase. The block diagram wifi be the same as Fig. 3.12 by replacing K08 with Kuej. In thiscase the transfer function is:Kvel(BJLs + K1)3 25Xdps — mTrLs3 + B*s2 + R*s + KvelKforKe ( . )whereB* = B, + B + IEveXKforml(3.26)= K, + K, + KvelAforBeThe stability of the system can be examined using root locus techniques in a similar fashion toFig. 3.13. In the instance of H87 = 1, the system can be made stable by choosing low enoughgains for KvelKfor (analogous to the position case with H = ). The extra pole at zeroincreases the order of the system by one, so the system will be unstable for second order jointmodels without additional compensation. Root loci for the analogous cases to Figure 3.14 areshown in Figure 3.152.2 The model parameters used were: ml= 1000 kg, B=l0 kN/m/s, K= 20 MN/rn, mm= 1 kg,B = K,, = 0, B 70 N/mIs, K= 2 kN/m, Hsri=and H8r,= s2+5Os+5OChapter 3: Force Feedback 28:y100__ILrN\200I\0 -200 -iuu u uiu uu i jReal AxisFigure 3.15 Rate control Root-LocusAnalogous to (3.21) the forces on the master will be:fhd = (m,s2 + Bs + I(c)rrt + fref- 1__=Hs7.Kveixr,tS (3.27)ff = K0fefe (mis2 + Bs + K)i8Using (3.19) and (3.26), the feel of rate control with direct force feedback and a perfect slavewill correspond to:fhand — (B,s + K1)(?nms3 + (B* — BIL)s2 + (K* — K,)s + KvelKfoT.Ke) 3 28Xdes — (mrs3 + B*s2 + K*s + KuelKforRe)In order to get a better idea of what this will actual feel like, the special case for no hard contactwill be examined. For K = 0, the transfer function will simply befhaid (B,s + Kj)(m1s2+ (B* — B,)s + (K* — K,1)) 329Xdes — ( ,r+B*s+K*) (This corresponds to grasping a mass mrrt in contact with an environment B*, K*. One shouldnote that an increase in the endpoint load wifi not be felt as a mass increase but rather as a2nd order jomt model2fl(01<-100Real AxisChapter 3: Force Feedback 29viscosity increase. In a similar fashion, environmental damping will be felt as a spring force.Rate control with direct force feedback leads to an unnatural feel of the machine load.Analogous to the impedance matching approach for position control, one can derive similarequations for the rate control case:fe = [mis2 + Bs + K]I= [mis2 + Bs + I(j (3.30)fltand = [mrrs2 + Bs + K] XTflTo maintain similar feel to the position case,= 5I(forf, i.e. the derivative of the endpointforce should be returned (after scaling) rather than the force itself. While this will give a morenatural feel, it will not provide feedback of constant forces at the endpoint, and thus remove mostof the useful information for a contact task. In all cases of rate control looked at thus far, theproblem of integration of the command signal for all nonzero XTrL remains.3.2.2 Stiffness FeedbackAs force feedback with rate control has proved to be unsatisfactory thus far, another approachwas taken to provide the operator with a sense of endpoint forces while in rate control mode.The method used is to vary the joystick stiffness, rather than apply a force directly to the handle.The resulting system is nonlinear and difficult to analyze, but provided satisfactory performancein experiments.By varying the stiffness rather than returning a force to the handle, the system will remainstable for zero input. The joystick is never driven away from its neutral point, as there is alwaysa finite restoring force. As long as the joystick itself is stable, its long term behaviour will be atworst that of an isolated mass/spring/damper combination. As will be shown, use of a deadband(as is typically needed for rate operation anyway) improves further on the system by providingChapter 3: Force Feedback 30a portion of the workspace in which the joystick remains a simple linear system, even with afinite hand input force.The model used in this analysis is the same basic one used for the linear control schemesdiscussed previously, with K now a function of f (Fig. 3.8). For the master:mmârn + Bcthrn + I(c(fe)xrri = flzar&d (3.31)wherefhd = By(ides — thm) + ij(Xdes — (3.32)andKc(fe) = Kijorri + Kife (3.33)for the simplified case of one stiffness curve with no saturation. The slave force fe depends onthe endpoint environment (Fig. 3.8)fe = mle + Be±e + KeXe (3.34)The endpoint velocity th tracks the master position (i.e. rate control)= Kv,iXrrj (3.35)for the ideal slave case (H81. = 1). Substituting (3.33) and (3.34) into (3.31) yieldsf,1d = f + ffbf = mT1Tf + + KrtomXyn (3.36)f = Kvi(r [mi±1nxrr + BeXt + Kexntfxm]where ffb is the only nonlinear component. Analysis of this nonlinear system is not trivial, butsome intuitive arguments can be made regarding its stability.Chapter 3: Force Feedback 31A necessary condition for stability of this system is the existence of an equilibrium point.A trivial solution to (3.36) would be fiLaud = O X’rr = 0, however a more interesting case wouldbe an equilibrium point for ff7d = const 0, x = const 0. If one exists, this would implyrn, = 0 and (3.36) could be simplified toKnornm + KveiKrBeX + KveiKrKXrrfXm = fltand (3.37)However, with Xrn 0 the integral term will not remain constant. As all other terms on theLHS are constant, the sum can’t be constant. This implies that f7La’fd can’t be constant and(3.37) is not valid. Therefore, no nontrivial equilibrium point exists for the simple case of nojoystick deadband.The key factor in that destabilizes the system is the basis of rate control i.e. for a nonzeroinput position, there wifi be a nonzero output velocity. In order to maintain a stable position ofthe endpoint, and hence stable forces at the endpoint, the master must possess a deadband:1(vei(Xrn— Xdb) for > X(3.38)= 0 for IxTF XjFor motion outside of the deadband the force on the operators hand will now beff1ad = f + 1(veiK’r [mi±rn + Be(Xrr — Xdb) + Kef(Xm — Xdb)] Xm (3.39)As long as > the integral term in (3.39) will increase. To maintain a constant force,IXm I —f Xd. When the master enters the deadband, endpoint motion will cease and fe willremain constant. In this case, K,. will also be constant, and the joystick motion is reduced to asimple second order linear mass/spring system. As the environment force scales the controllerstiffness, the equilibrium value of fJ1d will depend on the position of the master within thedeadband. Increasing the damping of the master will reduce overshoot, though the concepts ofChapter 3: Force Feedback 32critical damping do not apply directly to the non linear system outside of the deadband (i.e. (> 1does not necessarily imply no overshoot, nor does ( < 1 imply overshoot).Stability of the stiffness control method can be divided into two parts. For motion of thejoystick within the deadband, as the system is just a simple second order system, it will be stablefor any B, K. > 0. Outside of the deadband, it must be shown that the master will enter thedeadband within a finite time for any finite input f7ard. An analytical solution via Lyapunovfunctions has been attempted, so far without success. However, a numerical simulation has shownthat the system will converge to the deadband quite quickly for a wide variety of joystick andenvironment parameters.3.2.2.1 Practical ImplementationThe simple linear stiffness with deadband approach outlined above can result in a “stickdown”phenomena, whereby pressing onto the ground with sufficient force will cause the joystick tostiffen up enough that the operator has difficulty in pulling the endpoint up again. Limiting thejoystick stiffness would remove most of the useful feedback, and so a dual stiffness approach(Fig. 3.16) was developed (this also gives a more intuitive feel). The joystick stiffness switchesbetween two curves depending on whether the endpoint motion is opposing the endpoint forceor being helped by it.While each leg of the stiffness graph can have a different slope to tune the feel in eachdirection, analysis is simplified using a single slope. The joystick stiffness is dependent on theapplied force and the direction of the endpoint:= Ii — feKrsgn(thTn) (3.40)Since the joystick stiffness does not remain constant within the deadband, the joystick may limitcycle as is oscillates about center with a finite ffzand. When using the maglev joystick (ref ChapterChapter 3: Force Feedback 33Force AppliedFigure 3.16 Joystick Stiffness vs Applied Force4), the range of stable stiffness values is limited. To ensure stability of the system under largeloads, the value of iç derived above is bounded by the stability range of the joystick.Joystick Stiffness (Kr)Km* neg* postension compressionAs an analytical proof of this feedback control system is not yet available, the system wastested in a numerical simulation to ensure it would be stable, at least for the range of valuesapplicable to the machine controller.Using nominal values for the hand and environment3,it was found that the system wasstable for any reasonable (i.e. within the physical range of the joystick) constant input. Even forvery low damping, the system eventually converged, and the convergence rate increased with thedamping ratio. Some representative plots are shown in Figures 3.18 and 3.19.The simulation parameters used were: mi= 1000 kg, B6—0, Ke= 20 MN/rn, mm= 1 kg, xdb= 2 mm,x= 5 mm, Knom 4 kN/m, Kr= 1.5/rn, Kvei= 0.25 rn/s/mm.Chapter 3: Force Feedback 34EC0Go00c/istiffness feedbackFigure 3.17 Stiffness controller block diagramPhase plot constant input 10.0 N xl0-5 Slave position81 2 3Master position (m) xlO-30.05 0.1 0.15 0.2Time (s)Figure 3.18 Master and slave response for stiffness control: fI10d = 10 N, ( = 1Chapter 3: Force Feedback 35Phase plot constant input 60.0 N xlO-3 Slave position0.! 5_____________________0.4/ 40.3 // 3.5130.1 2.50 21.5-0.1 --0.2 0.5-0.3 00 1 2 3 4 0 0.05 0.1 0.15 0.2Master position (m) xlO-3 Time (s)Figure 3.19 Master and slave response for stiffness control: ffand = 60 N, C 0.3Chapter 4Maglev Joystick4.1 DescriptionAn important feature of any force feedback controller is the master control or joystick. Asan input device, it must convert the operator hand motion into machine commands. This canbe easily accomplished with a wide range of handcontrollers [51. Cheap computing power caneasily take the master control input and convert it into any desired format (coordinate frame).The difficulty in finding a master controller suitable for force feedback lies in finding one thatcan reproduce the desired forces on the operator’s hand.Various configurations are possible with the reflected force generated by actuators connectedto the joystick handle. Most actuators are not ideal in that they have backlash, friction (staticand dynamic) and large inertial loads. By using good mechanical design these problems can bereduced, but not eliminated [191. A recently developed hand controller based on the “MagicWrist” [61, uses magnetic levitation to “fly” the handle of the joystick. This removes allmechanical linkages and their attendant backlash etc.Some additional features of the maglev joystick are programmable stiffness, damping andinertial parameters (within limits set by drive force saturation and control loop speed). Themaglev joystick is currently being used as the hand controller for the current research in forcefeedback as its excellent backdriveability and force resolution are important.4.1.1 HardwareThe maglev joystick (or “wrist”) consists of four basic components: a fixed “stator”containing the magnets and position sensing diodes (PSD’s), a moveable “flotor” containingthe voice coils and LED’s, a current driver/power supply and a digital controller.36Chapter 4: Maglev Joystick 37Figure 4.20 Maglev Joystick: Block DiagramstatorflotorFigure 4.21 Maglev Joystick: Isometric viewChapter 4: Maglev Joystick 38LEDMognetsFigure 4.22 Maglev Joystick: Exploded view4The stator serves as the base and supporting structure for the high energy permanent magnetswhich provide the field that the fiotor can fly in. The range of motion is primarily constrainedby the size of the stator gaps. Larger gaps permit greater motion but reduce the magnetic fieldstrength (and hence the force that can be generated). Larger gaps (and greater motion range) alsorequire larger PSD’s, which can only be mounted correctly if the overall size of the joystick isincreased. As one of the design goals of the maglev joystick was a small mounting volume, thegaps were kept lOmm, giving a motion range of approximately ±5 mm.Rotor Top—PSI MountsVertco[ Mugnet lopVertco1 CoHorzontn ColElotorSupport PostStotor BoseJoystick design by S.E. Salcudean, drawings by C.T. Chen.Chapter 4: Maglev Joystick 39The flotor forms the mounting frame for the six coils and the three LED ‘s used for thepositioning system. The three coils that provide vertical forces are mounted vertically, and thehorizontal forces/torques are provided by the other three coils mounted between the vertical ones(ref Fig. 4.22). The three LED beams are mounted a central post and are nominally directedperpendicular to the center of their corresponding PSD’s. As the primary limiting factor forapplying large forces is the heat generated by coil dissipation, the coils are thermally bonded tothe aluminum flotor frame to improve heat transfer. In series with each coil is a thermal fuseto cutout the drive current should the flotor temperature ever exceed 95° C. The aluminum skinalso provides serves as a passive damper to improve stability through eddy currents.The current driver provides six channels to drive each coil with up to 10 A. This permitsthe application of up to 60 N to the flotor, though higher transients are possible. Current driversaturation and frequency response (currently < 1 kHz) limit the maximum applicable forces whichin turn limits the joystick stiffness, damping and effective mass.The controller determines the flotor position and then applies the desired coil currents.Originally a TMS32OC3O DSP board served as the joystick controller. It was later replacedby a VME based SPARC 1E. It is the digital controller which gives the maglev joystick itsversatility, as the various mechanical parameters of the flotor can be programmed, with thesystem capabilities only being restricted by drive saturation and controller update speed.4.1.2 CapabilitiesThe advantages of using the maglev joystick as a force reflecting master are varied. Primarily,it provides the operator with high fidelity feel of applied forces, not obscured by actuator stictionor backlash. The PSD ‘s used to determine the flotor position are analog devices, and so the limiton the resolution of motion is the A/D resolution and total system noise. Presently, positionsChapter 4: Maglev Joystick 40can be detected to less than 1 tim. In addition, the system can return forces to the operator withcomponents of up to 100 Hz, though for stability reasons, some of the high frequency componentsare removed. The returned forces are currently restricted by the relatively slow speed of the digitalcontroller. The speed could be increased by the addition of more processors and distributing thecomputing load, or the use of faster processors. For the hydraulic machine applications currentlybeing investigated however, the slow machine response necessitates a reduction in the systembandwidth anyway.The magnitude of the applied forces is quite large (greater than the JPL hand controller [19]),though the maglev joystick cannot apply such forces for very long. This is seldom a problem aslarge forces are only required for a short time to give good (not mushy) feel and the operatoris unlikely to wish to battle large forces for long anyway. The restricted motion range can bea problem to those operators that are used to greater motion and they may feel that precisioncontrol has been reduced. However, as the joystick has considerably better resolution than mostanalog joysticks currently in use, it can actually be used more precisely.4.2 Control4.2.1 Controller HardwareThe controller that was first used to control the joystick was based on a TMS32OC3O DSPprocessor hosted by a standard AT compatible computer. The development environment wasMS-DOS, using a C cross compiler for the DSP code generation. Communication between thePC host and the DSP controller was through the ISA bus.The DSP processor performed all of the calculations and analog I/O necessary to fly thejoystick, while the PC only handled console I/O and serial communication. The control loopprocessing was handled by an interrupt routine called at fixed intervals by a timer interrupt. IdleChapter 4: Maglev Joystick 41time was used by a monitor program [20] running on the host to obtain the values of globalvariables for debugging information. In addition to reading values, variables could also be set,permitting the controller parameters to be tuned quite easily.For ease of integration with existing computer systems on the log loader, the joystickcontroller code was ported over to a SPARC 1E card running VxWorks. The existing machinecontroller was housed in a VME card cage, and the use of a SPARC card for the joystick controllerpermitted using a common environment. An additional benefit of using VxWorks was a muchricher development environment. As a real time multitasking operating system, it was possibleto run multiple simultaneous tasks, one of which was an interactive shell to read and set globalvariables. Library routines were provided for timing of individual routines and an additionalapplication package (StethoScope) permits the real-time collection and plotting of data.Unfortunately, the benefits of VxWorks running on a SPARC did not come without a price.The DSP board proved to be 2—3 times faster at running the joystick controller code than theSPARC 1E. While there was still plenty of processing power to accomplish the basic joystickcontrol, the SPARC based system did bog down more quickly as the simulation task (Chapter 8)increased in size. A possible workaround would be to distribute the processing among multipleSPARC boards, each running VxWorks and communicating over the VME bus. While the codehas been written as multiple independent tasks to simplify such an implementation, it has not yetbeen attempted due to a lack of time and hardware.4.2.2 PDThe control algorithm implemented so far has been a basic PD loop, with a small integralterm which is limited outside of the joystick center area but is sufficient to eliminate the steadystate eor inherent in a PD control scheme.Chapter 4: Maglev Joystick 42IReadAfD IPSD voltagesCompute light spot positionsSpot positions (mm)Compute position via direct kinematics4, Flotor translation/rotationPD control4, Desired actuator forces (N)Force to current transformationCoil currents (A)Output to D/A4’Wait for next sample period__________________RepeatFigure 4.23 Joystick Control FlowThe controller input is four analog voltages from each of the three PSD’s. The PSD voltagedata is used to compute the position of the LED spot on each PSD. Once the spot locationsare know, the location and orientation of the flotor can be determined relative to the statorcoordinate frame using geometry and knowledge of the joystick dimensions. The flotor translationis computed in mm while the angle is computed as the vector part of the Euler quatemion forcomputation savings [6]. For the small angle approximation which applies to the joystick, thephysical interpretation of the angle components is approximately the rotation about the axes ofthe stator frame in thousandths of radians.Chapter 4: Maglev Joystick 43Once the position is known, the joystick controller simply a PD controller to the positionerror. The joystick degrees of freedom are approximately decoupled, so the stiffness and dampingparameters can be independently specified. The range of stable values for the PD gains wasdetermined through empirical tuning (manual tuning was the simplest and safest approach tominimize the chance damage to the joystick). Using tuning rules based on Ziegler-Nicholsultimate stability criterion did not improve the system performance. The desired control inputsin the stator frame are transformed to desired control currents in the coil frame through a fixedmatrix (another small angle approximation) and the control system output then controls the coilsvia six current drivers.This control algorithm is capable of flying the joystick flotor quite satisfactorily and hasformed the basis of more complicated controllers incorporating force feedback.4.3 Parameter IdentificationWhile the PD control algorithm is simple and quite robust, the joystick could potentially becontrolled more effectively if feedforward and other techniques are applied.More advanced control techniques require better parameterization of the joystick. Currently,only the mass of the flotor is known, and this is used for a simple gravity feedforwardcompensation. The center of gravity location was originally assumed to be located at the centerof the joystick, but this led to steady state offset errors in the joystick orientation. The flotor isclose to but not completely symmetrical, and this offset was caused by the extra weight of thecoil and LED connector on one side. Shifting the center of gravity location slightly to one side(in the feedforward code) was able to correct this.The mass and center of gravity feedforward terms are static only. Inertia cancellation of theflotor will permit the operator to have much more delicate control of the endpoint. While thisChapter 4: Maglev Joystick 44is unlikely to be significant in hydraulic machinery applications (!) it could be quite useful tocancel out the tool inertias etc in assembly tasks. These feedforward techniques require a morecomplete characterization of the joystick parameters. For this reason, estimation of the joystickparameters was attempted. The procedure used is presented in [211 and summarized in [221.Newton’s and Euler’s law for the joystick fiotor are:f = — mg(4.41)n=Ic’+wx (I&)+xfwhere: c is the vector to the fiotor center of mass, f, n are the force and torque vectors applied,is the acceleration of the flotor center of mass, and I is the inertia of the fiotor about its centerof mass. Using the parallel axis theorem and the following definitions:0‘Z Wy[wx] w 0 —w2—W W 0 (4.42)W W W2 0 0 0[.w] 0 W 0 W W2 00 0 W2 0 W W2one can now write a single matrix equation for the forces and inertial parameters. With p theflotor origin:mme2fx meme2— F— [Jixj+[Wx]{Wxj 0 1 443— [ 0 [(g—j) xj [.] + [Wx][.w] J ‘12flY ‘13flz ‘22‘23133or more compactly:w = Aq (4.44)Chapter 4: Maglev Joystick 45It is now a simple problem to determine the unknown vector 4. As one has only six knownvalues and ten unknowns, at least two instances must be used. Augmenting A and w with datafrom multiple data points permits q to be determined by a least squares fit i.e.4’ = Aw = (ATA)ATw (4.45)The parameters could also be estimated in a continuous fashion by using a recursive least squaresalgorithm.The force and torque vectors f, n are the applied forces and torques to the fiotor, and theflotor accelerations and angular velocities are measured by the optical position sensing system.As such, the inertial parameter estimates depend on the correct calibration of the controller outputunits (forces and torques) as well as the controller input unit scaling.The joystick computations proved to be quite sensitive numerically to the units used, withpoorly conditioned matrices considerably degrading performance. A direct calibration using aforce/torque sensor (JR3) was ineffective as the force/torque sensor gave incorrect readings dueto incorrect mounting of the sensor (the force sensor requires thick mounting plates to preventdeformation of the mounting surface). While it would be nice to pursue it further (correctlymount the sensors etc), this particular avenue of research is not directly needed at this point.Chapter 5Interprocess CommunicationThe computer simulation developed uses multiple independent processors, each performingspecific tasks. While it may have been possible to run the whole system on just the SGI Iris VGX,that system lacked the necessary I/O, and is currently running Unix. As a multitasking system,Unix is fine, but given the high update rate necessary to fly the maglev joystick (minimum ratel 30 Hz), the minimum timing resolution of Unix (60 Hz) is insufficient. In order to overcomethis limitation, the task of flying the joystick was given to a separate processor. While multipleprocessors are able to address the performance requirements of the system, they do introduce theadded complication of interprocess communication.5.1 PC & DSP systemThe original joystick controller used a ‘386 based PC clone as the host and developmentenvironment for a DSP controller mounted on the PC bus. The DSP controller board containedtwo channels of A/D and D/A on the processor itself as well as two synchronous serial links.The board also contained the DSP memory and glue chips necessary to communicate with the‘386 through the PC bus. In addition to the on chip analog I/O, the system also contained 32channels of A/D and 16 channels of D/A on additional boards mounted in the PC. The DSPprocessor communicated with the extra I/O cards through a dedicated parallel bus (DSP-Link).46Chapter 5: Interprocess Communication 47Operator ViewpointThe joystick controller running on the DSP processor had to communicate with the SGIrunning the graphical and dynamic portions of the simulation. Possible communication methodsinclude:• ethernet communication through additional card in PC host• synchronous serial communication using DSP serial link• parallel communication via DSP-Link• serial communication via PC host• parallel communication via PC host• analog communication from DSP D/A to AID in SGIEthernet communications would require the addition of a card and software drivers to the PChost, as well as a driver routine running on the PC to take values from the DSP and transmitthem to the SGI. As this would have required quite a bit of additional hardware (all commerciallyOperatorFigure 524 Machine simulator block diagramChapter 5: Interprocess Communication 48available though) it was not pursued. Synchronous serial communication using the on chip serialports has the advantage of direct communication and bypassing the PC host, but unfortunately itwould require custom hardware and software drivers on the SGI side of the link. The same wouldbe true of parallel communication via the DSP-Link. Analog communication would permit directcommunication and could use available hardware and minimal software, but it would require amore complicated cable and would also be more susceptible to noise. Also, additional analogboards for the SGI would need to be purchased. Communication through the PC host’s I/O portsrequires more software and additional complexity, but has the advantage of minimal hardwarerequirements.The method finally chosen was to communicate using the serial port of the PC host connectedto a serial port on the SGI. Both ports conform to RS232C standards and are interfaced directly(though the SGI does use an unconventional connector). While a parallel interface couldpotentially provide faster throughput, with the additional cable and interface requirements onthe SGI side, this alternative was deemed to be not worthwhile.5.1.1 Serial Communication5.1.1.1 Hardware: Speed limitationsThe serial link required a driver to be written for the PC side to handle interrupt driven serialcommunication at 38.4 kbaud. While the PC could handle faster speeds, the SGI was limitedby Unix. Unix directly supports character transmission rates of up to 38.4 kbaud, though theeffective throughput was lower for the SGI. The priority of the interrupt handler for the SGI serialport was too low, so it was unable to communicate bidirectionally at greater than 9600 baud whilerunning the graphics software. At speeds greater than 9600, the SGI delayed its transmission ofcharacters until after its receive interrupts ceased to be triggered. The highest speed was chosenChapter 5: Interprocess Communication 49to permit the PC to unload its data to its buffers in the minimum time at possible, and give itmore time to work as a debug monitor.While the SGI operating system could probably be tuned to improve serial port throughput,it would be at the expense of overall system performance. The basic bottleneck with serialcommunication was the interrupt overhead associated with the UART handling each characterseparately. While high speed replacement chips are available for PC serial ports that can handlelarger character blocks in hardware, they are not currently available for the SGI.5.1.1.2 SoftwareInitially, the serial interface was used bidirectionally to communicate between the graphicand dynamic simulation running on the SGI, and the joystick controller running on the DSP boardhosted by the PC. The information sent from the PC to the SGI were six position values (one foreach degree of freedom of the joystick) which were then interpreted as the command input. TheSGI computed the dynamic forces at the endpoint based on its machine simulation and returnedsix values for the reflected forces (again one for each degree of freedom). As the serial link speedwas marginal, the format of each number sent was a 32 bit float packed into four 8 bit characters,rather than sending each number as its ASCII representation. The floating point format on thePC side is the reverse byte format of the SGI, so the PC handled the conversion to and from acommon floating point format. While the data transferred could have been reduced further bypacking each number into 16 bits (the maximum resolution of the analog I/O), this would haveincreased the computational burden on the SGI, and could have at best doubled the transfer rate.As occasional characters were lost on the serial link, the communication code was extendedto ensure that such character loss would not corrupt the data flow. Each packet of six floatingpoint numbers was bracketed between start and stop flags. As no individual character would beChapter 5. Interprocess Communication 50unique, the start and stop flags were set to be unique floating point values (+1NF for the startflag and —INF for stop flag). Using these flags, the computers could synchronize at the start ofeach packet, and ensure the packet was complete by looking for the stop flag. Corrupted packetswere discarded. As less than 1% of the packets were lost, the simulation was not significantlyaffected by the loss (previous values were kept) and more complicated error correction schemeswere not required.While the Unix operating system supports high speed interrupt driven serial ports with its ttyinterface, the PC required the development of an interrupt driver in assembly to directly controlthe UART of the PC serial port. The driver had many problems in its development. It was derivedinitially from code developed for PC to PUMA communications and that code had its roots inexample code in [23]. The original code was buffered for reads only, and blocked writes until theprevious character was transmitted. Addition of an interrupt handler for transmitting, to permitbuffering of the output, was only partially successful. While communication was fine between twoPC’s, when communicating with the SGI, the transmitter would lose interrupts and crash. Thiswas probably due to timing differences between the two machines UART’s, together with subtlebugs in the interrupt handling (hardware or software). A work around was eventually developedusing a pseudo interrupt approach for the transmitter (characters would only be transmitted aslong as the receive buffer was interrogated for characters). This approach provided reliable serialcommunications. While the PC was capable of communicating with another PC using this codeat the absolute maximum speed of the UART bit clock (> 120 kbaud), the Unix side was limitedto 38.4 kbaud as noted above.5.2 VME implementationTo simplify the machine implementation and use the better debugging facilities available,Chapter 5: Interprocess Communication 51the joystick controller was moved from the DSP system to a SPARC 1E running VxWorks.In this instance, the controller now had a serial port compatible with RS232C which could bedirectly interfaced with the SGI running the graphics. In VxWorks, serial communication ishandled in much the same way as Unix, and the communication became a simple port of thecode developed for the SGI. The only complication lay in enabling the buffering of serial portdata, as the underlying routines are handled differently under VxWorks than Unix. One changethat was made to the communication was related to the transfer of the dynamics code to thejoystick controller. As the SGI needed to only receive the joint positions, and no longer returnedforces to the joystick, the code was simplified to become a unidirectional link.VME BusSGI IrisFigure 5.25 VME based simulatorAs the SPARC also has an ethernet connection built in, attempts were made to use thenetwork as the communication route between the two machines. The basic Unix construct forsuch communications is the socket. Code was developed to test this method, but the overheadChapter 5: Interprocess Communication 52involved in the sending of packets over the network was sufficient to slow the transfer downsignificantly. While the raw speed of ethernet is 10Mbps, the best rate that could be managed(even on a single machine, without network contention) was only 1.5 Hz for a “packet” of 32bytes (170 bps). Possible ways to improve the transfer rate would be to ensure that each “packet”of information containing the joint data would only correspond to one IP packet. This was notpursued further, as the serial link was fast enough to move the bottleneck from communicationto the graphics (though it would be nice to get rid of the cable!).5.3 Machine implementationThe serial communication task with the graphics process is unnecessary for the installationof the force feedback controller on the actual machine. In this instance, the joystick controllermust communicate with the excavator controller mounted in the same YME cage. The maincontroller for the excavator is a transputer based system with a SPARC running Unix to act asthe file system host. Possible communication methods include:• file read/writes via Unix host• sockets (network communications)• serial link• globally accessible memoryThe only possibilities that would be fast enough would be serial communication, in the samefashion as the simulation used, or using common memory as a mailbox. Fortunately, the transputercontains dual ported memory which is accessible via the VME bus, so this is being used for highspeed communication between the SPARC running VxWorks and the transputer based excavatorcontroller. Communication performance in this instance exceeds the processing speed of bothsystems by a wide margin. Catastrophic failure of transputer code is possible however if theChapter 5: Interprocess Communication 53mailbox area is used for code or data when the VxWorks processor is attempting to communicatewith it. This can be avoided if all code written for the transputer reserves and avoids the spacefor the mailbox, whether or not it will be used, or through the use of a dedicated memory cardfor use as the mailbox.CAT 215 Log LoaderFigure 5.26 CAT 215 controllerChapter 6Graphics Simulator6.1 HOOPSThe graphical simulation of the operator viewpoint from the cab of the simulated machinewas implemented in HOOPS. HOOPS (Hierarchical Object Oriented Programming System) is aset of graphics routines that can be linked with either C or FORTRAN source (all current workuses C source code). While previous work [181 used the native graphics system of the SiliconGraphics workstation (IRIS GL) for the simulation of an excavator and a log loader, the systemwas changed to HOOPS for a variety of reasons.6.1.1 Advantages / DisadvantagesHOOPS is available for several platforms. The graphics system used previously was restrictedto running on a SGI, of which only one is available. As a several projects require the useof the SGI, access was quite limited, and the ability to develop graphics applications on theconsiderably more plentiful Sun workstations was very useful (HOOPS is also available onPC’s and other micros). HOOPS is also moving towards becoming a graphics standard asmany graphics programs and computer aided design (CAD) programs (e.g. VersaCAD) arebeing based on it.• Development time of new applications is quite a bit faster. HOOPS is organized into astructured set of objects and subobjects which considerably simplifies the development oflinked objects such as a manipulator. The basic structure of a robot can be set up in afew hours.54Chapter 6: Graphics Simulator 55• HOOPS include many features to handle hidden faces, lighting etc and perspective, makingthe implementation of such features trivial. In addition, system functions are provided tohandle timing and input events.• The graphics program which had been previously developed for the excavator and log loaderhad grown over a few years and several programmers. As a result it was large and difficultto modify further. Development of the basic graphics code for another (more complicated !)machine, the feller/buncher in HOOPS resulted in a significant reduction in the amount ofsource code ( 20 kbytes vs - 200 kbytes).While HOOPS was chosen for several of its advantages, it was not perfect. Graphics codewritten in HOOPS was approximately half the speed of similar code written in the native graphicsformat of an SGI. This was not considered to be a significant problem, as the new SGI was morethan twice as fast as the old one.6.2 Simulation evolutionThe first version of the feller/buncher simulator used the SOl to run the dynamics simulationof the load as well as the graphical simulation of the operator viewpoint. The maximum updaterate for the graphics with all faces on and lighting was 30 Hz when double buffering wasenabled (to reduce fficker). This version of the simulator served to test the inverse Jacobianapproach to resolved motion control, but had difficulty when used with force feedback. Whilethe first bottleneck in the simulation loop was the graphics update rate, this could be eliminated bysubsampling and reducing graphics update rate with respect to the dynamic update. Unfortunately,even with no graphics delay, the loop update was held back by the communication delay betweenthe joystick controller and the dynamics simulation. The absolute maximum serial update was120 Hz, which caused oscillations in the fedback force. To eliminate the communication delayChapter 6: Graphics Simulator 56between the joystick controller and the dynamic simulation, the dynamic calculations were movedto the joystick controller, and the code running on the SGI was reduced to a graphical outputof the machine joint angles.Figure 6.27 Operator viewpoint from HOOPS simulationChapter 7Machine/Operator Considerations7.1 WorkspaceThe operator interface of a teleoperated manipulator can have a significant effect on thetraining period and the operator workload. Intuitive interfaces in which the operator canmanipulate the endpoint position within his own coordinate frame are much faster to learn thansystems which require the endpoint to be controlled in joint space. While it is possible for a welltrained operator to control a machine in joint space faster than a beginner using resolved motion,typically the training period required to achieve this speed is on the order of months.The scaling between the command movement and the corresponding slave movement affectsthe trade-off between precision and effort. A large master workspace can give the operatorgreater precision on endpoint placement, but requires more effort to operate, while a smallmaster workspace would provide the opposite.7.2 Force SensingForce feedback naturally requires some method of measuring the forces on the machine. Fora hydraulic machine, various possibilities exist, including derivation from hydraulic pressures,measurement of link deflection or simply using an endpoint sensor. The two methods investigatedfor the log loader experiment were using the main hydraulic pressures and a load cell mountedbetween the stick and grapple.7.2.1 Pressure TransducersPressure transducers initially showed promise as the easiest and most robust method ofdetermining the endpoint forces. Hydraulic pressures are used in the Haztrack remote operator57Chapter 7: Machine/Operator Considerations 58[151 to determine joint torques. In this case however, the joint torques are returned directly to akinematically equivalent master and are not resolved to the endpoint forces. Arm dynamics areincluded in the torques returned. To permit a transparent feel of the load the arm dynamics shouldbe removed. This requires knowledge of the link mass and inertial parameters. Uncertainty inthese parameters contributes to errors in the computed end point forces, as do errors the pressuremeasurements. Friction, especially static components, are difficult to model and can potentiallyhave a larger effect. For these reasons it is generally recommended to measure desired parametersas closely as possible and avoid unnecessary derivations [21].Pressure transducers do have the advantage of being robust. The sensors themselves can bemounted in a safe location away from the machine endpoint, and the machine physical integritydoes not have to be altered. These advantages can be significant when considering a practicalsystem for use in the field.7.2.2 Endpoint Force SensorsEndpoint force sensors are the most direct method of obtaining the necessary feedback.Placing the sensor at the endpoint bypasses the problem of link estimation and increases theusable bandwidth of the returned signal. It does have the added complication of requiringmodifications to the machine. As an endpoint sensor typically measures the forces as strainin a deformable member, the sensor itself is usually the weakest component of a manipulator.Increasing the strength of the sensor will increase the size of the minimum force resolvable(typical resolution for load sensors is from 0.1% FS to 0.01% FS). A trade-off must be madebetween fine resolution and sensor strength. Other considerations when using a load sensor arefatigue strength and resonant frequency of the combined sensor load system.Chapter 7: Machine/Operator Considerations 597.3 Force/Position Scaling7.3.1 ForceAs the slave manipulator in hydraulic equipment applications typically has a force applicationrange of greater than 100 times that of the operator, scaling of the feedback forces is a necessary.The forces at the endpoint can be up to 75 kN, (as determined by maximum hydraulic pressures)though the machine would flip over long before this limit is reached (the loader currently usedfor machine experiments is limited by the current controller to approximately 20 kN maximumendpoint force), while the maximum force applicable by the operator is more like 100 N, and thiswould be extremely fatiguing to apply for an extended period. A trade-off between sensitivity tosmall loads (better feel) and the ability to handle large loads must be found.The force returned to the operator can simply be scaled down by a constant factor, thougha better solution is to provide the operator with some method to adjust the gains while working.In addition to scaling the returned forces, there should be the provision to handle the subtractionof constant offsets from the endpoint forces. This way, the operator would be able to grasp andcarry a large object, and still be able to have the feedback gain large enough to provide usefulfeel of perturbations in the endpoint force. The constant offsets should also be under the controlof the operator.While the control workload of the operator could be reduced by automating the scaling andoffset adjustments, any automatic system would introduce nonlinearities in the operation of thecontrol system, and could cause confusion. For example, if the system automatically compensatedfor an offset force (after some time delay) the operator would be unsure whether the load beingfelt is low because it actually is low or because the load is large, but it has been automaticallyChapter 7. Machine/Operator Considerations 60compensated for. Until such a time as the control system can anticipate the desires of the humanoperator, load scaling is best left to the operator.7.3.2 PositionControl of the endpoint position of a slave manipulator using a master with a smaller physicalworkspace will require some scaling between the manipulator and the master. Using pure positioncontrol would require the complete machine workspace ( 360 ° rotation, radius from 1.5 to 8.5 m,height from —5.5 to 8 m [24]) to be mapped to the considerable smaller master workspace ( 1 cc).This corresponds to a position ratio of 1000: 1 i.e. 10 cm precision in the machine workspacewould require 0.1 mm in the operator workspace. This would be next to impossible under thebest conditions and completely out of the question in a moving machine. Position control wouldtherefore require restricting the slave workspace to a subset of the complete workspace and thenindexing the subspace through the rest of the slave space as necessary.Indexing the position subspace would be accomplished by moving the endpoint in rate modeor explicitly redefining the endpoint center position through the machine (or simulation) controller.One way to incorporate position indexing into the same hand controller as used for position controlis to define a rate control region of the joystick in the outer portion of the master. In this way, theoperator can control the endpoint in position mode, and to reach beyond the position workspacewould naturally push harder, to the limit of the joystick, thus causing the endpoint to move inrate mode toward the desired position. A problem with the direct implementation of this methodis that the endpoint will “snapback” when the joystick is returned to the center. It would not bepossible to touch a surface in position mode, except at the very edge of the position workspace.This can be worked around by introducing a deadband on the position command until the joystickhandle returns to the center. This way the operator can approach an object in rate mode, thenChapter 7: Machine/Operator Considerations 61return the joystick to the position mode to stop motion. The endpoint will remain fixed until thejoystick is returned to center, after which the operator can move the endpoint in position mode.Rate control permits an arbitrarily large workspace for the slave to be controlled with fineprecision, with the endpoint velocity limited by the maximum joystick rate. This situation is morephysical than the position control case, as the machine joints are limited in speed by power andsafety requirements. In position control, the operator could easily command a velocity greaterthan that which is possible, with the result that the operator hand becomes out of phase with theslave position (and hence fedback forces). While it is possible in the rate control case to exceedthe maximum possible accelerations, it is less of a problem than velocity overshoot. In bothcases, a coordinating force to give the operator a feel for the arm inertia can help reduce theseovershoot errors, though like any proportional control scheme, it can not eliminate it.Chapter 8Simulation ExperimentsThe goal of this research is the implementation of a useful force feedback system on ahydraulic machine. To speed up development of the system and to permit greater latitudein experiments, a fellerfbuncher simulator has been developed which integrates the maglevjoystick with a real time dynamic and graphic simulation. The system was used to test differentcontrol methods (position, rate and hybrid schemes) and different feedback methods (force, forcederivative and stiffness). It also served to test integration of the maglev hand controller to amachine controller, as well as test resolved motion control using the Jacobian approach ratherthan direct inverse kinematics.The complete simulation system consists of the force reflecting hand controller, a machinecontroller, load dynamics simulation and a graphical simulation of the operator viewpoint from themachine cabin (Fig. 5.24). Several different versions of the simulation system were developedas hardware became available. Basic operation of the control system was tested and manypreliminary tuning tests were completed prior to the installation of the force feedback systemin the log loader.Originally, the feller/buncher simulator resided on the SGI, along with the code to producethe graphics display (Chapter 6). The dynamic simulation implemented the computation of theinertial and gravity loading of the grapple in response to the commanded motion by the joystick.As described in Chapter 5, the dynamic simulation communicated with the joystick controllervia a relatively slow serial line.This initial simulator operated in rate mode only, with the joint velocities determined by astraight forward implementation of the inverse Jacobian. It provided a test bed for this control62Chapter 8: Simulation Experiments 63method, as well as some preliminary force feedback experiments. It was found that direct forcefeedback was unstable at any feedback gains large enough to be detected. Similar results wereobtained for force derivative reflection.Stiffness control resulted in much better feel of the load dynamics. A simple linear relationwas used (3.33) with no deadband. Oscillation could still occur (and did occur) when 0,as would be expected given (3.36), but the system quickly stabilized once the joystick handlewas released.The next version of the simulator moved the dynamic portion of the code to the DSPprocessor to eliminate the effects of communication delay. The simulation was simplified toone dimension, which permitted the trivial implementation of a position control scheme. Initialexperiments attached a virtual mass to the flotor, and fedback forces to the hand as if the flotormass had been increased by m10d. In addition to the virtual load, virtual walls were placed at thelimits of flotor travel to experiment with hard surface contact. As the accelerations derived fromthe position sensors were quite noisy, they were filtered before calculating the inertial forcesfrom the virtual load.Zero order holdFigure 8.28 Virtual mass simulation on DSP controllerChapter 8: Simulation Experiments 64Experiments with this simulation determined that for optimum feel, the cutoff of theacceleration filter should be around 100 Hz for a sample rate of 1 kHz. Experiments varying thevirtual load found that the maglev joystick parameters could be varied over a wide range. Forexample, the mass could be varied from -0.5 kg (i.e. most of the fiotor mass could be cancelled)to 5 kg. In addition to testing the position mode force reflection capabilities of the maglevjoystick, the simulation was also tested in rate control mode with force reflection. The unnaturalfeel (mass feels like damping etc.) predicted in (3.28) was confirmed, as well as instability incontact with a hard surface.When the equipment became available, the DSP based simulation was ported over to a VMEcontroller (Fig. 5.25). It was first tested with the same one dimensional model used in the DSPsimulation. The previous results were confirmed, though the actual values for the maximumvirtual loads were slightly smaller as the maximum loop rate was quite a bit less (350 Hz).The complete feller/buncher dynamic model was then ported to the VME controller. Thisslowed the maximum speed of the system further, and considerable time was spent optimizingthe code to get the ioop rate back up to a flyable level (200 Hz). A position control schemewith joystick limit indexing was implemented, as well as the simple rate control based simulationthat ran on the SGI originally. Code was tested for both a “snapback” as well as a positionspace deadband model. When the force feedback was implemented, a 17 Hz vibration becamenoticeable. Further examination revealed that it was present at all times and was merely magnifiedby force reflection. The source of the vibration was finally traced to the Jacobian convergence asthe joint increments were applied to the model. This was eliminated by computing the Jacobianiteration off-line, and only applying a joint command after the final joint value had been arrivedat. This unfortunately reduced the input command rate significantly, as only one iteration cycleChapter 8: Simulation Experiments 65could be completed for each sample period. Input commands are now limited to one tenth themain loop rate (which should be accurate with sufficient filtering).The simulation experiments proved to be quite useful background for the development of theforce feedback controller. With the addition of more powerful computers and a more realisticsimulation, it is hoped that the simulation can be used to expand further on the results availablefrom the machine experiments.Chapter 9Machine ExperimentsThe force feedback control system was implemented on a working machine. The machineused for this is a Caterpillar 215 excavator. It can be fitted with various end effectors (bucket,grapple, felling head), and is cunently outfitted with a grapple for log loader experiments. Thisparticular machine has been the subject of other research, specifically parallel dynamic simulation[25], complex hydraulic system simulation [17] and various experiments in resolved motioncontrol [10].The Caterpillar 215 excavator was initially outfitted with a VME based controller, whichinterfaced to the actuators via proportional control valves. Arm movement can be controlledeither in individual joint control mode or in resolved mode. The original master input device isa conventional four degree of freedom joystick (master position sensing is via potentiometers).Pressures can be measured in both the main actuator cylinders and the pilot system. Joint positionsare sensed by resolvers (i.e. they provide absolute position). Velocity and accelerations of thejoints must be derived from the joint position.The system required the addition of some form of endpoint sensing. The first machineexperiments involved trying to model the machine well enough to obtain endpoint forces fromthe existing pressure transducers. These had some limited success, though did not provide thedesired force resolution. Experiments with a load cell yielded higher resolution, but the sensordid not prove durable enough, and force control experiments were completed using pressurederived forces.66Chapter 9: Machine Experiments 679.1 Endpoint Force SensingThere are two basic approaches to determining the end point forces on the actual machine.The first and initially most straight forward is to simply mount a sensor at the endpoint thatis capable of measuring the desired forces directly. Such a method is computationally simpleand is recommended for optimum resolution/performance [21]. The other approach is to tryand determine the endpoint forces by deriving them from forces that are more easily measuredusing existing transducers. This avoids the mechanical complications of an endpoint sensor, butintroduces the additional problem of accurately modeling the intervening links in order to subtracttheir effects. Both methods were tried on the excavator.9.1.1 Load CellAs initial attempts to derive the endpoint forces from hydraulic pressures showed that thebest force resolution possible was 1 —2 kN, a load cell was purchased and installed between thegrapple and the end of the arm in order to provide direct measurement of the endpoint forces in theZ direction. This method avoided the difficulties in machine parameter estimation but introducedthe additional complications of mounting the transducers and instrumentation amplifier.The mechanical complications involved in using a load cell turned out to be quite a bitbigger than initially anticipated. The load cell purchased was a single axis unit manufacturedby Wagner Instruments. It was a low profile style, consisting of a central mounting hole and anouter mounting ring, with four deflection members connecting the two. One side mounted to thegrapple and the other to the end of the stick. While this style was recommended as the best forhandling side loading, there were no specifications available for bending moments. The unit wasdesigned for 10,000 lb (45 kN), with a safety factor of 150%.Chapter 9: Machine Experiments 68The first problem involved fixing the grapple from rotating in the Z direction, as the onlyforce holding it in one direction was friction between the washer and the stick surface. Thisproved to be insufficient, and pins had to be added to prevent this rotation. The load cell wasthen used to determine the grapple weight (4060 N) but was quickly damaged after contact withthe ground. As at all times, the forces exerted were less than half of full scale, the probable causeof failure was permanent deformation due to bending moments. Initially the damage seemed tosimply be a nonlinearity about zero, but it quickly grew and failed outright after 2 days.The load cell was left in place after the failure of its strain gauge bridge in order to savegrapple remounting time. However, the load cell broke apart during later thals, requiring itsremoval anyway (as well as the replacement of damaged grapple hoses). Examination of the cellafterward showed that two of the deflection members had failed in torsion and two in shear. Theprobable cause was an excessive bending moment about an axis perpendicular to the Z axis.The basic problem with the load cell was that it was a unit that was not designed for thejob. A six axis force sensor that is designed for multi-axis forces would have worked muchbetter. Unfortunately, none were available on short notice, and the cost was from 5 to 20 timesthat of the single axis load cell.9.1.2 Pressure SensorsThe hydraulic force applied by the machine can be computed from the pressures applied tothe cylinders and cylinder geometry.F1 = — (9.46)The pressure transducers have an error associated with them, typically from ±0.5 to ±0.1 % offull scale output (FS). Errors in computed forces will then be:= zp(A +4otit) (9.47)Chapter 9: Machine Experiments 69Instead of two absolute transducers, a differential and an absolute transducer could be used:F1 = PdjffAj1+ PQut(AjT — A0) (9.48)wherePdff =— P0 (9.49)If both the differential and the absolute transducer have the same error, then this will not provideany advantage. However, the differential can have a lower range and hence a lower absoluteerror. In addition, the percentage error can be quite a bit lower. In the instance of the excavatorcurrently being used, the absolute transducers have errors of ±0.5% of a full scale of 5000 psi(25 psi). High accuracy differential transducers (±0.1 % FS) were ordered in a effort to reducethe computed force errors. Theoretically, the computed force errors should have been halved.Unfortunately, one was not within the specified error tolerance and any accuracy improvementfrom the remaining unit was completely obscured by other factors such as stiction, unmodeleddynamics etc. The differential transducers gave no noticeable improvement over the originalabsolute units.Using the machine geometry and the forces determined above, the applied torque at thejoint can be determined. Either pure geometric principles or virtual work can be used, with theprinciple of virtual work taking slightly less computation. Using virtual work, the joint torquescan be computed from the cylinder forces using:TjojTt = Fl8:) (9.50)The applied joint torque consists of the dynamic components due to the excavator motion, thedissipative components from friction, and the torques due to the endpoint load. While the viscousportion of the joint friction can easily be determined, the stiction component is more difficult toChapter 9: Machine Experiments 70model and requires knowledge of the endpoint forces. Previous work by Sepehri [17] indicatedthat friction components were not significant, and so these terms were neglected.Dynamic joint torques are determined by a recursive Newton-Euler algorithm [26]. Theendpoint forces, Fend follow from:Tdyy’rrj = D(q)j + C(q, )ci + g(q) (9.51)fyFerLd = (J(q)T) ‘(r0j1t— Tdynumics) (9.52)Note that all six force components can only determined for a 6 DOF (or greater) manipulator.Force measurement for machines with fewer DOF’s are restricted to the number of independenttorques available. For example, using just the boom and stick pressures of an excavator, onlythe f and f2 forces can be determined.The dynamic components were initially determined by an implementation of the algorithm byAngeles [26] for recursive Newton Euler of a rigid manipulator. The mass and inertial parametersfor the particular CAT 215 machine were taken from the simulation work by Darrell Wong[25].The forces derived did not coincide with reality however. The calculated forces showed a lateralcomponent when the only endpoint force was the weight of the grapple straight down. In addition,the computed vertical weight varied throughout the workspace, despite the fact that the grapplemass did not. Evidently, one or more of the assumptions about the machine model were incorrect.9.1.3 Link parameter estimationThe original source of the link inertial parameters was not locatable, and the manufacturerwas unable to find this data. With no measuring devices capable of determining these valuesChapter 9: Machine Experiments 71directly, an attempt was made to estimate them using pressure data. To simplify the problem,as most force control situations involve minimal movement of the endpoint, the quasi-static caseof Tdyrurjcs = g(q) was examined. In this instance, only the mass, center of gravity locationsand nominal end forces due to the grapple need to be found. Further simplification restrictedforce computation to the RZ plane, so only the two endpoint force components fT and f2 canbe measured.frThe nominal joint torques due to gravity can be derived quite= VV8tjck(Cg3rC23— cg3ys23) + Wgrapa3C23simply from the geometry.(9.53)C23 COS (023) = cos (02 + 03)Rearranging to find the independent parameters that can be estimated gives:S23— FThoo’rnnoml [a b c dl C23It= L TStjck,om i = La b 0 0] S2C2fZRacg3a3WstjckFigure 9.29 Static machine forcesWgrapTboori0,= Tgtjk,m +T4Tboor,(C92xC2 — cg2ys2) + ( VVgrap +W8tk)a2c2whereS2 s1n(02)C2 COS (02)S23 Sifl (023) = sin (02 + 03) (9.54)(9.55)Chapter 9: Machine Experiments 72wherea — —W8kcg3b = + Wgiapa3(9.56)c = —WbooT,tcg2yd = WOQ,cg2. + (1V + 1’Vtk)a2Pressure data for various boom and stick angles was recorded and sorted to obtain static valuesonly, and then converted to the applied joint torqueL0ji. The joint torques and angles were thensubstituted into (9.55) and the equation solved for a,b,c and d via a least squares fit. Using datafrom several runs in different parts of the machine workspace resulted in the following estimates.Parameter Average Estimate (Nm) Std. Deviation (Nm)a 511 763b 6452 909c -7585 1290d 82729 993Table 9.1 Link Parameter Estimates: average of data collected May-June 1992As one can see, the estimates do not converge very well (the above estimates are based on “300data points). Some of the error will be due to random errors in the pressure readings, whilesome is due to incomplete modeling of the joint torques. A likely contributor to the estimationerrors is static friction in the cylinders and joints, which will have its greatest impact in thequasi-static case being examined. The parameter estimates also depend on the particular part ofthe workspace the machine is operated in. Repeating the above measurements for a couple ofruns where the endpoint was just moved in and out just above the ground resulted in somewhatdifferent estimates.Chapter 9: Machine Experiments 73Parameter Run #1 Estimate (Nm) Run #2 Estimate (Nm)a 608 655b 7571 6680c -3332 -6672d 79200 82100Table 9.2 Link Parameter Estimates: Ground level mapping. Aug. 13 1992As the variation in parameter estimates could have been caused by changes in the machineover the summer (aging of grease, transducer drift) another complete mapping run was done toobtain a current set of estimates for the entire machine workspace.Parameter Estimate (Nm)a 376b 6650c -9300d 84380Table 9.3 Link Parameter Estimates: Whole workspace mapping. Aug. 13 1992The load cell, had it functioned longer, would have provided endpoint force resolution onthe order of 10 N or less. This would have easily been sufficient to detect the extra weight ofa log in the grapple jaws. Force determination by hydraulic pressures in contrast had at best1000 N resolution. This poor resolution was a major limiting factor during the force feedbackexperiments.9.1.4 Force computation errorsIn an effort to bypass problems in the identification of the link parameters, a brute forcemapping technique was tried. To keep the problem to a reasonable scale, the static case onlywas considered. A mapping was made between the boom and stick angles to the applied torquesChapter 9: Machine Experiments 74at each joint. Unfortunately, the various factors which caused the poor convergence of the massparameters created a similar variance in the torque mapping. Endpoint force resolution remainedgreater than 1000 N.The common factor between both of these methods is the computation of the net joint torquefrom the cylinder pressures. This depends on the pressure transducers, the cylinder dimensions,the link dimensions and cylinder and joint friction. The cylinder and linkage measurements werechecked and found to be correct. While the zero offset of the pressure transducers was alsocalibrated out, precise calibration throughout the pressure range was not possible. The theoreticalforce errors due to pressures variations within the manufacturer’s specifications (±0.5% FS) couldhave resulted in endpoint force errors of up to 600 N. Additional errors are probably caused byunmodeled friction components. These components would have their greatest effect in the staticcondition in which the parameters were estimated and in which the machine will be operatingin for most force feedback work.9.2 Loader Experiments.The endpoint of the loader was controlled in rate mode, with stiffness feedback to the operator(ref Fig. 3.17). Initial tuning started using a hybrid position/rate control scheme, but it becameevident that, from the operator viewpoint at least, position control was too unconventional to beused in this particular application.Experiments to evaluate the utility of endpoint force feedback were limited by the poor forceresolution and the time lag between the operator command and endpoint movement (on the orderof 0.4 s) . However, tests were carried out with three subjects to determine roughly the rangeof forces which could be detected and controlled.Chapter 9. Machine Experiments 75The object of these experiments was simply to determine if it was possible for an operatorto perform repeatable application of a desired force, using the joystick stiffness as the feedbackmechanism. The experimental procedure simply consisted of the operator trying to match aseries of target forces given. As the maximum force in tension possible was 10 kN (theweight of one concrete block) and the maximum force in compression was 15 kN (limitedby a boom overpressure safety limit), the target forces ranged from —9000 N (tension) to 11000N (compression). Once given a target force to achieve, the operator manoeuvred the endpointinto position (motion was restricted to the vertical axis only). When ready to begin, the operatoractuated the start trigger and then moved the endpoint up or down to apply the desired force tothe end. Once he had reached the desired force (as determined from joystick stiffness) the stoptrigger was actuated, at which point the actual applied force was recorded. The sequence wasthen repeated for the next target force. Each target force value was repeated three dines and theoperator was informed after each trial how close the force was achieved to help him correlatestiffness to force. A typical plot of the actual force vs time for a series of trials follows:.A.ctijevd fc,rc vs desired‘Time (s)Figure 9.30 Sample data from force trials (tension -, compression .i-)Chapter 9: Machine Experiments 76To isolate the operator from the machine and ensure that the force was determined solely byfeedback through the joystick, the machine was operated remotely. While performing the forcefeedback trials, the operator was also directed to not look at the machine, as is possible to guessat the endpoint forces based on link deflections. Examination of Figure 9.30 shows oscillationsin the force as the machine was moved into position for each target. This is caused by theunmodeled dynamics of the machine (the force computations were only valid for a quasi-staticcase). To minimize the disturbance caused these oscillations, the returned force was filtered usinga 1st order low pass filter with a cutoff of 2 Hz.Results of the complete set of trials are summarized below:Target Force (N) Mean Force Std. Dev. (N) Num. ofApplied (N) Trials-9000 -7597 1715 3-7000 -6734 1221 30-6000 -5892 1704 13-5000 -5434 1911 30-3000 -2815 1302 15-2000 -3681 1283 83000 4473 1928 106000 6350 1708 179000 9626 1844 1811000 11052 1694 14Table 9.4 Results of Endpoint Force Control ExperimentsChapter 9: Machine Experiments 77x104 Actual forces vs Target forces: Aug 15/92 trials1.5 I 4!44++ ++ rw1 + •+1- +++.fr+4:4Y7c-3r+0.5goIt&80 +••+++ ++P.. + +++-0.5 + ÷ + t+ + ++ +44 + + +44+ ++ + t++ ++ + ++++++ ++++ +++ ++++0 20 40 60 80 100 120 140 160Trial # (sorted by target)Figure 9.31 Endpoint force applied vs. desired forceOne can see that the error in the achieved force is relatively constant and approximately equalto the average error in the measurement of the endpoint forces (ito 2 kN) derived from pressuredata. The 95% confidence interval for the endpoint force error (desired force minus actual force)is from —410 N to 125 N. While the number of trials are small and the errors are quite large, itwould appear that it is indeed possible to control the endpoint force using stiffness control.Chapter 10ConclusionsA force reflecting joystick has been integrated into a hydraulic machine simulation, as wellas a real machine. The maglev joystick used is capable of effective force feedback, with thedynamic control of the joystick parameters making it possible to use the joystick in novel forcereflection schemes such as stiffness control. A graphical simulation has been written and canbe controlled using the joystick.Force feedback has been successfully added to a CAT 215 log loader, and it has been used topermit the machine operator to control the applied endpoint force. A force measurement schemeusing the main hydraulic pressures has been implemented, and is able to determine endpointforces in the vertical and radial directions to a resolution of 1 to 2 kN. A hand controller stiffnessfeedback scheme has been developed that can give stable force feedback while the endpoint ismoved in rate mode. A hybrid position/rate control mode was developed to permit the operationof the machine in position mode while maintaining access to the complete workspace.Endpoint force sensing proved to be a difficult problem to solve, The resolution possibleusing pressure sensors is not very good, on the order of 2-3% of the absolute maximum forcespossible using the machine, and 10% of a typical working load. The use of differential transducersto minimize errors due to the transducers themselves is not worthwhile, as joint friction and otherunmodelled parameters swamp any minor improvement in pressure resolution. Friction is notnegligible, at least not the static case. Better force resolution is possible using a direct forcesensor at the endpoint, but the force sensor used must be capable of withstanding any extraneousloads in addition to the loads being measured.78Chapter 10: Conclusions 79The endpoint control method preferred by operators is rate control, as this is closer to theconventional controls presently used. Further evaluation of position control is needed to determinethe utility of this mode in the operation of hydraulic machinery.10.1 Further WorkThe use of force feedback in hydraulic machines will require considerably more developmentbefore it can be practically applied. In the near future, force feedback experiments should berepeated with a wider range of subjects and tasks. The endpoint force resolution will have tobe improved, either through more complete modeling of friction and other machine parametersnot currently modeled, or through the addition of a robust endpoint force sensor. Simulationand machine experiments should be carried out to further investigate position vs rate control.The stiffness feedback method needs more tuning for different loads and should be tested inmultiple DOF.In the long term, machine experiments on a wider variety of machines such as fefler/bunchersand excavators will help determine the scope of application of this technology.80References[1] E. 0. Johnsen and W. R. Corliss, Human Factors Applications in Teleoperator Design andOperation. Wiley Series in Human Factors, John Wiley and Sons, 1971.[2] G. Burdea and J. Zhuang, “Dextrous telerobotics with force feedback - an overview, part2:control and implementation,” Robotica, vol. 9, pp. 291-298, 1991.[3] D. Stokic, M. Vukobratovic, and D. Hristic, “Implementation of force feedback inmanipulation robots,” International Journal ofRobotics Research, vol. 5, pp. 66—76, Spring1986.[4] J. A. Maples and J. J. Becker, “Experiments in force control of robotic manipulators,” inProc. IEEE Robotics and Automation Intl. Conf, (San Francisco), pp. 695—702, April 1986.[5] T. Brooks and A. Bejczy, “Hand controllers for teleoperation,” Tech. Rep. NASA-JPL Pub.85-11, National Aeronautics and Space Institute, March 1985.[6] R. L. Hollis, S. Salcudean, and A. P. Allan, “A six-degree-of-freedom magnetically levitatedvariable compliance fine-motion wrist: Design, modeling and control,” IEEE Tr. Roboticsand Automation, vol. 7, pp. 320—332, June 1991.[7] T. Brooks, “Telerobot response requirements,” Tech. Rep. STX/ROB/90-03, STX Robotics,March 1990.[8] 0. Burdea and J. Zhuang, “Dextrous telerobotics with force feedback- an overview, part1:human factors,” Robotica, vol. 9, pp. 171—178, 1991.[9] P. D. Lawrence, B. Sauder, U. Wallersteiner, and J. Wilson, “Teleoperation of forestharvesting machines,” in Robotics in Forestry, (Vaudreuil,Quebec), pp. 36—39, September1990.[10] U. Wallersteiner, P. Stager, and P. Lawrence, “A human factors evaluation of teleoperatorhand controllers,” in Proceeding of International Symposium Teleoperation and Control,pp. 291—296, IFS Ltd., July 1988.[11] W. S. Kim, F. Tendick, S. R. Ellis, and L. W. Stark, “A comparison of postion and ratecontrol for telemanipulations with consideration of manipulator system dynamics,” IEEE Tr.Robotics and Automation, vol. RA-3, pp. 426-436, October 1987.[12] R. J. Anderson and M. W. Spong, “Bilateral control of teleoperators with time delay,” IEEETr. Automatic Control, vol. 34, pp. 494-501, May 1989.[13] W. S. Kim, B. Hannaford, and A. K. Bejczy, “Force-reflection and shared compliant controlin operating telemanipulators with time delay,” IEEE Tr. Robotics and Automation, vol. 8,pp. 176-185, April 1992.[14] M. Ostoja-Starzewski and M. J. Skibniewski, “A master-slave manipulator for excavationand construction tasks,” Robotics and Autonomous Systems, pp. 333—337, 1989.[15] R. Langreth, “Smart shovel,” Popular Science, pp. 82—84,108—109, 1992.81[16] M. W. Spong and M. Vidyasagar, Robot Dynamics and Control. John Wiley and Sons, 1989.[17] N. Sepehri, Dynamic Simulation and Control of Teleoperated Heavy-Duty HydraulicManipulators. PhD thesis, University of British Columbia, September 1990.[18] N. Sepehri, D. Wong, D. Chan, P. D. Lawrence, and F. Sassani, “Development of a realtime simulator for a teleoperated industrial machine,” in lASTED Conference on Modeling,Simulation and Control (M. Hamza, ed.), pp. 69—72, lASTED, August 1992.[19] A. K. Bejczy and J. K. S. Jr., “Kinesthetic coupling between operator and remotemanipulator,” in Proceedings of the International Computer Technology Conference, pp. 197—211, American Society of Mechanical Engineers, August 1980.[20] N. K. Ho, “Tms dsp d/a a/d cards and the tins trace debugger.” Elec 474 project report:UBC, August 1991.[21] C. H. An, C. G. Atkeson, and J. M. Hollerbach, Model-Based Control ofa Robot Manipulator,ch. 4. Load Estimation, pp. 65—85. MIT Press, 1988.[22] N. Parker, “Adaptive control with an indirect self tuning regulator.” Elec 589 project report:UBC, April 1991.[23] R. Duncan, Advanced MSDOS Programming. Microsoft Press, 2nd ed., 1988.[24] Caterpillar, June 1984. CAT 2l5B Sales Literature.[25] D. Wong, Parallel Implementation of Multibody Dynamics for Real-Time Simulation. PhDthesis, University of British Columbia, May 1991.[26] J. Angeles and 0. Ma, “An algorithm for the inverse dynamics of n-axis general manipulatorsusing kanes’s equations,” Computers Math. Applic., vol. 17, no. 12, pp. 1545—1561, 1989.

Cite

Citation Scheme:

        

Citations by CSL (citeproc-js)

Usage Statistics

Share

Embed

Customize your widget with the following options, then copy and paste the code below into the HTML of your page to embed this item in your website.
                        
                            <div id="ubcOpenCollectionsWidgetDisplay">
                            <script id="ubcOpenCollectionsWidget"
                            src="{[{embed.src}]}"
                            data-item="{[{embed.item}]}"
                            data-collection="{[{embed.collection}]}"
                            data-metadata="{[{embed.showMetadata}]}"
                            data-width="{[{embed.width}]}"
                            async >
                            </script>
                            </div>
                        
                    
IIIF logo Our image viewer uses the IIIF 2.0 standard. To load this item in other compatible viewers, use this url:
http://iiif.library.ubc.ca/presentation/dsp.831.1-0065079/manifest

Comment

Related Items