Various embodiments relate to an apparatus for controlling propulsion of a marine vessel, a method for controlling propulsion of a marine vessel, and computer program code for controlling propulsion of a marine vessel.
A foil wheel propulsion system generates thrust by a combined action of a rotation of a fixed point of foils around a centre and an oscillation of the foils that changes their angle-of-attack over time. Some implementations of such a propulsion system are also known as a cyclorotor, a trochoidal propeller, or a Voith-Schneider propeller (VSP). Traditionally, a wheel (or rotor) rotates, and foils (or blades) attached to the wheel change their angle of attack due to a mechanical coupling between the rotation of the wheel and the rotation of the foils.
DE 10060067 A1 discloses a system wherein each foil is separately adjustable, independent of the adjustment of the rotor.
EP 2944556 B1 discloses a control map or an algorithm using various inputs for controlling disc rotation and independent blade rotations.
However, further sophistication in the control of the foil wheel propulsion system is desirable.
According to an aspect, there is provided subject matter of independent claims. Dependent claims define some embodiments.
One or more examples of implementations are set forth in more detail in the accompanying drawings and the description of embodiments.
Some embodiments will now be described with reference to the accompanying drawings, in which
The following embodiments are only examples. Although the specification may refer to “an” embodiment in several locations, this does not necessarily mean that each such reference is to the same embodiment(s), or that the feature only applies to a single embodiment. Single features of different embodiments may also be combined to provide other embodiments. Furthermore, words “comprising” and “including” should be understood as not limiting the described embodiments to consist of only those features that have been mentioned and such embodiments may contain also features/structures that have not been specifically mentioned.
Reference numbers, both in the description of the embodiments and in the claims, serve to illustrate the embodiments with reference to the drawings, without limiting it to these examples only.
The embodiments and features, if any, disclosed in the following description that do not fall under the scope of the independent claims are to be interpreted as examples useful for understanding various embodiments of the invention.
Let us study simultaneously
The apparatus 100 comprises a vessel interface 506 couplable with a vessel control system 106. The vessel control system 106 may interact with a mariner 110 through a user interface 108. The mariner 110 is the person who navigates the marine vessel 102 or assists as a crewmember: a captain, a navigating officer, an officer, an officer of the watch, a helmsman, or other deck crew member, or even a pilot. The user interface 108 implements the presentation of graphical, textual and possibly also auditory information to the mariner 110. The user interface may be used to perform required user actions in relation to maneuvering the marine vessel 102 such as giving propulsion and steering commands. The user interface may be realized with various techniques, such as a rudder, display, keyboard, keypad, buttons, levers, switches, means for focusing a cursor (mouse, track ball, arrow keys, touch sensitive area, etc.), elements enabling audio control, etc. The propulsion and steering commands may relate to a rudder pitch, a driving pitch, and a revolution, for example.
The apparatus 100 also comprises a control interface 508 to control a foil wheel propulsion system 104.
The foil wheel propulsion system 104 comprises a rotatable wheel 204 and a plurality of rotatable foils 214A, 214B, 214C, 214D attached perpendicularly to the wheel 204.
As shown in
The rotatable wheel 204 is powered by a wheel motor 202 and controlled by a wheel controller 200.
Each foil 214A, 214B, 214C, 214D is powered by a foil motor 212A, 212B, 212C, 212D and controlled by a foil drive 210A, 210B, 210C, 210D.
In an embodiment, each motor 212A, 212B, 212C, 212D is an electric motor, and each drive 210A, 210B, 210C, 210D is a controller of the electric energy sent to the motor 202, 212A, 212B, 212C, 212D. In an embodiment, each drive 210A, 210B, 210C, 210D is an inverter such as ABB HES880 mobile drive.
In an embodiment, the wheel motor 202 is an electric motor, and the wheel controller 200 is a wheel drive configured to control electric energy sent to the electric motor 202. In an embodiment, the wheel drive 200 is an inverter such as ABB ACS600 drive.
In an embodiment, the wheel motor 202 is an engine 114, and the wheel controller 200 is configured to electrically control the engine 114. The wheel controller 200 may be configured to change the speed (RPM) of the engine 202, 114, for example. As shown in
Naturally, the electric energy consumed by the electric motors 202, 212A, 212B, 212C, 212D may be produced by any suitable technology usable in the marine vessel 102, including, but not limited to: one or more engines such as diesel motors or a petrol engine, and/or one or more other types of electric energy sources such as a renewable electric energy source, a power plant, or an electric energy storage 116 such as a set of batteries and/or a set of (super)capacitors. Naturally, the engine 114 or the power plant may be used to produce the electric energy stored in the electric energy storage 116.
In an embodiment, the wheel motor 202 is the engine 114 (such as a diesel motor, for example), controlled by the suitable wheel controller 200, whereas the foil motors 212A, 212B, 212C, 212D are electric motors controlled by the foil drives 210A, 210B, 210C, 210D. The engine 114 may be operated with optimum (from the point of view of Specific Fuel Oil Consumption or SFOC) speed, and the described control of the foil pitch function 532 may be used to adjust the needed thrust instead of adjusting the engine 114 speed. This enables multiple configurations in case of hybrid propulsion with power take-off/power take-in (PTO/PTI), energy storages, etc. For example, during smaller propulsion power, the engine 114 is used to charge the batteries 116. The feedforward control may calculate the needed wheel 204 speed (rpm) in the case of the engine-powered wheel 204 and send the reference wheel speed to the control of the engine 114.
The foil wheel propulsion system 104 also comprises a wheel sensor 206 to measure an actual angular wheel position of the wheel 204, and a plurality of foil sensors 216A, 216B, 216C, 216D to measure an actual angular foil position of each foil 214A, 214B, 214C, 214D.
The kinematics of the foil wheel propulsion system may be defined with the equation 1:
where:
λ is the absolute advance coefficient,
va is the ship speed,
ω is the rotation rate of the wheel, and
R is the radius of the wheel.
A trajectory of each foil 214A, 214B, 214C, 214D may be described by trochoids 410, 412, 414 illustrated in
In an embodiment, each foil 214A, 214B, 214C, 214D is configured to propagate along the prolate trochoid 410, where λ<1 and which may also be called an epicycloidal trajectory, or along the curtate trochoid 414, where λ>1 and which may also be called a trochoidal trajectory.
Note that
The apparatus comprises one or more memories 502 including computer program code 504, and one or more processors 500 to execute the computer program code 504 to cause the apparatus 100 to perform the method as an algorithm 526 for controlling the propulsion of the marine vessel 102.
The term ‘processor’ 500 refers to a device that is capable of processing data. Depending on the processing power needed, the apparatus 100 may comprise several processors 500 such as parallel processors, a multicore processor, or a computing environment that simultaneously utilizes resources from several physical computer units (sometimes these are referred as cloud, fog or virtualized computing environments). When designing the implementation of the processor 500, a person skilled in the art will consider the requirements set for the size and power consumption of the apparatus 100, the necessary processing capacity, production costs, and production volumes, for example.
The term ‘memory’ 502 refers to a device that is capable of storing data run-time (=working memory) or permanently (=non-volatile memory). The working memory and the non-volatile memory may be implemented by a random-access memory (RAM), dynamic RAM (DRAM), static RAM (SRAM), a flash memory, a solid state disk (SSD), PROM (programmable read-only memory), a suitable semiconductor, or any other means of implementing an electrical computer memory.
A non-exhaustive list of implementation techniques for the processor 500 and the memory 502 includes, but is not limited to: logic components, standard integrated circuits, application-specific integrated circuits (ASIC), system-on-a-chip (SoC), application-specific standard products (ASSP), microprocessors, microcontrollers, digital signal processors, special-purpose computer chips, field-programmable gate arrays (FPGA), and other suitable electronics structures.
The computer program code 504 may be implemented by software. In an embodiment, the software may be written by a suitable programming language, and the resulting executable code may be stored in the memory 502 and executed by the processor 500.
An embodiment provides a computer-readable medium 510 storing the computer program code 504, which, when loaded into the one or more processors 500 and executed by one or more processors 500, causes the one or more processors 500 to perform the algorithm/method, which will be explained with reference to
The computer program code 504 implements the algorithm 526 for controlling the propulsion of the marine vessel 102. The computer program code 504 may be coded as a computer program (or software) using a programming language, which may be a high-level programming language, such as C, C++, or Java, or a low-level programming language, such as a machine language, or an assembler, for example. The computer program code 504 may be in source code form, object code form, executable file, or in some intermediate form. There are many ways to structure the computer program code 504: the operations may be divided into modules, sub-routines, methods, classes, objects, applets, macros, etc., depending on the software design methodology and the programming language used. In modern programming environments, there are software libraries, i.e. compilations of ready-made functions, which may be utilized by the computer program code 504 for performing a wide variety of standard operations. In addition, an operating system (such as a general-purpose operating system) may provide the computer program code 504 with system services.
In an embodiment, the one or more processors 500 may be implemented as one or more microprocessors implementing functions of a central processing unit (CPU) on an integrated circuit. The CPU is a logic machine executing the computer program code 504. The CPU may comprise a set of registers, an arithmetic logic unit (ALU), and a control unit (CU). The control unit is controlled by a sequence of the computer program code 504 transferred to the CPU from the (working) memory 502. The control unit may contain a number of microinstructions for basic operations. The implementation of the microinstructions may vary, depending on the CPU design.
In an embodiment, the apparatus 100 may be a stand-alone apparatus 100 as shown in
However, in an alternative embodiment, at least a part of the structure of the apparatus 100 may be more or less distributed with another apparatus. In an embodiment, the apparatus 100 functionality is distributed within the actors shown in
In another embodiment, the apparatus 100 is a networked server apparatus accessible through a communication network. The networked server apparatus 100 may be a networked computer server, which interoperates with the vessel control system 106 and the foil wheel propulsion system 104 according to a client-server architecture, a cloud computing architecture, a peer-to-peer system, or another applicable computing architecture.
The communication between actors 100, 104, 106, 108 may be implemented with a suitable standard/proprietary wireless/wired communication protocol, such as an industrial control bus, Ethernet, Bluetooth, Bluetooth Low Energy, Wi-Fi, WLAN, Zigbee, etc.
Let us now study the algorithm/method with reference to
The method starts in 600 and ends in 616. Note that the method may run as long as required (after the start-up of the apparatus 100 until switching off) by looping 614 from an operation 610 back to an operation 602.
The operations are not strictly in chronological order in
In 602, a wheel operation status 520 is received from the wheel controller 200.
In 604, a plurality of foil operation statuses 522 are received from a plurality of foil drives 210A, 210B, 210C, 210D.
In 606, a command 524 is received from the vessel control system 106.
In 608, wheel control data 528 is generated for the wheel controller 200 to control a foil pitch function 532 of the foil wheel propulsion system 104 based on the command 524 in view of the wheel operation status 520.
In 610, foil control data 530 is generated for the plurality of the foil drives 210A, 210B, 210C, 210D to further control the foil pitch function 532 of the foil wheel propulsion system 104 based on the command 524 in view of the wheel operation status 520 and the plurality of foil operation statuses 522. As a part of 610, in 612, a reference torque of the foil control data for each foil drive 210A, 210B, 210C, 210D is generated using a foil feedforward model.
Note that in this application “reference” is a notation used for a set (or desired) control parameter value, whereas “actual” is used for a measured control parameter value.
The foil feedforward model refers to the nature of the control: the command 524 from the vessel control system 106 causes a predefined control of the foil pitch function 532 without responding to how the load of the foils 214A, 214B, 214C, 214D reacts. The control is based on a knowledge regarding the foil pitch function 532 in the form of a mathematical model and on a knowledge regarding disturbances. But a feedback is implemented by the use of the wheel operation status 520 the plurality of foil operation statuses 522. The wheel operation status 520 may include (set) reference control parameter values and (measured) actual control parameter values for the wheel 204. The foil operation statuses 522 may include (set) reference control parameter values and (measured) actual control parameter values for each foil 214A, 214B, 214C, 214D. Note that the control of the wheel 204 may be implemented by a wheel feedforward model.
To achieve high performance (e.g. high efficiency, high thrust, etc.) operation, the foil wheel propulsion system 104 needs to follow the predefined foil pitch function 532 with a high accuracy. However, there are several problems making a motion control of the foil wheel propulsion system 104 difficult. First, a foil pivot point typically is not aligned with a foil principal axis of inertia. A centrifugal torque will be induced due to this misalignment and the wheel rotation. Second, many high efficiency foil pitch functions 532 require a high acceleration and a high acceleration changing rate for the foil motion, which is difficult for the foil motors 212A, 212B, 212C, 212D and foil drives 210A, 210B, 210C, 210D to achieve. Third, for some foil pitch functions 532, such as the epicycloidal trajectory 410 (used by VSP, for example), the foil rotational speed changes rotational directions, which means the foil motors 212A, 212B, 212C, 212D need to compensate a friction torque. In addition to these problems, a hydrodynamic load applied on the foils 214A, 214B, 214C, 214D will also create a foil pitch function tracking error. Errors in following the specified foil pitch function 532 will lead to a degraded propeller performance, an increased wheel motor torque and a reduced efficiency.
The apparatus 100 and the method of
In an embodiment, the reference torque is generated 612 as follows.
In 620, the actual angular wheel position is received as a part of the wheel operation status 520. In 622, an actual wheel speed is received as a part of the wheel operation status 520, or, alternatively, in 630, the actual wheel speed is generated based on a plurality of actual angular wheel positions. In 624, a reference angular foil position is received for each foil 214A, 214B, 214C, 214D as a part of the foil operation status 522. In 626, a reference foil speed is received for each foil 214A, 214B, 214C, 214D as a part of the foil operation status 522. In 628, a reference foil acceleration is received for each foil 214A, 214B, 214C, 214D as a part of the foil operation status 522.
In 612, the reference torque of the foil control data 530 is generated for each foil drive 210A, 210B, 210C, 210D using the feedforward model, whose inputs are the actual angular wheel position, the reference angular foil position, the actual wheel speed, the reference foil speed, and the reference foil acceleration. The reference torque is modified by a position feedback torque describing a difference in torque between the reference angular foil position and the actual angular foil position, and by a speed feedback torque describing a difference in torque between the reference foil speed and the actual foil speed.
The reference angular position θfoil_i_ref for each foil may be defined with the equation 2:
where constants are defined:
N=number of foils per wheel,
i=index of foil along wheel rotational direction,
where sensor measurement signals are:
θwheel=actual angular wheel position (0-360 degrees),
θfoil_i_act=actual angular position (0-360 degrees) of the i:th foil,
and where control commands are:
ec=reference eccentricity,
ψ=reference yaw angle, and
τi_ff=torque feedforward command for the i:th foil.
The reference torque τi_total for the i:th foil motor may be defined with the equation 3:
τi_total=τi_pos_fb(θfoil_i_ref−θfoil_i_act)τi_speed_fb(Ωfoil_i_ref−Ωfoil_i_act)+τi
where:
τi_pos_fb=torque value from position feedback control for the i:th foil,
τi_speed_fb=torque value from speed feedback control for the i:th foil,
τi_ff=torque value from feedforward compensation for the i:th foil,
Ωwheel=actual wheel speed (rotations per minute),
Ωfoil_i_act=reference foil speed for the i:th foil,
Ωfoil_i_ref=reference foil speed for the i:th foil, and
afoil_i_ref=reference foil acceleration for the i:th foil.
The above-described embodiment employing a model-based torque feedforward compensation provides an accurate torque value to compensate for a centrifugal torque, acceleration torque, friction torque and hydrodynamic torque, which all are difficult for the feedback control to realize.
This embodiment may be deployed with at least two different options in the foil drives 210A, 210B, 210C, 210D. In the first option, an external torque control mode is used. The position loop, speed loop and feedforward calculation are performed in the apparatus 100. The sum of the position loop, speed loop and feedforward value is sent to the foil drive 210A, 210B, 210C, 210D as the torque reference. In the second option, a speed controller mode is used. The speed control is running in the foil drive 210A, 210B, 210C, 210D. The position control and feedforward calculation are performed in the apparatus 100. The sum of position loop and feedforward value is sent to the foil drive 210A, 210B, 210C, 210D as the external torque reference. The second option utilizes foil drive 210A, 210B, 210C, 210D resources and reduces the load for the apparatus 100 and the communication between the apparatus 100 and the foil drives 210A, 210B, 210C, 210D.
In an embodiment illustrated with reference to
In 602, the actual angular wheel position is received as a part of the wheel operation status 520. In 632, the actual angular foil position for each foil 214A, 214B, 214C, 214D is received as a part of the foil operation status 522. In 634, an actual foil speed is received as a part of the foil operation status 522, or, alternatively, in 636, the actual foil speed is generated based on a plurality of actual angular foil positions. In 638, an actual foil torque for each foil 214A, 214B, 214C, 214D is received as a part of the foil operation status 522. In 640, one or more parameters are received from the foil pitch function 532.
In 642, 644, 646, a reference foil speed 810, a reference angular foil position 812, and a reference foil acceleration 814 for each foil 214A, 214B, 214C, 214D are generated based on the actual angular wheel position and the one or more parameters.
In 612, the reference torque 820 for each foil 214A, 214B, 214C, 214D is generated based on the reference foil speed 810, the reference angular foil position 812, and the reference foil acceleration 814 for each foil 214A, 214B, 214C, 214D.
In 648, adjusting 648 the reference torque 820 for each foil 214A, 214B, 214C, 214D is adjusted based on the the actual foil torque 822 of each foil 214A, 214B, 214C, 214D.
Optionally, in 650, the reference foil speed 810 for each foil 214A, 214B, 214C, 214D is adjusted based on the actual foil speed 816 of each foil 214A, 214B, 214C, 214D.
Optionally, in 652, the reference angular foil position 812 for each foil 214A, 214B, 214C, 214D is adjusted based on the actual angular foil position 818 of each foil 214A, 214B, 214C, 214D.
Optionally, in 654, the reference foil acceleration 814 for each foil 214A, 214B, 214C, 214D is adjusted using an acceleration feedforward model 804.
As shown in
In an embodiment, the propulsion control may be divided into two functional blocks: a motion reference generation block 700 and a foil motion control block 702. These blocks are illustrated in more detail in
The foil pitch function 532 (i.e., a motion reference) may be a trochoidal function, cycloidal function, sinusoidal function, spline function, or any other type of suitable periodic function.
The period of the foil pitch function 532 is based on the actual angular wheel position θwheel. Every revolution is one period. The wheel 204 is also rotating based on the one or more parameters. The one or more parameters for the wheel 204 may be a rotational speed, or a streaming of angular position, for example.
For example, if the foil pitch function 532 is a trochoidal function or a cycloidal function, the one or more parameters may be a combination of a reference wheel speed Ωwheel_ref, an eccentricity ec of the foil 214A, 214B, 214C, 214D, and a yaw angle ψ. Based on the actual angular wheel position θwheel, the outputs of the motion reference generation block 700, a reference angular foil position θfoil_ref, a reference foil speed Ωfoil_ref and a reference foil acceleration afoil_ref may be defined with the equations 4, 5 and 6:
where:
Se is the sign of the eccentricity.
The foil motion control block 702 receives the reference angular foil position θfoil_ref, the reference foil speed Ωfoil_ref and the reference foil acceleration afoil_ref, and based on the actual angular foil position θfoil_act, the actual foil speed Ωfoil_act and the actual torque τact (or a motor current), generates the reference torque τref for each foil drive 210A, 210B, 210C, 210D. The blade motion control block 702 may be implemented centrally in the apparatus 100 as shown in
In an embodiment, the foil motion control block 702 comprises a position control loop 818, 802, a speed control loop 816, 800, an acceleration feedforward 804 and a torque control loop 822, 806. The position control loop 818, 802 and the speed control loop 816, 800 may be connected in parallel as shown in
The position control loop 818, 802 and the torque control loop 822, 806 may be closed feedback loops. The acceleration feedforward 804 may be an open loop. The speed control loop 818, 800 may be the closed feedback loop as shown in
In an embodiment illustrated with reference to
In 656, a second order derivative 900 is applied on the foil pitch function 532 to generate a torque compensation command 910.
In 658, the torque compensation command is multiplied with a torque compensation constant to generate the reference torque 910 of the foil control data 530 for each foil drive 210A, 210B, 210C, 210D.
In calculus, the second order derivative 900 of a foil pitch function 532 is the derivative of the derivative of the foil pitch function 532. It may be said that the second derivative measures how the rate of change of a quantity is itself changing: the second derivative of the actual angular foil position with respect to time is an instantaneous acceleration of the foil 214A, 214B, 214C, 214D.
Such torque feedforward compensation may improve the pitch control accuracy. A torque compensation command is generated by a control of the foil pitch function 910. The second order derivative is applied on the foil pitch function 532, instead of its output, the reference angular foil position 912, or the actual angular foil position 914. The torque compensation command is multiplied with the torque compensation constant in order to obtain the reference torque 910. Note the reference angular foil position 912 and the actual angular foil position 914 inputted to a position control loop 914, 902, and also a torque control loop 916, 904.
Let us take a foil trochoidal pitch function 532 for example, but the embodiment may be applied also to other pitch functions. After the second order derivative has been applied on the foil trochoidal pitch function 532, the equation 7 is obtained:
where:
afoil is the realized foil acceleration signal,
Ωwheel is the actual wheel speed,
ec is an eccentricity of the foil,
ψ is the yaw angle, and
θwheel is the actual angular wheel position.
Prior art torque feedforward compensation signals come either from an acceleration measurement or from an acceleration command. The compensation originates from the second derivative on the position measurement or position command. The problem is that both signals have noise and, consequently, their second derivate signals have also noise. The signal according to the embodiment gets rid of the noise problem compared to the prior art torque compensation methods.
In an embodiment illustrated with reference to
In 660, a steering command is received from the vessel control system 106 instructing the foil wheel propulsion system 104 to steer the marine vessel 102.
In 608 and 610, wheel control data 528 for the wheel controller 200 and foil control data 530 for the plurality of the foil drives 210A, 210B, 210C, 210D is generated based on the steering command.
So, instead of, or in addition to the propulsion control, also steering control may be performed by the apparatus 100.
In an embodiment, if main propulsion is stopped or lost, individual foils 214A, 214B, 214C, 214D may be controlled like a rudder. The main propulsion may come from the rotation of the wheel 204, but also another propulsion unit may act as the main propulsion. The other propulsion unit may be another foil wheel propulsion system, or another type of a propulsion unit, such as a propeller or an azimuthing propulsion unit, for example. The steering force may be built up with a normal lift force of foils 214A, 214B, 214C, 214D. In this way, this embodiment implements a backup rudder function, but in some cases this embodiment may implement a (main) rudder function. Depending on the implementation, all or some manoeuvring capacity, depending on the available flow 1000 (=vessel speed), is available.
In a normal operation illustrated in
In an alternative operation illustrated in
This embodiment may be used in a double-end ferry (with two or more foil wheel propulsion units 104), where the anterior foil wheel propulsion unit 104 is kept as a ‘rudder’ in order to minimize its drag since it is not efficient to produce the thrust due to big thrust deduction (in the front of vessel), whereas the posterior foil wheel propulsion unit 104 is used to generate the thrust. Also, vessels having at least two foil wheel propulsion units 104 (and for example a diesel-mechanical shaft connection to the propeller) may on lower speeds optimize a load for the operational diesel for lowest SFOC/kW (specific fuel oil consumption). In this way, the drag of the propeller may be minimized (giving possibilities to optimize loading for the power plant/diesels) or to be used for steering as a rudder.
Based on the steering command, the steering may be produced by having the wheel active 204 and foils 214A, 214B, 214C, 214D locked, or the wheel 204 locked and foils 214A, 214B, 214C, 214D active, or keeping the wheel 204 and foils 214A, 214B, 214C, 214D active. In the last option, an angle of attack may be chosen according to a wake-field producing the maximum lift (biggest side force for the steering). On lower speeds, the embodiment provides an analogy to a flap rudder improving the side force by utilizing a bigger angle for the foil 214A, 214B, 214C, 214D on the aft side. The term flap rudder refers to a multi-section rudder, wherein a hinged aft section acts as an additional control surface.
Even though the invention has been described with reference to one or more embodiments according to the accompanying drawings, it is clear that the invention is not restricted thereto but can be modified in several ways within the scope of the appended claims. All words and expressions should be interpreted broadly, and they are intended to illustrate, not to restrict, the embodiments. It will be obvious to a person skilled in the art that, as technology advances, the inventive concept can be implemented in various ways.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2020/066194 | 6/11/2020 | WO |