Vehicle steering angle correction

A computer-implemented method using force sensors to adjust steering angles based on measured lateral forces addresses wheel misalignment, enhancing vehicle stability and reducing frame strain.

GB2642444APending Publication Date: 2026-01-14JOTUN AS
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
GB2024009889
Authority / Receiving Office
GB · GB
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-07-08
Publication Date
2026-01-14

AI Technical Summary

Technical Problem

Wheel misalignment in vehicles, particularly those with low tolerance to slip angle, leads to significant forces that can damage the frame and reduce traction, necessitating a solution to maintain wheel alignment and reduce strain on the frame.

Method used

A computer-implemented method using force sensors to measure lateral forces on opposing wheels, determining a steering angle correction factor based on these forces, and adjusting the steering angles of the wheels to compensate for misalignment, thereby reducing frame strain.

Benefits of technology

The method effectively maintains wheel alignment, preventing frame damage and improving traction by dynamically adjusting steering angles in response to measured forces.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

A computer implemented method of controlling a first wheel 104a and a second wheel 104b of a vehicle, where a steering angle of each wheel is individually controllable, is provided. Force measurements
Need to check novelty before this filing date? Find Prior Art

Description

BACKGROUND Wheel misalignment is a potential problem for any kind of vehicle. Perfect wheel alignment means that all wheels rolls along arcs with the same center-point, while misalignment is when the wheel do not point along these ideal arcs. Wheel misalignment can stem from a combination of static errors in steering geometry, deformation of the vehicle, inaccurate control of the steering angles of the wheels etc. Wheel misalignment becomes a significant problem if the wheels of the vehicle does not tolerate slip angle (angle between the rolling and traveling direction of a wheel) and does not exhibit significant self aligning torque (tendency for a wheel experiencing nonzero slip angle to induce a torque in the steering axle in the direction eliminating the slip angle.) For a vehicle with wheels with low tolerance to slip angle, misalignment will result in the wheels following diverging paths. This results in the wheels introducing significant forces into to vehicle frame as it moves. These forces are potentially damaging to the frame and potentially use up all available traction. SUMMARY Embodiments of the present disclosure relate to directly observing the lateral forces between a frame of a vehicle and each of a first wheel and second wheel that are coupled to the frame. The first wheel and second wheel are on opposing sides of the vehicle. For example, a lateral axis may extend between the centres of the first wheel and the second wheel, or the first wheel and the second wheel may be slightly offset from one another (one of the wheels may be positioned closer to the front of the vehicle than the other). Taking the difference of lateral forces experienced by the first (e.g. left) wheel and second (e.g. right) wheel provides the tension or compression between the wheel pair, and embodiments of the present disclosure relate to determining this force experienced by the frame (which may be tension or compression) and compensating for this by turning one or both of the wheels in a counteraction manor to thereby relieve strain experienced by the frame. One example of a vehicle having wheels with low tolerance to slip angle is a robot for cleaning the surface of a vessels’ hull having magnetic wheels enabling the robot to adhere to ferrous hulls via magnetic force. The wheels may include a resilient layer on the surface of the wheels to improve the friction between the wheels and the surface. The resilient layer may be relatively thin in comparison to the diameter of the wheel, for example it may be less than 2% of the wheel diameter, optionally less than 1.7%. In direct terms this may imply a thickness of less than 3 mm. Typically this applies to wheel diameters in the range between 150 and 220 mm. It is an advantage to avoid unduly increasing the spacing between the magnetic elements of the wheel and the surface of the vessel's hull, since this would reduce the magnetic force holding the robot to the hull. The resilient layer may be an elastic material with rubber-like properties, such as rubber compounds or resilient polymer compounds, such as PUR. There is a need for cleaning of vessels’ hulls since the condition of the hull can vary over time. The speed of degradation of coatings on the hull and the speed of build-up of fouling may vary depending on the conditions experienced by the vessel, which themselves depend on the activity of the vessel in terms of the amount of time spent at sea and in port, and the locations in which the vessel travels. It is desirable to allow for operations to be performed on the vessels’ hull, such as cleaning to remove fouling, by a hull cleaning robot. The robot must adapt to the double curvature of the hull of the vessel to keep the wheels in contact with the hull. The turning radius of such a hull cleaning robot is important to accommodate efficient cleaning operations. As such, the wheels of at least one pair of wheels of the robot are each able to independently rotate about an axis extending normal to the contact surface of the wheels. The wheels of at least one pair of wheels of the robot may also be propelled individually. Under operation, for example forces applied by mechanical structures of a vessel’s hull (e.g. hull curvature, welds, outlet holes, markings, wedges, etc.), sea current, weight of the robot, as well as drag from any umbilical cable (that extends from the robot to a computing device on-board the vessel) will affect the robot frame, bending it and as a result twisting the wheels out of the assumed position. This makes correct wheel alignment challenging. This has a number of disadvantages. As a result of the wheel misalignments, the heading of the robot will be influenced thereby affecting the cleaning operation. As the wheels are drawn out of alignment, the forward motion will add strain and cause bending to the frame of the robot. At a certain point the wheels may slip back to position and a sliding, potentially falling event will occur whereby the robot becomes detached from the hull. Furthermore the frame may be permanently damaged, reducing operability and lifetime of the robot. Not controlling the slipping that might appear due to “toe-in / toe-out” deviations in a sufficient matter could also potentially damage the coating on the hull of the vessel due to increased friction between wheel and surface. Damaging the coating surface may increase the roughness of the surface which may increase frictional drag leading to increased fuel consumption and green-house gas emissions. If significant damage to the surface occurs, this may require early maintenance which then requires the vessel to enter dry-dock for coating reapplication. Maintenance requires substantial amounts of time, manpower and coating material. Whilst for some vehicles, known solutions are aimed at maintaining the steering angle of the vehicle / heading-angle. In the methods described herein the steering angle may be sacrificed to minimize strain in the frame of the vehicle. According to one aspect of the present disclosure there is a provided a computer implemented method of controlling a first wheel and a second wheel of a vehicle, wherein a steering angle of each of the first wheel and the second wheel is individually controllable, the computer implemented method comprising: receiving a first force measurement from a first force sensor, the first force sensor arranged to measure a lateral force experienced by the first wheel; receiving a second force measurement from a second force sensor, the second force sensor arranged to measure a lateral force experienced by the second wheel; determining a force experienced by a frame coupled between the first wheel and the second wheel based on a difference between the first force measurement and the second force measurement; determining a travel direction of the vehicle, the travel direction being a forward direction or a rearward direction; determining a steering angle correction factor based on the force experienced by the frame and the travel direction of the vehicle; and controlling at least one of a first steering angle module coupled to the first wheel and a second steering angle module coupled to the second wheel, based on the steering angle correction factor. In some implementations, the steering angle correction factor is (i) a toe-in correction factor in response to a tension force experienced by the frame and the travel direction being a forward direction, or a compression force experienced by the frame and the travel direction being a rearward direction; or (ii) a toe-out correction factor in response to a compression force experienced by the frame and the travel direction being a forward direction, or a tension force experienced by the frame and the travel direction being a rearward direction. The method may further comprise: determining a force experienced by the frame over a time period by the vehicle; wherein the determining the steering angle correction factor is based on the force experienced over the time period. The method may further comprise: determining a force experienced by the frame over a distance travelled by the vehicle; wherein the determining the steering angle correction factor is based on the force experienced over the distance travelled by the vehicle. The method may further comprise: determining a rate of change of the force experienced by the frame based on a distance travelled by the vehicle; wherein the determining the steering angle correction factor is based on the rate of change of the force experienced by the frame. The determining the travel direction may comprise determining a displacement of the vehicle. The determining the displacement of the vehicle may be based on at least one of: (i) a displacement measurement received from a first displacement sensor that is configured to sense the displacement of the vehicle based on rotation of the first wheel; (ii) a displacement measurement received from a second displacement sensor that is configured to sense the displacement of the vehicle based on rotation of the second wheel; and iii) a displacement measurement received from a further displacement sensor that is configured to sense the displacement of the vehicle based on rotation of a further wheel of the vehicle. The determining the displacement of the vehicle may be based on at least one of: (i) an angular rotational velocity of the first wheel sensed by a first displacement sensor that is configured to measure the angular velocity of the first wheel, and (ii) an angular velocity of the second wheel sensed by a second displacement sensor that is configured to measure the angular velocity of the second wheel, and an angular velocity of a further wheel sensed by a further displacement sensor that is configured to measure the angular velocity of a further wheel of the vehicle. According to another aspect of the present disclosure there is provided a non-transitory computer-readable storage medium comprising instructions which, when executed by a processor of a vehicle, cause the processor to perform any of the computer implemented methods described herein. The instructions referred to herein may be provided on a carrier such as a disk, CD- or DVD-ROM, programmed memory such as read-only memory (Firmware), or on a data carrier such as an optical or electrical signal carrier. Code (and / or data) to implement embodiments of the present disclosure may comprise source, object or executable code in a conventional programming language (interpreted or compiled) such as C, or assembly code, code for setting up or controlling an ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array), or code for a hardware description language. According to another aspect of the present disclosure there is provided a vehicle comprising: a first wheel and a second wheel; a frame coupled between the first wheel and the second wheel; a first force sensor arranged to measure a lateral force experienced by the first wheel, and a second force sensor arranged to measure a lateral force experienced by the second wheel; a first steering angle module coupled to the first wheel, and a second steering angle module coupled to the second wheel; and a processor configured to receive a first force measurement from the first force sensor, and a second force measurement from the second force sensor, determine a force experienced by the frame based on a difference between the first force measurement and the second force measurement; determine a travel direction of the vehicle, the travel direction being a forward direction or a rearward direction; determine a steering angle correction factor based on the force experienced by the frame and the travel direction of the vehicle; and control at least one of the first steering angle module and the second steering angle module based on the steering angle correction factor. The first force sensor may be configured to measure the lateral force experienced by the first wheel based on measuring: a linear force applied by the first wheel on the frame along a lateral axis; or a torque force experienced by the first wheel around a longitudinal axis that is perpendicular to the lateral axis. In some implementations, the first steering angle module is configured to control a steering beam coupled to the first wheel, the steering beam is coupled to the frame via a first plate, and the first force sensor is located on one or more surfaces of the first plate. The first force sensor may be located on one or more surfaces of the frame. The first force sensor may comprise at least one strain gauge. The second force sensor may be configured to measure the lateral force experienced by the second wheel based on measuring: a linear force applied by the second wheel on the frame along a lateral axis; or a torque force experienced by the second wheel around a longitudinal axis that is perpendicular to the lateral axis. In some implementations, the second steering angle module is configured to control a steering beam coupled to the second wheel, the steering beam is coupled to the frame via a second plate, and the second force sensor is located on one or more surfaces of the second plate. The second force sensor may be located on one or more surfaces of the frame. The second force sensor may comprise at least one strain gauge. The first force sensor and the second force sensor may be housed within a sealed container that prevents water ingress. The angular velocity of each of the first wheel and the second wheel may be individually controllable. The vehicle may be a robot for cleaning the surface of a vessel’s hull and the robot includes a cleaning mechanism. The cleaning mechanism may be a cylindrical brush with the axis of the cylinder generally parallel to the hull surface and the brush being arranged to rotate about its axis to apply a cleaning action to the surface when it is in contact with the surface. The first wheel and the second wheel may be magnetic enabling the robot to adhere to ferrous materials via magnetic forces. These and other aspects will be apparent from the embodiments described in the following. It will be appreciated that features from one aspect may be combined with the features of another aspect. The scope of the present disclosure is not intended to be limited by this summary nor to implementations that necessarily solve any or all of the disadvantages noted herein. BRIEF DESCRIPTION OF THE DRAWINGS For a better understanding of the present disclosure and to show how embodiments may be put into effect, reference is made to the accompanying drawings in which: Figure 1 shows a hull cleaning robot in perspective view; Figure 2 shows a frame of the hull cleaning robot; Figure 3 illustrates forces experienced by the frame; Figure 4 illustrates a measureable linear force and torque force which may be measured to determine a lateral force experienced by the frame; Figure 5 is a schematic block diagram of a vehicle; Figure 6 illustrates a method of controlling a first wheel and a second wheel of a vehicle; Figure 7 illustrates PID controller functionality which may be implemented by a CPU of the vehicle; Figures 8 and 9 illustrates an arrangement of strain gauges positioned on an upper surface of a plate which is configured to couple a wheel’s vertically extending steering beam to the frame; Figure 10 illustrates how two strain gauges may be arranged in a half-bridge circuit; Figure 11 illustrates an arrangement of strain gauges positioned on an upper and lower surface of a plate which is configured to couple a wheel’s vertically extending steering beam to the frame; Figure 12 illustrates how four strain gauges may be arranged in a full-bridge circuit; Figure 13 illustrates arrangements of strain gauges positioned on a wheel bracket of a hull cleaning robot; Figure 14 illustrates arrangements of strain gauges positioned on camber links of a hull cleaning robot; Figure 15 illustrates an arrangement of strain gauges positioned on a wheel bracket of a hull cleaning robot; and Figures 16a-c illustrates arrangements of strain gauges positioned on a frame of a hull cleaning robot. DETAILED DESCRIPTION Embodiments will now be described by way of example only. Embodiments are first described with reference to a vehicle being in the form of a robot 100 (shown in Figure 1) for cleaning the surface of a vessels' hull. It will be appreciated that the robot 100 described herein may be used for cleaning the surface of other manmade objects such as off-shore drilling platforms. As shown in Figure 1, the robot 100 comprises a plurality of wheels 104 which are coupled to a frame 102. The example robot 100 shown in Figure 1 comprises four wheels but the robot 100 may have less, or more than, four wheels. The robot 100 includes a cleaning mechanism 106, which may include a rotary cylindrical brush. The cleaning mechanism 106 is attached to the frame 102. The cleaning mechanism 106 shown in Figure 1 is attached to the front of the robot 100, however this is merely an example. The robot 100 may comprise one or more sealed containers which are waterproof and sealed to prevent water ingress. The sealed containers can therefore house electronics that are vulnerable to water damage. The frame 102 itself may form a sealed container. Alternatively the frame 102 may form a chassis to which a sealed container may be mounted. The frame 102 may be divided into two separate parts that are coupled together. In particular the frame 102 may be divided into a front portion and rear portion that can rotate in relation to each other (e.g. around the x-axis.) Embodiments of the present disclosure relate to controlling a first wheel and a second wheel of a vehicle. The first and second wheel are positioned on opposing sides of the vehicle. Embodiments of the present disclosure are described with reference to controlling the front left (FL) wheel 104a and the front right (FR) wheel 104b. Embodiments of the present disclosure extend to alternatively, or additionally, controlling the rear left (RL) wheel 104c and rear right (RR) wheel (not shown in Figure 1). The wheels 104 of the robot 100 are magnetic, in order to adhere to ferrous hulls. The wheels 104 include permanent magnets arranged around the circumference of the wheel and held within a metal housing. The robot 100 is driven by the wheels 104. A thin layer (cover, lining) of a resilient material such as a rubber or polymer material may be formed around the outside of the wheel in order to distribute the contact with the hull. During a cleaning operation, the robot 100 traverses the hull surface of a vessel at the sides, as well as the bilge in-between the sides and the bottom of the hull. It grips to the hull surface using only the magnetic wheels 104, i.e. there are no other mechanisms to adhere the robot 100 to the hull in the example embodiments described herein. The front left wheel 104a and the front right wheel 104b may be propelled individually with a respective propulsion module. Additionally or alternatively, the rear left wheel 104c and rear right wheel may be propelled individually with a respective propulsion module. Each propulsion module comprises an electric motor and any necessary gearing, which may be located partially or completely, within a respective wheel 104. As the robot 100 travels forwards (in a positive x-direction) or backwards (in a negative x-direction) as it traverses the hull surface of a vessel, lateral forces (in the y-direction) may be experienced between the frame and the front left wheel 104a. Similarly, as the robot 100 travels forwards (in a positive x-direction) or backwards (in a negative x-direction) as it traverses the hull surface of a vessel, lateral forces (in the y-direction) may be experienced between the frame and the front right wheel 104b. Figure 2 illustrates a portion of the frame 102 that is coupled between the front left wheel 104a and the front right wheel 104b. A similar portion of the frame 102 may be coupled between the rear left wheel 104c and the rear right wheel. It is this portion of the frame 102 that may experience tension or compression due to the lateral forces between each wheel and the frame. Figure 2 further illustrates a propulsion module 204a for driving the front left wheel 104a, and a propulsion module 204b for driving the front right wheel 104b. However, it will be appreciated that the front left wheel 104a and the front right wheel 104b may not be individually propelled. For example, the rear left wheel 104c and rear right wheel may be individually propelled. That is, the first wheel and second wheel that are controlled in accordance with embodiments of the present disclosure may be individually propelled, but this is not a requirement. The wheels 104 are steered about axes perpendicular to the frame 102, i.e. generally perpendicular to the hull surface since the frame 102 will often sit perpendicular to the hull surface. As shown in Figure 2, a vertically extending steering beam 202a is arranged to be controlled to steer the front left wheel 104a, and a vertically extending steering beam 202b is arranged to be controlled to steer the front right wheel 104b. It should be noted that references to “vertical” are in relation to a vertical of the robot, i.e. perpendicular to the surface on which the robot stands, and independent of the direction of the gravity force. To further illustrate the force experienced by the portion of the frame 102 that is coupled between the front left wheel 104a and the front right wheel 104b, reference is made to Figure 3 which illustrates a top view of the front left wheel 104a and the front right wheel 104b. The wheels have independent steering angles with the front left wheel 104a having a steering angle denoted 0i and the front right wheel 104b having a steering angle denoted 0r. In the example of Figure 3, each wheel is rolling in a slightly different direction. Assuming the wheels do not slip sideways this will introduce tension or compression forces into the frame 102. When a sum of a lateral force (Fi) experienced by the front left wheel 104a (which is referenced to be positive in the direction shown) and a lateral force (Fr) experienced by the front right wheel 104b (which is referenced to be positive in the direction shown), is positive, a tension force will be experienced in the frame 102. When a sum of the lateral force (Fi) experienced by the front left wheel 104a and the lateral force (Fr) experienced by the front right wheel 104b is negative, a compression force will be experienced in the frame 102. If the vehicle is driving forwards and experiences rising tension in the frame coupled between a pair of wheels, it can be deduced that the wheel pair is misaligned. In this case, the wheel pair is forced apart by the forward motion implying that the wheels are toed-out. If the vehicle drives forward and tension decreases this implies that the wheels are misaligned in a toe-in fashion. Similar observations can be made when the vehicle is driving in reverse: rising tension indicates toe-in misalignment and falling tension indicates toe out misalignment. If the observed tension forces stay at the same level when the vehicle is driven forwards or backwards the wheels coupled to the frame 102 are perfectly aligned. If the vehicle is stationary no information of the alignment can be inferred. As a result of an appropriate location and / or orientation of a force sensor on the vehicle, a force sensor may directly measure the lateral force (Fw) experienced by a wheel. As a result of the location and / or orientation of a force sensor on the vehicle, a force sensor may detect multiple forces which are proportional to the lateral force (Fw) experienced by the wheel. In these scenarios it is desirable that these detected multiple forces have the same direction. In order to measure the lateral force (Fw) experienced by a wheel, a force sensor may measure the linear force (Ff) applied by the wheel on the frame 102 along the lateral y-axis and / or the torque (Tf) around the longitudinal x-axis where the steering beam 202 is coupled the frame 102 (from which the linear force (Fw) can be derived). This is illustrated in Figure 4 in relation to the front left wheel 104a, whereby Fw denotes the lateral force experienced by the front left wheel 104a (corresponding to Fi shown in Figure 3), Ff denotes the linear force applied by the front left wheel 104a on the frame 102 along the lateral y-axis and Tf denotes the torque force. The longitudinal x-axis shown in Figure 4 extends perpendicular to an axis between the wheels, and perpendicular to a lever arm z-axis. The lever arm length (r) is the length along the lever arm z-axis between a coupling point (at which the steering beam 202 is coupled to the frame 102) and the contact patch of the wheel. As shown in Figure 4, the lateral force (Fw) experienced by a wheel is approximately equal to the linear force (Ff) applied by the wheel on the frame 102 along the lateral y-axis. In particular, the sum of the lateral force (Fw) experienced by the wheel and an additional force component dependent on a mass of the vehicle (e.g. a mass of the vehicle components between the wheel contact patch and frame) may equal the linear force (Ff) applied by the wheel on the frame 102 along the lateral y-axis. A measurement of the linear force (Ff) applied by the wheel on the frame 102 along the lateral y-axis may be taken as a measurement of the lateral force (Fw) experienced by a wheel, or the lateral force (Fw) experienced by a wheel may be computed based on the measured linear force (Ff) and this additional force component. A force sensor may be positioned so that it measures both the linear force (Ff) and the torque (Tf) at the same time with the same sign as this increases sensitivity and signal to noise ratio. If a force sensor is positioned so that it measures both the linear force (Ff) and the torque (Tf), but with opposing sign, they would partially or fully cancel each other out which is not desirable. A force sensor may be positioned so that is measures only one of the linear force (Ff) and the torque (Tf). Figure 5 illustrates a simplified view of components of a vehicle comprising four wheels. A shown in Figure 5, the vehicle comprises a central processing unit (“CPU”) 500, to which is connected a memory 510. The functionality of the CPU 500 described herein may be implemented in code (software) stored on a memory (e.g. memory 510) comprising one or more storage media, and arranged for execution on a processor comprising one or more processing units. The storage media may be integrated into and / or separate from the CPU 500. The code is configured so as when fetched from the memory and executed on the processor to perform operations in line with embodiments discussed herein. Alternatively, it is not excluded that some or all of the functionality of the CPU 500 is implemented in dedicated hardware circuitry (e.g. ASIC(s), simple circuits, gates, logic, and / or configurable hardware circuitry like an FPGA. Each wheel is associated with a steering angle module 502 that is coupled to a steering beam 202 arranged to control the steering angle of the wheel. The CPU 500 is configured to communicate with each steering angle module 502a-d to individually control the steering angle of each wheel. Each steering angle module 502 may be housed in a dedicated enclosure that is mounted to the frame 102. One or more pairs of wheels are associated with a propulsion module 204 for driving the wheels. That is, the front left wheel 104a may have a propulsion module 204a and the front right wheel 104b may have a propulsion module 204b. Alternatively or additionally, the rear left wheel 104c may have a propulsion module 204c and the rear right wheel may have a propulsion module 204d. The CPU 500 is configured to communicate with each propulsion module 204 to control the angular velocity of each wheel. In implementations whereby embodiments of the present disclosure are used to control the front left wheel 104a and the front right wheel 104b, the vehicle comprises a force sensor 506a arranged to measure a lateral force experienced by the front left wheel 104a, and a force sensor 506b arranged to measure a lateral force experienced by the front right wheel 104b. In implementations whereby embodiments of the present disclosure are used to control the rear left wheel 104c and the rear right wheel, the vehicle comprises a force sensor 506c arranged to measure a lateral force experienced by the rear left wheel 104c and a force sensor 506d arranged to measure a lateral force experienced by the rear right wheel. The CPU 500 is configured to receive force measurements from each force sensor 506. A force sensor may comprise one or more strain gauge (e.g. one, two or four strain gauges) arranged in a suitable strain gauge circuit (e.g. a quarter-bridge, half-bridge, or full-bridge strain gauge circuit). When a force sensor comprises two strain gauges, they may be arranged in a halfbridge configuration. It is preferable that the two strain gauges are placed on a structure of the robot in a way that makes it so that one strain gauge experiences compression while the other experiences tension when the structure is loaded in the y-direction. Forces in other directions should preferably either load both strain gauges in the same direction (so they cancel out) or not at all to make sure there is good isolation. When a force sensor comprises four strain gauges, they may be arranged in a full-bridge configuration. Strain gauges acts as variable electrical resistors with resistance proportional to the strain. Strain gauges may be directional, so that they only react to strain in a single direction. Half-bridge is an electrical configuration where two strain gauges are connected in series with an excitation voltage applied to them. The voltage measured at the midpoint between them is used to quantify the difference in strain experienced by the two strain gauges. The data acquisition for the strain gauges of a force sensor may be performed by a separate strain gauge measurement controller of the force sensor. The strain gauge measurements are converted to a measured force inside a strain gauge measurement controller and transmitted to the CPU 500. Other types of force sensor may also be used. For example a force sensor may comprise one or more load cells which are structures engineered to deflect in certain directions in predictable ways that are instrumented by strain gauges. It would also be possible to engineer part of a structure of the robot to deflect more and use an encoder, hall-effect sensor, or similar displacement sensors to measure this deflection instead of a strain gauge. The vehicle may also comprise one or more displacement sensors 508. That is, the vehicle may comprise a displacement sensor 508a that is configured to sense the displacement of the vehicle based on rotation of the front left wheel 104a, a displacement sensor 508b that is configured to sense the displacement of the vehicle based on rotation of the front right wheel 104b, a displacement sensor 508c that is configured to sense the displacement of the vehicle based on rotation of the rear left wheel 104c, and / or a displacement sensor 508d that is configured to sense the displacement of the vehicle based on rotation of the rear right wheel. A displacement sensor referred to herein may measure displacement directly and output a measurement signal comprising a measured displacement to the CPU 500. For example the displacement sensor may be a rotary encoder. A displacement sensor referred to herein may measure the angular velocity of a wheel from which the displacement of the vehicle can be derived. In these embodiments, the CPU 500 is configured to receive a displacement measurement based on the angular velocity of the wheel. For example, the displacement sensor may output the angular velocity to the CPU 500. Alternatively, the displacement sensor may derive a linear velocity based on the sensed angular velocity and output the linear velocity to the CPU 500. Alternatively, the displacement sensor may derive a linear velocity based on the sensed angular velocity, and determine the displacement based on the linear velocity and a time period over which the angular velocity was sensed, and output the determined displacement to the CPU 500. Figure 6 illustrates steps performed in a method 600 of controlling a first wheel and a second wheel of a vehicle in accordance with embodiments of the present disclosure. For example the method 600 may be performed by the CPU 500. As explained above embodiments of the present disclosure are described with reference to controlling the front left (FL) wheel 104a and the front right (FR) wheel 104b. At step S602, the CPU 500 receives a first force measurement (F / [N]) from the force sensor 506a arranged to measure a lateral force experienced by the front left wheel 104a. At step S604, the CPU 500 receives a second force measurement (F^N]) from the force sensor 506b arranged to measure a lateral force experienced by the front right wheel 104b. At step S606, the CPU 500 determines a force experienced by the frame 102 coupled between the front left wheel 104a and the front right wheel 104b based on a difference between the first force measurement (F / [N]) and the second force measurement (F,{N]). At step S608, the CPU 500 determines a travel direction of the vehicle, the travel direction being a forward direction or a rearward direction. Various methods may be employed for determining the travel direction of the vehicle. The CPU 500 may determine a travel direction of the vehicle by determining a relative displacement of the vehicle, whereby the sign of the displacement will indicate whether the vehicle is moving in a forward or rearward direction. As noted above, the CPU 500 may receive a measured displacement from one or more displacement sensors 508. Alternatively, the CPU 500 may receive an angular velocity or linear velocity measurement from one or more displacement sensor 508 from which the displacement can be derived. The CPU 500 may determine a travel direction of the vehicle by determining a linear velocity of the vehicle, whereby the sign of the linear velocity will indicate whether the vehicle is moving in a forward or rearward direction. For example, the CPU 500 may receive a measured angular velocity from one or more displacement sensor 508 from which the linear velocity can be derived. Alternatively, the CPU 500 may receive a linear velocity measurement directly from one or more displacement sensor 508. At step S610, the CPU 500 determines steering angle correction factor based on the force experienced by the frame 102 determined at step S606 and the travel direction of the vehicle determined at step S608. At step S612, the CPU 500 controls at least one of the steering angle module 502a coupled to the front left wheel 104a and the steering angle module 502b coupled to the front right wheel 104b, based on the steering angle correction factor. In one example, at step S610 the CPU 500 may determine the steering angle correction factor as (i) a toe-in correction factor in response to a tension force experienced by the frame 102 and the travel direction being a forward direction, or a compression force experienced by the frame 102 and the travel direction being a rearward direction; or (ii) a toe-out correction factor in response to a compression force experienced by the frame 102 and the travel direction being a forward direction, or a tension force experienced by the frame 102 and the travel direction being a rearward direction. An algorithm executed by the CPU 500 to implement this functionality would be simple to implement, however the applied steering correction would flip back and forth between two extremes, but it would on average zero out and keep tension and compression forces experienced by the frame 102 at zero. This functionality may be described in the following decision table: Sensing tension No sensed force Sensing compression Driving forwards Toe in correction No correction Toe out correction Stationary No correction No correction No correction Driving backwards Toe out correction No correction Toe in correction Table 1 A preferable algorithm should apply the correction more gradually and smoothly, but still overall according to the functionality as described above. It should converge to steady state where the steering angle correction is equal to the true misalignment and there is no tension or compression between the wheel pair. The binary decisions shown in Table 1 and described above can be changed to corrections that are proportional to the current measured force (e.g. tension or compression) experienced by the frame 102. As the correction in this scheme will go to zero as the measured force approaches zero it will not be able to force the system to a steady state without any tension or compression if the vehicle is misaligned. To guarantee this, a secondary correction may be added that considers the force (e.g. tension or compression) experienced by the frame 102 over time or driven distance. To determine the force (e.g. tension or compression) experienced by the frame 102 over time or driven distance, the CPU 500 is configured to obtain a first force measurement (F / [N]) and a second force measurement 6{N] at multiple acquisition instances. In one example, the CPU 500 may be configured to determine a steering angle correction factor that gradually adds to the correction according to Table 1. If the decision table indicates to determine a toe-in correction factor, the steering angle correction factor may be adjusted slightly towards toe in. Preferably, this adjustment is proportional to the measured force (e.g. tension or compression) experienced by the frame 102. Over time this secondary correction will reflect the average toe correction needed to remove all tension, which is the same as the misalignment if the misalignment is static. The ability of the CPU 500 to remove tension or compression if the misalignment is not static depends on the scaling of the different contributions. The CPU 500 may be configured to add an additional correction based on, for instance, how quickly the measured force (e.g. tension or compression) experienced by the frame 102 changes as this may allow the other correction terms to do larger correction without hurting overall performance. In any case, it will be appreciated that the optimal scaling of the different contributions depends on the specific vehicle. Figure 7 illustrates PID controller functionality which may be implemented by the CPU 500. As shown in Figure 7, the first force measurement (F / [N]) and second force measurement (F4N]) are compared as described to obtain an error F which indicates the force (e.g. tension or compression) experienced by the frame 102 between a wheel pair. This error F is supplied as an input into a PID controller that calculates a smooth and gradual steering angle correction factor, which may be applied symmetrically to the front left wheel 104a and the front right wheel 104b. The PID controller functionality shown in Figure 7 is not a typical time domain formulation. Instead, it is based on distance driven. This is how the information about the direction and the distance the vehicle has driven is introduced into the functionality of the CPU 500. This reformulation also makes sure that the CPU 500 tuning will be independent of the vehicle’s velocity. The velocity may be the average of the velocity of all four wheels of the vehicle. The continuous equations for modified P, I, and D contributions may be: P = Kpsign(v)F I = Kt F ds dF Kd d s Where F is the force experienced by the frame corresponding to a difference between a first force measurement (F / [N]) and a second force measurement F4N], v is the vehicle’s velocity, and s is the driven distance. The Kp, K, and Kd values are tuning parameters which are used to scale / tune the different contributions referred to above. Here, the l-component corresponds to the secondary correction referred to above which considers the force (e.g. tension or compression) experienced by the frame 102 over driven distance. In this example, the l-component is calculated by integrating over distance, and multiplied by the tuning parameter Kj. Furthermore the D-component corresponds to the additional correction referred to above. The equations must be discretized to be realizable by the CPU 500. The CPU 500 is configured to continually obtain values for F at discrete time steps, based on a first force measurement (F / [N]) and a second force measurement Fr[N]. The PID contributions at time step k can be approximated by the following discrete equations: P(k) = Kp sign(y(k)')F(k') I(k) = I(k -1) + Ki hs(k)F(k) F(k) - F(k - 1) As(k) As(fc) = v(fc)Af Note that sign function is not a normal sign function, but a relaxed sign function that gradually scales from 0 to ±1 around zero. If the velocity of the vehicle is positive then sign(v(k)) will equal a positive value proportional to the input that is <+1, if the velocity of the vehicle is negative then sign(v(k)) will equal a negative value proportional to the input that is >-1, if the velocity of the vehicle is zero then sign(v(k)) will equal zero. The output of the sign function is never outside the ±1 bounds. A similar heuristic may also be applied to the D contribution. The sign(v(k)) component may be obtained at step S608 when the CPU 500 determines the travel direction of the vehicle. The values for As(k) and v(k) may be obtained by the CPU 500 based on communication with one or more displacement sensor 508, as described above. It will be appreciated that the above equations may be rewritten to use sign( since this is the same as sign(v(k)). The time step k may be based on a 100Hz sample period for a correction interval of 1cm at 1m / s movement of the vehicle. As noted above, the secondary correction may consider the force (e.g. tension or compression) experienced by the frame 102 over time instead of driven distance. In these embodiments, the continuous equations for P, I, and D contributions may be: P = Kpsign(y)F I = Ki sign(v)F dt to d^sign^F) U = Ka-----;----- d dt and the PID contributions at time step k can be approximated by the following discrete equations: P(k) = Kpsign(v(ky>F(k) I(k) — I(k— 1) + Ki sign^v(k)^F(k)^t , . r z ^F(k)-F(k-1) D(k) = Kdsign(y(k))-----—----- The l-component in this example may result in the CPU 500 reacting as quickly (per time) independent of the vehicle’s velocity. This means the CPU 500 will make larger corrections relative to the driven distance when going slowly than when driving fast. The scaling factor Kj may be made dependent on the vehicle’s speed (gain-scheduling) to remedy this. The force sensors described herein may be positioned at a number of different locations on the robot, examples of which are provided below. Ideally a direct measurement of the tension / compression in the frame 102 (i.e. of the force F shown in Figure 3) would be made. Since this is not possible, in embodiments of the present disclosure the force sensors are used to measure the lateral force applied at each side of the vehicle (by the wheels). For the accuracy of this indirect measurement it is desirable that the force sensors only measure the lateral component on each side of the vehicle. Thus, it is preferable that the placement of the force sensors is such that the force sensors only pick up lateral force. The force sensors may be housed within a sealed container that prevents water ingress e.g. a container formed by the frame. As shown in Figure 8 the frame 102 coupled between the front left wheel 104a and the front right wheel 104b, may have a hole or recess in which a plate 800 is arranged to be positioned in. The plate 800 may be metal. As shown in Figure 8, the plate 800 may comprise a hole 802 which is sized so as to enable a vertically extending steering beam 202 to extend through the hole. The plate 800 acts to couple the vertically extending steering beam 202 to the frame 102. Whilst the plate 800 is shown as having a circular or disc-like shape, this is merely an example. A force sensor may be positioned on the plate 800. In particular, one or more components of the force sensor may be positioned on an upper and / or lower surface of plate 800. As explained above, a force sensor may comprise one or more strain gauge. Figure 9 illustrate an example whereby two strain gauges are both located on an upper surface of the plate 800. In particular, a first strain gauge 902 and a second strain gauge 904 are positioned on opposing sides of the plate 800. Figure 10 illustrates components of a force sensor comprising the two strain gauges 902,904. In the example of Figure 10, the strain gauges 902,904 are arranged in a half-bridge circuit. The strain gauge measurement controller 1002 of the force sensor is configured to convert the measured voltage to a force which is transmitted to the CPU 500. In the example of Figures 9 and 10, the two strain gauges 902,904 will detect the linear force (Ff) applied by the wheel 104 on the frame 102 along the lateral y-axis and the torque (Tf) around the x-axis thereby reducing sensitivity. However forces along the z-axis would advantageously not be detected by the two strain gauges 902,904. Whilst the two strain gauges 902,904 are shown as being mounted to the upper surface of the plate 800, they may alternatively be mounted to the lower surface of the plate 800. In fact, placing the strain gauges on the lower surface may provide better measurement accuracy as the deformation from torque around the x-axis and force along the lateral y-axis work in the same direction on the underside of the plate 800. Figure 11 illustrate an example whereby two strain gauges 1102,1104 are located on an upper surface of the plate 800, and two strain gauges 1106,1108 are located on a lower surface of the plate 800. In particular, a first strain gauge 1102 and a second strain gauge 1104 are positioned on opposing sides of the upper surface of the plate 800, and a third strain gauge 1106 and a fourth strain gauge 1108 are positioned on opposing sides of the lower surface of the plate 800. Figure 12 illustrates components of a force sensor comprising the four strain gauges 1102,1104,1106,1108. In the example of Figure 12, the four strain gauges 1102,1104,1106,1108 are arranged in a full-bridge circuit. The strain gauge measurement controller 1002 of the force sensor is configured to convert the measured voltage to a force which is transmitted to the CPU 500. In the arrangement shown in Figure 12, only the torque around the x-axis would be measured. By switching the positions of the strain gauge 1102 and strain gauge 1104 on the plate 800, or by switching the positions of the strain gauge 1106 and strain gauge 1108, only the linear force (Ff) applied by the wheel 104 on the frame 102 along the lateral y-axis would be measured. That is, as it is possible to isolate only a single torque / force. A wheel of the robot 100 may comprise a yoke 1300 that is coupled to a bracket 1320. This is illustrated in Figure 13. The yoke 1300 comprises a supporting member 1302 which extends generally parallel to the hull surface. The supporting member 1302 is coupled to the vertically extending steering beam 202. The yoke 1300 further comprises camber links 1304,1306 and camber links 1308, 1310. The bracket 1320 extends around a wheel and may be fixed to a housing of the propulsion module 204 (if present) for driving the wheel. As shown in Figure 13 the camber links 1304,1306 and camber links 1308, 1310 are coupled between the supporting member 1302 and the bracket 1320. The camber links 1304,1306 extend from the supporting member 1302 to a front surface of the bracket 1320 which is facing the direction of travel when the robot 100 is travelling forwards in a straight line. The camber links 1308, 1310 extend from the supporting member 1302 to a rear surface of the bracket 1320 which is facing the direction of travel when the robot 100 is travelling backwards in a straight line. The camber links allow the wheel to shift in camber in order to maintain a secure magnetic contact with the hull even if there is an uneven and / or curved hull surface A force sensor may be positioned on the bracket 1320. In particular, one or more components of the force sensor may be positioned on the front surface and / rear surface of the bracket 1320. As explained above, a force sensor may comprise one or more strain gauge. Figure 13 illustrates an example whereby a force sensor comprises two strain gauges 1312,1316 whereby the strain gauge 1312 is located on the front surface of the bracket 1320 and the strain gauge 1316 is located on the rear surface of the bracket 1320. The two strain gauges 1312,1316 form an inner pair of strain gauges. Figure 13 illustrates a further example whereby a force sensor comprises two strain gauges 1314,1318 whereby the strain gauge 1314 is located on the front surface of the bracket 1320 and the strain gauge 1318 is located on the rear surface of the bracket 1320. The two strain gauges 1314,1318 form an outer pair of strain gauges. A force sensor may be positioned on one or more of the camber links. The camber links 1304,1306 have a front surface which is facing the direction of travel when the robot 100 is travelling forwards in a straight line. The camber links 1308, 1310 have a rear surface which is facing the direction of travel when the robot 100 is travelling backwards in a straight line. One or more components of the force sensor may be positioned on the front surface of the camber links 1304,1306 and / or the rear surface of the camber links 1308, 1310. Figure 14 illustrates an example whereby a strain gauge 1412 is located on the front surface ofcamber link 1304, and a strain gauge 1414 is located on the front surface of camber link 1306. Additionally or alternatively, a strain gauge may be located on the rear surface of camber link 1308, and a strain gauge may be located on the rear surface of camber link 1310. It is preferable for a force sensor to comprise a strain gauge located on the front surface of a front camber link (e.g. camber link 1304,1306) and a strain gauge located on the rear surface of a rear camber link (e.g. camber link 1308,1310), so as to avoid the force sensor detecting the torque applied by the steering angle module to twist the wheel. The bracket 1320 may comprise side portions which extend generally perpendicular to the front surface and rear surface of the bracket 1320. In particular, the bracket 1320 may comprise one or more inner side portions 1504 which may be fixed to a housing of the propulsion module 204 for driving the wheel, and an opposing outer side portion 1506. As noted above, a force sensor may be positioned on the bracket 1320. In particular, one or more components of the force sensor may be positioned on one or both inner side portions 1504 of the bracket and / or the outer side portion 1506. Figure 15 illustrates an example whereby a strain gauge 1502 is located on an inner side portion 1504 of the bracket 1320. Two strain gauges may be located on respective inner side portions 1504 as shown in Figure 15 on opposing sides of the wheel. As shown in Figures 16a-c, a force sensor may be positioned on the frame 102. The arrangements shown in Figures 16a-c advantageously enable the force sensor to measure the linear force (Ff) applied by the wheel 104 on the frame 102 along the lateral y-axis directly. Furthermore, the linear force (Ff) can be isolated with only two strain gauges compared with requiring four strain gauges in the arrangements shown in Figures 11 and 12 in which the strain gauges are positioned on the plate 800. One or more components of the force sensor may be positioned on an upper surface of the frame 102 and / or a lower surface of the frame 102. Figures 16a and 16b illustrate an example whereby a strain gauge 1602 is located on an upper surface of the frame 102 and a strain gauge 1604 is located on an opposing lower surface of the frame 102. Additionally or alternatively, one or more components of the force sensor may be positioned on one or more vertically extending sidewalls of the frame 102. Figure 16c illustrate an example whereby a strain gauge 1606 is located on a vertically extending sidewall of the frame 102 and a strain gauge 1608 is located on an opposing vertically extending sidewall of the frame 102. Whilst embodiments of the present disclosure have been described with reference to a robot 100 for cleaning the surface of a vessels’ hull or the surfaces of other man-made objects, embodiments extend to other vehicles comprising wheels which may be individually controllable and comprises a frame coupled between wheels that may experience tension and / or compression forces.

Claims

1. A computer implemented method of controlling a first wheel and a second wheel of a vehicle, wherein a steering angle of each of the first wheel and the second wheel is individually controllable, the computer implemented method comprising:receiving a first force measurement from a first force sensor, the first force sensor arranged to measure a lateral force experienced by the first wheel;receiving a second force measurement from a second force sensor, the second force sensor arranged to measure a lateral force experienced by the second wheel;determining a force experienced by a frame coupled between the first wheel and the second wheel based on a difference between the first force measurement and the second force measurement;determining a travel direction of the vehicle, the travel direction being a forward direction or a rearward direction;determining a steering angle correction factor based on the force experienced by the frame and the travel direction of the vehicle; andcontrolling at least one of a first steering angle module coupled to the first wheel and a second steering angle module coupled to the second wheel, based on the steering angle correction factor.

2. The computer implemented method of claim 1, wherein the steering angle correction factor is (i) a toe-in correction factor in response to a tension force experienced by the frame and the travel direction being a forward direction, or a compression force experienced by the frame and the travel direction being a rearward direction; or (ii) a toe-out correction factor in response to a compression force experienced by the frame and the travel direction being a forward direction, or a tension force experienced by the frame and the travel direction being a rearward direction.

3. The computer implemented method of claim 1 or 2, wherein the method further comprises:determining a force experienced by the frame over a time period by the vehicle;wherein the determining the steering angle correction factor is based on the force experienced over the time period .

4. The computer implemented method of claim 1 or 2, wherein the method further comprises:determining a force experienced by the frame over a distance travelled by the vehicle;wherein the determining the steering angle correction factor is based on the force experienced over the distance travelled by the vehicle.

5. The computer implemented method of any preceding claim, wherein the method further comprises:determining a rate of change of the force experienced by the frame based on a distance travelled by the vehicle;wherein the determining the steering angle correction factor is based on the rate of change of the force experienced by the frame.

6. The computer implemented method of any preceding claim, wherein the determining the travel direction comprises determining a displacement of the vehicle.

7. The computer implemented method of claim 6, wherein the determining the displacement of the vehicle is based on at least one of: (i) a displacement measurement received from a first displacement sensor that is configured to sense the displacement of the vehicle based on rotation of the first wheel; (ii) a displacement measurement received from a second displacement sensor that is configured to sense the displacement of the vehicle based on rotation of the second wheel; and iii) a displacement measurement received from a further displacement sensor that is configured to sense the displacement of the vehicle based on rotation of a further wheel of the vehicle.

8. The computer implemented method of claim 6, wherein the determining the displacement of the vehicle is based on at least one of: (i) an angular rotational velocity of the first wheel sensed by a first displacement sensor that is configured to measure the angular velocity of the first wheel, and (ii) an angular velocity of the second wheel sensed by a second displacement sensor that is configured to measure the angular velocity of the second wheel, and an angular velocity of a further wheel sensed by a further displacement sensor that is configured to measure the angular velocity of a further wheel of the vehicle.

9. A non-transitory computer-readable storage medium comprising instructions which, when executed by a processor of a vehicle, cause the processor to perform the computer implemented method of any preceding claim.

10. A vehicle comprising:a first wheel and a second wheel;a frame coupled between the first wheel and the second wheel;a first force sensor arranged to measure a lateral force experienced by the first wheel, and a second force sensor arranged to measure a lateral force experienced by the second wheel;a first steering angle module coupled to the first wheel, and a second steering angle module coupled to the second wheel; anda processor configured toreceive a first force measurement from the first force sensor, and a second force measurement from the second force sensor,determine a force experienced by the frame based on a difference between the first force measurement and the second force measurement;determine a travel direction of the vehicle, the travel direction being a forward direction or a rearward direction;determine a steering angle correction factor based on the force experienced by the frame and the travel direction of the vehicle; andcontrol at least one of the first steering angle module and the second steering angle module based on the steering angle correction factor.

11. The vehicle of claim 10 wherein the first force sensor is configured to measure the lateral force experienced by the first wheel based on measuring:a linear force applied by the first wheel on the frame along a lateral axis; ora torque force experienced by the first wheel around a longitudinal axis that is perpendicular to the lateral axis.

12. The vehicle of claim 10 or 11 wherein the first steering angle module is configured to control a steering beam coupled to the first wheel, the steering beam is coupled to the frame via a first plate, and the first force sensor is located on one or more surfaces of the first plate.

13. The vehicle of claim 10 or 11 wherein the first force sensor is located on one or more surfaces of the frame.

14. The vehicle of any of claims 10 to 13, wherein the first force sensor comprises at least one strain gauge.

15. The vehicle of any of claims 10 to 14, wherein the second force sensor is configured to measure the lateral force experienced by the second wheel based on measuring:a linear force applied by the second wheel on the frame along a lateral axis; or a torque force experienced by the second wheel around a longitudinal axis that is perpendicular to the lateral axis.

16. The vehicle of any of claims 10 to 15 wherein the second steering angle module is configured to control a steering beam coupled to the second wheel, the steering beam is coupled to the frame via a second plate, and the second force sensor is located on one or more surfaces of the second plate.

17. The vehicle of any of claims 10 to 15, wherein the second force sensor is located on one or more surfaces of the frame.

18. The vehicle of any of claims 10 to 17, wherein the second force sensor comprises at least one strain gauge.

19. The vehicle of any of claims 10 to 18, wherein the first force sensor and the second force sensor are housed within a sealed container that prevents water ingress.

20. The vehicle of any of claims 10 to 19, wherein the angular velocity of each of the first wheel and the second wheel is individually controllable.

21. The vehicle of any of claims 10 to 20, wherein the vehicle is a robot for cleaning the surface of a vessel’s hull and the robot includes a cleaning mechanism.

22. The vehicle of claim 21, wherein the cleaning mechanism is a cylindrical brush with the axis of the cylinder generally parallel to the hull surface and the brush beingarranged to rotate about its axis to apply a cleaning action to the surface when it is in contact with the surface.

23. The vehicle of claim 21 or 22, wherein the first wheel and the second wheel are 5 magnetic enabling the robot to adhere to ferrous materials via magnetic forces.31

Citation Information

Patent Citations

  • Wheel alignment controller

    JP1993178049A

  • method AND DEVICE FOR DETERMINING DURING DRIVING THE FRICTION BETWEEN THE ROAD AND THE WHEEL OF A VEHICLE

    SE513217C2

  • Independent control of vehicle wheels

    US10488172B1

  • Vehicle wheel suspension arrangement

    US20010030400A1

  • Method for determining a wheel grip coefficient by simultaneous clamping

    US20120053786A1