Patent Description:
Autonomous and semi-autonomous industrial robotic equipment is increasingly being used in outside work environments such as on construction sites, building sites, mining sites, and industrial sites. In many cases the equipment comprises robots which can grasp, manipulate and place objects. One such system is a robotic construction robot in which a telescoping articulated arm is mounted on a truck, and a conveyor transports bricks to a layhead mounted at the end of the arm which includes a lay robot, which lays the bricks. When the brick arrives at the layhead, adhesive is applied to it and a gripper assembly of the lay robot grips it and moves it to a lay location where the brick is placed, preferably to within sub-mm accuracy. The applicant's brick laying construction robot is described in more detail in co-pending applications<CIT>, <CIT>, <CIT>, <CIT>, <CIT> and <CIT>.

In the context of bricklaying, it is desirable to know when contact has been made between a brick being placed and a brick or structure (such as a building slab) onto which the brick is being laid.

Typically, the lay robot is programmed to place a brick at a target position within a build envelope. It would be undesirable for the brick to be released by the gripper assembly and dropped before it has been laid. Such an event may occur if for example the robot controller determines that the brick has reached the target position when in fact it may not have.

It is also undesirable for a brick to be placed onto adjoining structure with excessive force. This may occur for example if the robot controller determines that the target destination has not been reached yet and therefore keeps driving the brick further down onto the structure applying increasingly more force. This may damage the brick, the structure (i.e. wall) and/or the robotic equipment.

<CIT> describes an automated bricklaying apparatus having the features of the preamble of claim <NUM>, that includes a guideway extending along brick masonry being erected. A bricklaying machine displaces along the guideway. It has a robotic arm with an upper arm and a forearm. The arm is operated in response to sensors that detect vertical and horizontal distances to a mason's line.

<CIT> describes a robot apparatus and gripping method for use in a robot apparatus which includes a robot arm, a multi-fingered hand disposed at an end of the robot arm and including a force sensor for use in force control, an image processor that acquires at least location information on a gripping target by detection made by a visual sensor, and a control device that moves the robot arm on the basis of the at least location information on the gripping target acquired by the image processor to cause the multi-fingered hand to approach the gripping target, detects a contact location of actual contact with the gripping target on the basis of an output of the force sensor of the multi-fingered hand, and modifies the location information on the gripping target on the basis of information indicating the detected contact location.

<CIT> describes a robot control apparatus, robot and robot system. The robot control apparatus controls a robot having a movable part provided with a force detection unit includes a robot control part that performs force control on the movable part based on output of the force detection unit. <CIT> describes a system for placing objects on a surface and method thereof. The system may include a base, a robotic arm coupled, at an end thereof, to the base, an end effector coupled to the other end of the robotic arm. The end effector may be configured for releaseably coupling to an object to be placed on the surface. The system may further include one or more sensor units on a sensor frame.

It is against this background, and the problems and difficulties associated therewith, that the present invention has been developed.

According to a first aspect there is provided a gripping apparatus for controllably placing an object, the gripping apparatus including:.

In one embodiment, the controller is further configured to send a gripper drive control signal to the one or more gripper drive assemblies to cause the pair of opposing gripping clamps to release a gripped object in response to the sensor output signal indicating that the measured relative movement or measured force exceeds the predefined threshold.

In one embodiment, the sensor is a linear encoder.

In one embodiment, the linear encoder includes a readhead located on the connector body and a scale located on the housing or a readhead located on the housing and a scale located on the connector body.

In one embodiment, the gripping apparatus further includes at least one spring member extending from the housing to the connector body, and wherein the sensor is a force sensor configured to measure the extension of the spring.

In one embodiment, the gripping apparatus further includes at least one spring member extending from the housing to the connector body, and wherein the sensor is a distance sensor configured to measure the distance from the connector to the object being gripped.

In one embodiment, the sensor is a load cell located in series between the connector body and the gripper assembly to measure a force in a direction aligned with the placement axis.

In one embodiment, the sensor is an imaging sensor with a field of view that includes a distal side of a gripped object and further includes an excitation source, and wherein in use the gripping clamps grip an object coated on the distal side with a substance that emits light when excited by the excitation source, and a processor is configured to perform change detection on a series of images to detect when the distal side makes contact with the placement surface, and when the substance is extruded from a surface point between the distal side of the gripped object and the placement surface.

In one embodiment, the sensor includes one or more limit switches, wherein at least one limit switch is located a predefined distance from an initial position of the flange portion.

In one embodiment, the sensor includes at least two limit switches, wherein at least one limit switch is located at an initial position of the flange portion.

In one embodiment, each of the two flange portions further comprise a cut-out portion with a stop surface extending in a plane orthogonal to the placement axis and a pair of projections in the cavity walls extend into each cut-out portion such that as the housing moves relative to the connector body, the projections move in a direction aligned with the placement axis until they engage with each stop surface to define a maximum compliance distance.

In one embodiment, the sensor is a magnetic linear encoder, and a readhead is attached to the housing and a scale is mounted on the compliance plate.

In one embodiment, the sensor is configured to detect when a gripped object contacts a placement surface by measuring when at least a portion of the maximum compliance distance is reached.

In one embodiment, the connector body includes a plurality of shafts extending from the compliance plate parallel to the placement axis, and the upper housing includes a plurality of roller bearings that receive each of the shafts to thereby guide relative movement of the housing with respect to the connector body in the direction of the placement axis.

According to a second aspect, there is provided a method for controlling placement of an object using a gripping apparatus of the first aspect, including:.

According to a third aspect, there is provided a computer readable medium including instructions for causing a processor to perform the method of the second aspect.

Embodiments of the present disclosure will be discussed with reference to the accompanying drawings wherein:.

In the following description, like reference characters designate like or corresponding parts throughout the figures.

Embodiments of a gripping apparatus and the associated control system and method will now be described. <FIG> is a schematic diagram of a gripping apparatus and control method according to an embodiment. The gripping apparatus <NUM> is for controllably placing an object in an environment, and in one particular non-limiting example, the object being placed is a brick or block for automated building construction.

The gripping apparatus <NUM> comprises a gripper assembly <NUM> mounted to a robotic arm (not shown) via a connector body <NUM>. The gripper assembly <NUM> includes a housing that supports one or more gripper drive assemblies operatively coupled to a pair of opposing gripping clamps configured to grip and release an object <NUM> in response to one or more gripper drive control signals, and in use the robot arm is configured to drive the gripper assembly along a placement axis <NUM> towards a placement surface <NUM> via the connector body <NUM>.

A sensor is configured to either measure a relative movement between the gripper assembly <NUM> and the connector body <NUM> in a direction aligned with the placement axis <NUM> or to measure a force (such as a reaction force) between the gripper assembly <NUM> and the connector body <NUM> in a direction aligned with the placement axis <NUM>, wherein the sensor generates a sensor output signal based on the measurement. A controller <NUM> is configured to send a stop signal to the robot arm to stop further drive of the gripper assembly <NUM> along the placement axis <NUM> when the sensor output signal indicates the measured relative movement or measured force exceeds a predefined threshold.

The controller or control system <NUM> may be an electronic circuit, a microprocessor or computing apparatus comprising one or more processors <NUM> and a memory <NUM> comprising instructions to implement embodiments of the control method <NUM> described herein. The controller <NUM> sends a gripper drive control signal to the one or more gripper drive assemblies to cause the pair of opposing gripping clamps to grip an object. The controller (or an associated controller) is configured to drive robot arm to approach a laying location at step <NUM>. The robot arm then drives the gripper assembly along a placement axis towards the placement surface. In one embodiment the control system is configured to detect initial contact of the gripped object with the placement surface at step <NUM>. The control system continues to monitor the sensor whilst continuing to drive the robot arm until the sensor indicates the measured relative movement or the measured force exceeds a predefined threshold, an in response the controller sends a stop signal to the robot arm to stop applying further laying force at step <NUM>. Finally the object (e.g. a brick) is released at step <NUM> and the gripper assembly is driven away from the laying location.

To further illustrate aspects and advantages of the gripping apparatus, control system and method, a bricklaying robot using an embodiment of the gripping apparatus will now be described with reference to the accompanying figures. <FIG> is a perspective view of a bricklaying robot according to an embodiment and <FIG> is a side view of the bricklaying robot of <FIG>. The bricklaying robot comprises an automated arm <NUM> comprising an internal conveyor that conveys a brick <NUM> (the object) to an end effector <NUM> in the form of adhesive applying and brick laying head (referred to as the layhead).

In this embodiment automated brick laying robot machine <NUM> has a base <NUM> in the form of a truck with a turntable in the form of a tower (or turret) <NUM> supported on a vertical yaw axis, and an articulated arm having a telescoping boom <NUM> supported on the tower <NUM> about a horizontal pitch axis about which the arm may be raised or lowered. The boom <NUM> has a telescoping stick <NUM>, mounted on the end of the boom <NUM> about a horizontal pivot axis, and an end effector <NUM> in the form of an adhesive applying and brick laying head <NUM> mounted to the remote end of the stick <NUM>. For the sake of convenience we will refer to the end effector/ adhesive applying and brick laying head simply as the layhead. The base <NUM> is stabilised relative to the ground <NUM> by legs <NUM> with jack-down feet <NUM>. Bricks are stored in a storage area <NUM> of the truck and a conveyor inside the arm conveys the bricks from the truck <NUM> to the layhead <NUM>.

When the brick arrives at the layhead <NUM>, it is picked up by a 'flipper' clamp <NUM> (as shown in <FIG>) which holds the brick while adhesive is applied and then flips it <NUM> degrees and presents the brick for pickup by an embodiment of the gripper assembly <NUM> at one end of a lay arm <NUM> (e.g. robot arm). However, it is to be understood that this embodiment is illustrative and in other embodiments the robotic equipment could comprise handling equipment such as grippers which are arranged to hold components in an assembly operation, and the objects could be a rectangular, cylindrical or regular polygonal shaped object. In some embodiments the control system <NUM> comprises a computing apparatus located in the truck <NUM> comprising one or more processors <NUM> and a memory <NUM>, and are in communication with a sensor and drive assemblies on the lay arm <NUM> and gripper assembly <NUM>, and are configured to control the operation of the gripping clamps <NUM>.

<FIG> is a perspective view of the end effector of <FIG>, and <FIG> is a side view of an end effector according to an embodiment. As mentioned above, the brick is transported to the layhead <NUM> where a robotically controlled flipper assembly <NUM> having a clamp that receives (grasps) the brick <NUM> and holds it so that an adhesive can be applied using an adhesive dispensing system. Then the brick is flipped <NUM> degrees and presented for pickup (brick 16a) by the lay arm <NUM> that grasps the brick using gripper assembly <NUM> and places the brick (16b) at the desired location on wall <NUM> under control of a control system <NUM>. A vision system is used to determine the precise 6DOF (x, y, z, a, b, c) location of the brick in the local coordinate system of the robot. The lay arm <NUM> uses the 6DOF location to precisely grip and take the brick (16b) from the jaws of the flipper assembly <NUM> using gripping clamps <NUM> and moves it to a position where it is laid on wall <NUM>. The lay arm <NUM> also compensates for movement of the boom, so that the brick is laid in the correct position using a stabilisation and tracking system.

The layhead <NUM> comprises a body <NUM> with arms <NUM> and <NUM> forming a clevis which extends obliquely downward from the body <NUM>. The arms <NUM> and <NUM> have apertures that receive pins to pivotally mount the head <NUM> and the flipper assembly <NUM> about a horizontal axis at the distal end of the stick <NUM>. The layhead <NUM> articulates about a horizontal axis substantially parallel to the articulation axis of the stick <NUM> and the articulation axis of the boom <NUM>. The pose of the layhead <NUM> is controlled by movement of a ram. A first camera assembly <NUM> is mounted on the body <NUM>, a second camera assembly <NUM> is mounted on first arm <NUM> and an adhesive container and adhesive application system <NUM> is located on arm <NUM>. Lights <NUM> are mounted to arms <NUM> and <NUM>. A tracker component <NUM> is located on a mast <NUM> extending from the body <NUM> of the layhead. An additional reference tracker component may be set up on the ground <NUM> adjacent to the robot. The tracker component <NUM> may be a Leica T-Mac or an API STS (Smart Track Sensor). Alternately tracker component <NUM> may be a single SMR (Spherical Mount Reflector) or corner cube reflector, or two or three SMRs or corner cube reflectors or a Nikon iGPS or any other suitable tracking device mounted to the layhead. Preferably the tracker component <NUM> provides real time <NUM> degrees of freedom position and orientation data at a rate of <NUM> or more. The layhead <NUM> may support a camera or laser distance scanner that views the ground <NUM>, objects below the layhead, and determines the location of the layhead or brick laying head <NUM> with respect to the ground <NUM>. As the layhead lays a brick <NUM>, the vision system, another camera or a laser scanner mounted on the layhead may be used to measure the laid brick position so that the height of the laid brick is stored and laterused to adjust the laying height of the dependant bricks that are laid on top of it on the next course.

<FIG> is a side view of the lay assembly (or lay arm <NUM>) of the end effector shown in <FIG> according to an embodiment. <FIG> are partial perspective and underside perspective views of the lay assembly shown in <FIG> according to an embodiment. In this embodiment the lay arm <NUM> is a spherical geometry robot comprising a linearly extendable arm with a gripper assembly <NUM> in the form of a pair of opposing gripping clamps <NUM> fitted at the lower end of the arm. The linearly extendable lay arm <NUM> is mounted to body <NUM> via a mount <NUM> comprising a rotator and a yoke. The arm <NUM> has linear guides which co-operate with bearing cars on the base of the mount to guide linear extension of the arm relative to the mount, to allow the arm <NUM> to move in a direction (typically straight up and down, but this depends on the pose) normal to the axis of the clevis of the mount in order to provide sliding movement of the arm <NUM>. This linear extension of the arm is controlled by a servo motor attached to the base of the mount with reduction drive pulleys connected by a toothed belt driving a pinion engaging a rack located extending along the arm <NUM>. A wrist <NUM> comprises a servo motor controlled mechanism to provide the gripper assembly <NUM> yaw angle adjustment (about the Z or placement axis); wrist pitch angle adjustment <NUM>; and wrist roll angle adjustment <NUM>. The gripping clamps (jaws) <NUM> of the gripper assembly <NUM> are independently movable by servo motors to allow the offset gripping of a brick. The wrist <NUM> acts as a connector body to the drive assemblies in the lay arm <NUM> that drive the gripper assembly along the placement axis (Z-axis).

In one embodiment the lay arm <NUM> is mounted to a gearbox that provides rotation about the X-Axis. In one embodiment the gearbox is a TS240 Twin Spin gearbox in which rotation of the twin spin gearbox is by means of a belt drive configuration, powered by a single self contained <NUM>. 2kW LS Mecapion servo motor and driven via an Elmo Solo Guitar servo drive. The lay arm yoke houses the equipment to control rotation of the lay arm rotator (Y-Axis rotation), this is powered by a single self-contained <NUM>. 0kW LS Mecapion servo motor and driven via an Elmo Solo Guitar servo drive. This servo motor drives a TS240 Twin Spin gearbox via a belt drive configuration to produce rotation in the rotator on one end, an on the other a hollow spigot locates in a sealed cylindrical roller bearing that is housed in the Yoke. The yoke serves as a stiff platform for the rotator to revolve internally. The lay arm rotator houses the equipment to control the lay arm Z-Axis translation. The rotator contains a protruding spur gear (for running on the rack on the lay arm case) on a drive shaft, captured in three roller bearings this is in turn driven by a belt drive configuration with a reduction ratio pulley set. The belt and pulleys are powered by a single self-contained LS Mecapion servo motor and driven via an Elmo servo drive. The external flat face of the rotator houses four linear bearing cars for travel along the lay arm case.

The lay arm <NUM> comprises drive assemblies which in one embodiment comprise three servo drives and other electrical connection components. The servo drives control the servo motors located at the joints. The lay arm <NUM> contains a TS70 Twinspin Gearbox to control rotation about the Y-Axis for wrist joint <NUM>. Rotation of the Twin Spin gearbox at wrist joint <NUM> is by means of a belt drive configuration, powered by a single self-contained <NUM>. 2kW LS Mecapion servo motor and driven via an Elmo Solo Guitar servo drive (inside the lay arm case). The back face of the case is a precision machined plate and holds the rack and linear rails that engage with the rotator. The lay arm wrist <NUM> contains components that control both roll <NUM> about X-Axis and yaw about Z-Axis (the placement axis). Roll <NUM> is controlled via a belt driven TS70 Twinspin Gearbox, powered by a single self-contained <NUM>. 4kW LS Mecapion servo motor and driven via an Elmo Solo Whistle servo drive. The end opposite the gearbox is a spigot engaged with a sealed roller bearing to provide stable roll. Z axis (placement axis) yaw of the lay arm gripper is controlled via a belt driven TS70 Twinspin Gearbox, powered by a single self-contained <NUM>. 4kW LS Mecapion servo motor and driven via an Elmo Solo Whistle servo drive. The driveshaft on this TS70 is hollow to accommodate electrical services wiring, a full rotation slipring (Orbex <NUM>-<NUM>) with a maximum rotational speed of 300rpm abuts the drive shaft to conduct wiring through the hollow driveshaft whilst the wrist is yawing. The stator of the slipring is mounted to the wrist and the rotor mounts inside the hollow driveshaft tube to protect the electrical wiring during rotation. All compensation from feedback and flexibility in the boom is removed via movements of the joints in the layhead <NUM>. The laytower <NUM> will remain Z-Axis aligned to gravity whilst the lay arm <NUM> stabilizes (yaw, pitch, roll, translates) to minimise any brick movement. This will allow the brick <NUM> to be placed with a high degree of accuracy on the wall <NUM>.

<FIG> shows various views of a lay arm gripper assembly <NUM> according to an embodiment. In this embodiment the lay arm gripper assembly <NUM> contains components for gripping and releasing bricks in a housing <NUM> formed from an upper housing <NUM> and lower housing <NUM> that partially enclose a compliance plate <NUM> forming part of the connector body <NUM>. The upper housing is shown in more detail in <FIG> and <FIG>, with <FIG> showing how the compliance plate <NUM> is received in a cavity formed in the upper housing <NUM>. The lower housing <NUM> is formed from the slide rails and working parts of the gripping clamps <NUM> and associated motor and gear components. A sensor <NUM> in the form of a magnetic encoder is used to feedback (to the control system <NUM>) when the brick <NUM> is placed on the wall and the available compliance in the gripper <NUM> has been at least partially used to trigger a stop signal and gripper release signal. In this embodiment the gripper assembly <NUM> has Z-Axis (placement axis) compliance via four short linear bearing rods <NUM> extending up from the compliance plate <NUM> and four linear roller bearings <NUM> located in apertures in upper housing <NUM>. The upper housing <NUM> and lower housing <NUM> define a cavity within which the compliance <NUM> plate is located, and thus allows relative movement between the gripper assembly <NUM> and the connector body <NUM> in the Z axis (placement axis). In this embodiment compliance in Z-Axis is approximately <NUM> and an encoder strip <NUM> (e.g. Renishaw AS10A0060B00) is mounted on the compliance plate <NUM> of the connector body (wrist) adjacent to a magnetic linear encoder read head <NUM> (e.g. a Renishaw LA11SCB08BK10DF00) mounted to the housing <NUM> to read the amount of vertical displacement along the Z-Axis (placement axis). As lay arm <NUM> holds the brick (prior to placement) the compliance in the gripper is at full extension Then, as the lay arm <NUM> drive the gripper assembly <NUM> to place the brick <NUM> on a placement surface <NUM>, the force from placing the brick pushes the magnetic encoder <NUM> up the encoder strip <NUM> telling the control system <NUM> that the brick is ready for release. Stops <NUM> limit the maximum compliance (ie maximum relative movement between the gripper assembly <NUM> and the connector body <NUM>). A shaft <NUM> extends through the compliance plate in the Z axis (placement axis) where it passes through an aperture <NUM> in the upper housing <NUM> where it is received in the wrist (connector body) <NUM> and provides yaw control.

There are two clamping arms <NUM> (or grippers) that are controlled via two motor assemblies comprising two separate belt drive configurations <NUM> and <NUM>, each powered by a single self-contained <NUM>. 1kW LS Mecapion servo motor <NUM><NUM> and driven via an Elmo Solo Whistle servo drive <NUM> mounted in the gripper housing <NUM>. The belt drives turn a lead screw <NUM> and <NUM> that translates the carriage and gripper clamps <NUM>. The carriage is comprised of a linear bearing car attached to the gripper and this runs on a linear bearing rail <NUM> and <NUM>.

As shows in <FIG>, and <FIG>, the compliance plate <NUM> is formed with a cut out portion <NUM>. Similarly the interior walls of the cavity in the housing are formed with a corresponding cut out portion, and a projection in the form of a flanged stop plate <NUM> that rests on or is mounted to a lower surface of the cavity. As the housing moves relative to the compliance plate <NUM>, the flanges of the stop plate <NUM> move upwards in the cut-out potion <NUM> of the compliance plate <NUM>, until they are stopped by a stop surface in the cut-out portion to define a maximum compliance distance. The stop surface is in the X-Y plane (ie orthogonal to the Z placement axis). In this embodiment, and as can be seen in <FIG> the linear encoder detects the relative vertical (Z axis) movement. The linear encoder is a magnetic linear encoder, in which a readhead <NUM> is attached to the upper housing <NUM> and a magnetic scale <NUM> is attached to the compliance plate <NUM> (connector body).

However various modifications and variations are possible as shown in <FIG>. <FIG> is a schematic view of a gripper apparatus prior to placing a brick according to an embodiment, and <FIG> is a schematic view of the gripper apparatus of <FIG> whilst placing a brick according to an embodiment. In this embodiment the housing <NUM> forms a cavity <NUM> within which a connector body <NUM> (eg compliance plate) can move vertically. In this embodiment the dimensions of the cavity limit the movement of the connector body along the Z axis (placement axis) but in other embodiments rails or compliance shafts <NUM> and bearings similar to those shown in <FIG> may be used to limit relative movement of the connector body with respect to the housing to the Z axis. A sensor <NUM> in the form of a linear encoder is located in the interior wall to detect relative movement. In other embodiments other sensors may be used including optical sensors that detect passing of the connector body. As shown in <FIG>, once contact between the brick <NUM> and surface <NUM> has been made, further driving of the connector body <NUM> by the drive assembly results in the housing sliding past the connector body in the opposite direction to the drive force (ie move upwards whilst the connector is driven downwards). The sensor can detect the amount of relative movement and the control system can then issue a stop command once the amount of relative movement exceeds a threshold.

<FIG> show another embodiment using limit switches. In this embodiment, the connector body <NUM> encloses the gripping housing <NUM> which initially rests (under gravity) on the lower surface of the cavity in the connector body. In this embodiment the sensor is a pair of limit switches located on the upper surface of the cavity. Once contact between the brick <NUM> and surface <NUM> has been made, further driving of the connector body <NUM> by the drive assembly results in the housing sliding upwards within the cavity in the opposite direction to the drive force (ie move upwards whilst the connector is driven downwards) until it contacts limit switches <NUM>. These send a signal to the control system indicating sufficient relative movement has occurs so a stop signal can be issued.

<FIG> show another embodiment showing a distance ranging sensor. In this embodiment the connector body <NUM> is connector to a housing <NUM> via compression springs <NUM>. In other embodiments similar elastic members could be used. A distance ranging sensor <NUM>, such as a laser diode based sensor, or ultrasonic transducer is mounted on an underside of the connector and measures the distance from the underside of the connector (or a fixed reference point with respect to the connector) to the brick surface. Once contact between the brick <NUM> and surface <NUM> has been made, further driving of the connector body <NUM> by the drive assembly results in compression of springs <NUM> and a reduction in the distance from the underside of the connector to the brick surface <NUM>. The control system can measure the distance measurements and once a threshold reduction in the relative distance occurs, a stop signal can be sent to the drive assemblies (and optionally a grip release signal).

The above examples illustrate sensors configured to measure changes in the relative distance between the connector body and the housing. However in other embodiments force sensors may be used to measure a force between the gripper assembly and connector body in direction aligned with the placement axis. For example in the above embodiment, rather than using a distance ranging sensor, a force sensor may be used to measure the extension (or compression) of the spring. <FIG> illustrate an embodiment in which a force sensor, such as a strain gauge based load cell, is placed in series between the connector body <NUM> and the housing <NUM>. This is configured to measure the Z axis force. In this embodiment, as the brick <NUM> is placed on the surface <NUM> a reaction force will be transmitted back through the housing and connector body. Thus in this embodiment the control system monitors the force measured by the load cell, and when it detects a Z axis reaction force of sufficient magnitude (ie it exceeds a threshold), a stop signal is issued by the control system. This is illustrated in schematic graph <NUM>.

<FIG> show another variation in which a force sensor, such as a strain gauge is mounted on the gripping clamps <NUM>. In this embodiment the sensor monitors the Z axis force as measured by the strain gauge. In <FIG>, the direction of the Z axis force is shown prior to contact of the brick with the surface. However, as shown in <FIG>, once the brick contacts the surface (and drive force is maintained), the reaction force on the clamps in the Z axis direction will increase in the opposite direction. The control system can measure the Z axis component and trigger a stop signal when it exceeds a threshold value.

In the above embodiments, the robot arm <NUM> drives the connector body <NUM>. <FIG> show another variation in which a first drive assembly drives the gripper apparatus towards the brick. A camera system <NUM> or distance ranging systems detects when the brick <NUM> is close to the placement surface. Then drive assemblies in the gripping clamps <NUM> drive the gripping clamps in a Z direction to drive the brick towards the placement surface. In this embodiment the force sensor shown in <FIG> is used to detect when contact occurs, and sufficient force has been applied. This provides a two stage placement method (eg a coarse/fine control system).

<FIG> show an embodiment using an imaging sensor to indirectly determine when sufficient force has been applied. In this this embodiment a pair of camera sensors <NUM> is located on supports extending laterally from the housing <NUM>. Additionally an excitation light source <NUM> is mounted with the camera to illuminate the field of view <NUM> of the camera. The excitation light source is selected to cause an adhesive <NUM> located on the lower surface of the brick <NUM> to fluoresce or emit radiation when excited by the excitation light source. As shown in <FIG>, once the brick <NUM> contacts the surface, the adhesive <NUM> is extruded out of the gap between the bricks. This then emits light which can be detected by the camera sensor. Automated image processing of the images can detect when a line of fluorescence is observed indicating sufficient force has been applied (ie based on the amount of extruded adhesive). <FIG> shows a sequence of images <NUM> through <NUM>. In image <NUM> a gap between the bricks is observed. Then in image <NUM> the adhesive contacts the surface <NUM>. Then in image <NUM> the two bricks are in contact, but no adhesive is visible as insufficient force has been applied to force extrusion of the adhesive. Finally in image <NUM>, continued application of drive force to the brick forces extrusion of the adhesive which generates a fluorescent line or band along the contact surface. A change detection algorithm can detect the transition from image <NUM> to image <NUM>.

The control system may be a standalone control system or a subsystem of a larger control system for the entire robotic apparatus. In some embodiments the control system is mounted on the lay arm, or is distributed between components on the gripper apparatus and layhead, and central control system components such as a computing apparatus located on the truck.

In one embodiment the processing is performed by one or more computing apparatus <NUM> comprising one or more central processing units (CPU) <NUM>, a memory <NUM>, and an Input/Output interface. The computing apparatus may be a microprocessor or microcontroller or it may be a standalone computer further include a graphical processing unit (GPU), a communications module (if not integrated into the CPU or Input/Output interface), and input and output devices such as keyboard, mouse, touch screen, displays, etc. The CPU may comprise an Input/Output Interface, an Arithmetic and Logic Unit (ALU) and a Control Unit and Program Counter element. The Input/Output Interface may comprise lines or inputs for receiving signals or data from the sensors. A communications module may form part of the CPU or be connected to the CPU via the Input/Output interface, and be configured to communicate with a communications module in another device using a predefined communications protocol which may be wireless or wired (e.g. Bluetooth, WiFi, Zigbee, IEEE <NUM>, IEEE <NUM>, TCP/IP, UDP, etc). The computing apparatus may be a server, desktop or portable computer and may comprise a single CPU (core), multiple CPU's (multiple core), multiple processors, parallel processors, vector processors, or be may be part of a distributed (cloud) computing apparatus. The memory is operatively coupled to the processor(s) and may comprise RAM and ROM components, and secondary storage components such as solid state disks and hard disks, which may be provided within or external to the device. The memory may comprise instructions to cause the processor to execute a method described herein. The memory may be used to store the operating system and additional software modules or instructions. The processor(s) may be configured to load and execute the software code, modules or instructions stored in the memory.

The software modules that contain computer code for implementing the control system described herein may be we written in a high level language such as C# or Java. Image processing functions and related image processing libraries <NUM> such as MATLAB libraries, OpenCV C++ Libraries, ccv C++ CV Libraries, or ImageJ Java CV libraries which implement functions such as object recognition, feature detection, shape and edge detection, segmentation, shape matching, fitting, transformations, rotations, etc, may be used. Similarly statistical and signal processing libraries may be utilised, for example to perform fitting and matching operations. Various database systems and similar data structures may be used to store data regarding the build (eg bricks, images of the placement), etc..

The processing of signals may be performed directly in hardware, in a software module executed by a processor, or in a combination of the two. For a hardware implementation, processing may be implemented within one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, other electronic units designed to perform the functions described herein, or a combination thereof. Software modules, also known as computer programs, computer codes, or instructions, may contain a number a number of source code or object code segments or instructions, and may reside in any computer readable medium such as a RAM memory, flash memory, ROM memory, EPROM memory, registers, or any suitable form of computer readable medium.

A gripping apparatus, and associated control system and method have been described herein. Whilst suited to a construction robot it will be understood that the apparatus, control system and method could be used in other applications where it is necessary to accurately place an object with sufficient but not applying excessive force. Various sensors may be used to either measure a relative movement between the gripper assembly and the connector body in a direction aligned with the placement axis or to measure a force between the gripper assembly and connector body in direction aligned with the placement axis.

Those of skill in the art would understand that information and signals may be represented using any of a variety of technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.

The reference to any prior art in this specification is not, and should not be taken as, an acknowledgement of any form of suggestion that such prior art forms part of the common general knowledge.

Claim 1:
A gripping apparatus (<NUM>) for controllably placing an object (<NUM>), the gripping apparatus (<NUM>) including:
a gripper assembly (<NUM>) mounted to a robot arm (<NUM>) via a connector body (<NUM>), the gripper assembly (<NUM>) including a housing (<NUM>) that supports one or more gripper drive assemblies operatively coupled to a pair of opposing gripping clamps (<NUM>) configured to grip and release an object (<NUM>) in response to one or more gripper drive control signals, and in use the robot arm (<NUM>) is configured to drive the gripper assembly (<NUM>) along a placement axis (<NUM>) towards a placement surface (<NUM>) via the connector body (<NUM>);
a sensor (<NUM>) configured to either measure a relative movement between the gripper assembly (<NUM>) and the connector body (<NUM>) in a direction aligned with the placement axis (<NUM>) or to measure a force between the gripper assembly (<NUM>) and the connector body (<NUM>) in a direction aligned with the placement axis (<NUM>), wherein the sensor generates a sensor output signal based on the measurement; and,
a controller (<NUM>) configured to send a stop signal to the robot arm (<NUM>) to stop further drive of the gripper assembly (<NUM>) along the placement axis (<NUM>) when the sensor output signal indicates the measured relative movement or measured force exceeds a predefined threshold,
characterised in that either the housing (<NUM>) includes a cavity that extends in a direction aligned with the placement axis (<NUM>) and encompasses a flange portion of the connector body (<NUM>) or the connector body (<NUM>) includes a cavity that extends in a direction aligned with the placement axis (<NUM>) and encompasses a flange portion of the housing (<NUM>) and the sensor (<NUM>) is configured to measure the relative movement of the flange portion within the cavity in the direction aligned with the placement axis (<NUM>).