Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND APPARATUS FOR JOINTLY CONTROLLING MULTIPLE DEVICES
Document Type and Number:
WIPO Patent Application WO/2008/113530
Kind Code:
A1
Abstract:
A method for jointly controlling a plurality n, n being an integer greater than 1, of devices (3, 6, 7, 10) connected to a same communication channel (12), each of said devices D1 (3, 6, 7, 10), 1 = 1,..., n, being capable of assuming a number m1 of states, comprises the steps of a) unambiguously assigning to each combination of states of said n devices an integer code number M, wherein M ε [x, x+Πm1, [, x being an arbitrary number, b) for a combination of states to be set in the devices, selecting the code number M assigned to said combination (m5), c) broadcasting (m2) said code number M to all devices Di1 (3, 6, 7, 10), 1 = 1,..., n via said communication channel (12); d) decoding (s2), in each device (3, 6, 7, 10), the state to be set in that device from said code number M; e) setting (s3) the decoded state in each device (3, 6, 7, 10).

Inventors:
GHONEIM YOUSSEF (SE)
Application Number:
PCT/EP2008/002080
Publication Date:
September 25, 2008
Filing Date:
March 14, 2008
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
GM GLOBAL TECH OPERATIONS INC (US)
GHONEIM YOUSSEF (SE)
International Classes:
G05B19/042
Foreign References:
US5095417A1992-03-10
US5513107A1996-04-30
US5410477A1995-04-25
US5283749A1994-02-01
US20060167565A12006-07-27
Attorney, Agent or Firm:
STRAUSS, Peter et al. (Patentrecht A0-02, Rüsselsheim, DE)
Download PDF:
Claims:

C l a i m s

1. A method for jointly controlling a plurality n, n being an integer greater than 1, of devices (3, 6, 7, 10) connected to a same communication channel

(12), each of said devices Di (3, 6, 7, 10), 1=1, ..., n, being capable of assuming a number rrh of states, comprising the steps of a) unambiguously assigning to each combination of states of said n devices an integer code number M, n wherein M e [x, x+ J ~ Jw, [ , x being an arbitrary

/=ι number , b) for a combination of states to be set m the devices, selecting the code number M assigned to said combination (m5) , c) broadcasting (m2) said code number M to all devices Di (3, 6, 7, 10), 1=1, ..., n via said communication channel (12); d) decoding (s2) , in each device (3, 6, I 1 10) , the state to be set in that device from said code number M; e) setting (s3) the decoded state in each device (3, 6, 7, 10) .

2. The method of claim 1, in which the number m^ of states of at least one of said devices (3, 6, 7, 10) is divisible by a prime number larger than 2.

3. The method of claim 1 or 2 , in which the states of all devices Di, 1=1, ..., n are assigned integer indices Si, j i =0, 1, ..., mi, and in step a) , each combination (S 11 J 1 , S 2 , j 2 / -/ S n , j n } is assigned a code number M = x+ S njn - y n + ∑(S, tl -y,)J ~ ] W 1 , wherein x, y^ are integers .

4. The method of claim 3, wherein a device D] (3, 6, 7, 10) , in step d) , decodes (s2) a received code word M by calculating

where

/ +∞ (o) is the integer nearest to a which is greater than or equal to a,

/_ (α) is the integer nearest to a which is smaller than or equal to a, and

1 \U = n

5. The method of claim 4, further comprising an initializing step of transmitting (ml) to each device Di the state numbers of at least each other device D 1 , ..., D 1-1 , D 1+1 , ..., D n .

6. The method of claim 5, wherein the initializing step (ml) comprises broadcasting the state numbers Hi 1 of all devices D 1 , ..., D n .

7. The method of any of the preceding claims wherein at least one of the devices (3, 6, 7, 10) is a vehicle subcontrol unit, in particular from a group comprising - an all wheel drive controller (7) , at least one state of which corresponds to an all-wheel drive

mode being on, and at least one state of which corresponds to the all-wheel drive mode being off,

- a shock absorber controller, states of which correspond to different degrees of shock damping, - a power steering controller (3), states differ by the degree of driver assistance they provide,

- a steering controller (3), states of which have different relations between steering wheel (1) and front wheel (2) turning angles, - a powertrain controller (7), states of which have different gear shifting characteristics,

- a load controller (6) for controlling motor (5) load according to an accelerator pedal (4) position, states of which correspond to different pedal position / load characteristics, a brake controller (10) .

8. A vehicle control unit (11) for controlling a plurality of subcontrol units D 1 (3, 6, 7, 10) , 1=1, ..., n, comprising selecting means for selecting, for each of said subcontrol units (3, 6, 7, 10) , a scate from a plurality of states supported by said subcontrol unit (3, 6, 7, 10), the states of all subcontrol units Di (3, 6, 7, 10), 1=1, ..., n having integer indices Si, j i, jl=0, 1, ..., m-, , assigned to them, and for determining a code number corresponding to the selected states, wherein x, yi are integers , and broadcasting means for broadcasting the code number M.

The vehicle control unit of claim 8, further comprising means for transmitting to a subcontrol

unit the number of states supported by at least all other subcontrol units .

10. The vehicle control unit of claim 9, wherein the means for transmitting are broadcasting means for broadcasting the number of states supported by all subcontrol units .

11. A vehicle subcontrol unit, in particular from a group comprising

- an all-wheel drive controller (7) , at least one state of which corresponds to an all -wheel drive mode being on, and at least one state of which corresponds to the all-wheel drive mode being off, - a shock absorber controller, states of which correspond to different degrees of shock damping,

- a power steering controller (3), states differ by the degree of driver assistance they provide,

- a steering controller (3), states of which have different relations between steering wheel (1) and front wheel (2) turning angles,

- a powertrain controller (7), states of which have different gear shifting characteristics,

- a brake controller, the subcontrol unit comprising receiving means for receiving a code number M, decoding means for calculating a state number from said code number M, where I + λ a ) is the integer nearest to a which is greater than or equal to a, I_ (ct) is the integer nearest to a which is smaller than or equal to a, x, yi are integers and

state setting means for setting the subcontrol ur.it to the state specified by said state number.

12. The vehicle subcontrol unit of claim 11, in which the receiving means is further adapted to receive the parameters m k .

13. A computer program product comprising program code means for enabling a computer, when carried out on it, to execute at least steps b) and c) of the method of one of claims 1 to 7.

14. A computer program product comprising program code means for enabling a computer, when carried out on it, to execute at least steps d) and e) of the method of one of claims 1 to 7.

15. A data carrier having recorded on it, in computer executable form, the computer program product of claim 13 or claim 14.

Description:

Method and apparatus for jointly controlling multiple devices

D e s c r i p t i o n

The present invention relates to a method and to apparatus for jointly controlling multiple devices, in particular for controlling various subsystem in a motor vehicle .

In recent years, a large variety of control subsystems for motor vehicles have been developed which assist the driver in different respects. A well-known type of control subsystem is an automatic brake control, which detects variations between rotating speeds of the wheels of a vehicle and controls braking force applied to the wheels so as to prevent these from slipping. Another prior art control subsystem known as ESP, electronic stability program, detects a steering wheel angle corresponding to a track curvature desired by the driver, compares it to an actual track curvature and, in case of a substantial discrepancy, brakes certain wheels in order to have the vehicle follow the desired track. Another control subsystem may adapt the damping efficiency of the vehicle suspension to the driving situation, so that e.g. the vehicle occupants may experience a feeling of cruising gently while driving at high speed on a smooth, straight lane, while providing a more direct feedback to the driver while driving e.g. off road.

In order to provide a comfortable driving experience, and, most of all, to enable safe driving, operating states of these various control subsystems must be adapted to each other. If instructions to switch over from one state to another are sent successively to the various subsystems, the subsystems may temporarily be in a combination of states which is ill-adapted to the current driving situation. In order to avoid such a situation, one might consider sending to each subsystem an instruction specifying not only the state which the subsystem is to assume but also a delay after which the changeover to the specified state is to happen, so that instructions may be sent to the subsystems one after the other, but once all instructions have been sent, the changeover can be carried out at the same time in all subsystems. However, for such a scheme to work, the delay must at least be long enough to allow instructions to be sent to each subsystem. Accordingly, there may be a considerable delay between the instant in which a new combination of states for the control subsystems is decided and the instant in which the control subsystems indeed switched over to the new states . This delay is the longer the higher the number of subsystems is, so that it is extremely difficult to integrate new subsystems on an existing platform. Further, the length of the delay must be known before the first instruction is transmitted to a subsystem.

The object of the present invention is, therefore, to provide a method and apparatus for jointly controlling a plurality of devices which allow to send instructions specific to each of the said devices simultaneously to all of these devices.

This object is achieved by a method as defined in claim 1, a vehicle control unit as defined in claim 8, a vehicle subcontrol unit as defined in claim 11, by a computer program product as defined in claim 13 or claim 14, and by a data carrier according to claim 15.

According to the invention, a plurality n, n being an integer greater than 1, of devices, in particular vehicle subcontrol units, connected to a same communication channel, each device Di, 1=1,..., n being capable of assuming a number mi of states, comprises the steps of a) unambiguously assigning to each combination of states of said n devices an integer code number M, n wherein M 6 [x, x+TTm, [, x being an arbitrary number;

/=i b) for a combination of states to be set in the devices, selecting the code number M assigned to said combination; c) broadcasting said code number M to all devices D 3 , 1=1, ..., n via said communication channel; d) decoding, in each device, the state to be set in that device from said code number M; and e) setting the decoded state in each device. n Since the total number of possible combinations is ] ~ |'», ,

/=ι the fact that M is in the interval [x, [ implies n that each integer in [x, x+ ] ~ [w / [ has a combination of

/=ι states unambiguously assigned to it.

The number of states supported by each device is arbitrary, in particular there may be at least one

device, the number of states of which is divisible by a prime number larger than 2.

According to a preferred embodiment, the mi states of each device D x , 1=1,..., n are assigned integer indices Si, j=yi,yi+l, ..., yi+πii-l, wherein yi is an arbitrary integer, preferably 0 or 1, and in step a) , each combination of states (S 11J1 , S 2 , j2 , -, S n , jn } is assigned a code number

This code number may conveniently be decoded in each device Di by calculating s IJI - \ , ( 2 ) where I + λ a ) is the integer nearest to a which is greater than or equal to a,

/_ (α) is the integer nearest to a which is smaller than or equal to a, and

In this way, each device can find out the index of the state it is to assume independently from the other devices. Further, the method is easily adaptable to different versions of the devices supporting different numbers of states, since all a given device has to know about the other devices for correctly decoding the received code word M is the number of states supported by the devices.

By further providing an initialising step of transmitting to each device Di the state numbers of at least each other device D 1 , ..., Di-i, D 1+1 , ..., D n , it is

possible to replace or modify individual devices; for ensuring a correct decoding of the code word, it is sufficient that the state number of a modified device is made known to the other devices .

This can be achieved quickly and simply by broadcasting the state numbers M n of all devices D : ,..., Dr.

Further features and advantages of the invention will become apparent from the subsequent description of embodiments thereof referring to the appended figures.

Fig. 1 is a schematic diagram of a motor vehicle in which the present invention is implemented;

Fig. 2 is a flowchart of an embodiment of the method of the invention; and

Fig. 3 illustrates a specific example of carrying out the method.

Fig. 1 is a schematic diagram of a motor vehicle illustrating in block form some components which are relevant to the present invention. It should be understood that these components are not necessarily essential to the invention, and that the invention may be applicable to other components that those shown, too.

A steering wheel 1 controls the steering angle of front wheels 2 of the motor vehicle by means of a power steering controller 3. The power steering controller 3 has actors for turning the front wheels 2 in proportion to the angular position of steering wheel 1, and actors for exercising on the steering wheel 1, a

counter- torque to a torque imposed by the driver. The power steering controller 3 supports a plurality of operating states which differ from each other by the degree of assistance provided to the driver, i.e. by the proportion between the force required for turning the front wheels 2 and the counter- torque experienced by the driver. The power steering controller 3 further has a so- called Active Front Steering functionality, i.e. it supports a number of states having different ratios between the angle by which the driver turns steering wheel 1 and the corresponding yaw angle of the front wheels 2.

An accelerator pedal 4 controls the load of an engine 5 via an electronic engine controller 6. Engine controller 6 supports a plurality of states which use different characteristics for controlling the motor load as a function of the accelerator pedal position. E.g. there may be a "calm" state in which the load varies little with the pedal position, and there may be a

"nervous" state in which the load varies strongly with the pedal position.

A transmission controller 7 controls a gearbox 8 based primarily on engine load and speed detected by sensors, not shown, at engine 5. A gearshift lever 9 is connected to the transmission controller 7, so as to enable the driver to choose between different states of the transmission controller 7, which use different algorithms for selecting the gear ratio in gearbox 8 based on engine speed and load, or for overriding a gear ratio selected by transmission controller 7.

The transmission controller 7 may also be adapted to switch over between a two-wheel drive state and a four-wheel drive state, either based on the input

from the driver or automatically, based e. g. on driving speed.

Electronic brake controller 10 controls the reaction of brakes, not shown, provided at the vehicle wheels, to the driver pressing a brake pedal 13. The brake controller 10 may implement conventional brake control schemes such as an anti-blocking system or an electronic stability program, and different states of the brake controller 10 may vary in the amount of wheel slippage permitted before the anti-blocking system or the ESP is activated.

A suspension controller, not shown, is provided for controlling the stiffness of the vehicle's wheel suspension, different states of the suspension controller corresponding to different degrees of rigidity it imposes upon shock absorbers of the wheels .

All these controllers 3, 6, 7, 10 are connected as sub-controllers or slave controllers to a master controller 11 by a bus system 12.

The bus system 12 may have a linear structure in which all controllers are connected in parallel to a same bus line and data transmitted on the bus by one of the controllers are received in parallel by all others .

In Fig. 1, the bus system 12 is shown to have an annular structure with bus segments extending from master controller 11 to engine controller 6, from engine controller 6 to transmission controller 7, and so on, and finally, from brake controller 10 back to master controller 11. In such a bus system, the master controller 11 can judge that data sent by it were received correctly by all other controllers, if these

data, after making a complete turn on the bus system 12, are received uncorrupted at the master controller 11 again.

The task of the master controller 11 is to coordinate the various states the sub-controllers 3, 6, 7, 10 can assume based on direct input from the driver, on his driving behaviour, road conditions, or the like. Since not all possible combinations of states of the various sub-controllers ensure a harmonic driving behaviour of the vehicle, it may be necessary to change the states of several controllers simultaneously. An operating method of master controller 11 and an arbitrary one of sub-controllers 3, 6, 7, 10 by which this goal is achieved is described referring to the flowchart of Fig. 2. The method may be implemented by appropriately programming data processing devices which embody the various controllers 3, 6, 7, 10, 11.

In Fig. 2, it is assumed that the number of sub-controllers Di is n, and that each sub-controller Di supports a plurality mi, 1=1,..., n of states. In an initialising step ml, the master controller 11 broadcasts the complete set of state numbers m 1# ..., m n to all sub- controllers. Each sub-controller, in step si, receives the set of state numbers In 1 , ..., m n and records these in a local memory.

The initialising steps ml, si can be carried out whenever the engine is started, or only if modifications to the control system have been carried out, which might have modified the state number m 3 , ..., m n of any of the sub-controllers or the total number n of the sub-controllers. The total number n may also be broadcast in step ml, but this is not compulsory, since

the sub-controllers can tell the number n by counting the state numbers mi, ..., m n received.

The master controller then broadcasts a code number M in step m2. The term "broadcast" is used here to specify that although the bus system 12 is capable of transmitting data accompanied by an address so that they will be taken account of only by the controller to which they are addressed, broadcast data are received and taken account of by all sub-controllers, so that these data need not to be transmitted more than once .

At this time, the code number M can be a default code number specifying a set of states of the sub-controllers which is appropriate for low speed driving and accelerating. Alternatively, it might specify the states in which the sub-controllers were before turning off the engine 5. The master controller 11 then, in step m3 , observes for a certain time the behaviour of the driver, e. g. the frequency and intensity of accelerating and/or braking, road conditions, e.g. roughness, slipperiness etc., and based on these observations, decides in step m4 on a combination of states Si 1J1 , ...,S n1Jn of the various sub-controllers which is suited to the driver's requirements and to the road conditions .

Each of these states has an integer index associated to it, which will be referred to here by S L ,ji, 1=1, ..., n, too. For the sake of convenience, it will be assumed that these indices can take integer values 0, 1, ..., rrii-1. In that case, a code number M is calculated in step m5 for the selected combination of states based on the following formula:

It should be noted here that the indices assigned to the states of device Di might as well begin not with 0 but with an arbitrary integer yi, 1=1, ..., n. In that case, a code number can be calculated according to the formula

What is important is that for the lowest numbered index Si, n i, the term (Si, n i-yi) is 0, in order to ensure that the possible combinations of states of the various sub-controllers are assigned to consecutive integer numbers M.

After calculating the code number M, the method returns to step m2 , and the code number M is broadcasc to the sub-controllers.

Decoding of the code number M in each of the sub-controllers is carried out in step S2 according to the formula where / +∞ (o) is the integer nearest to a which is greater than or equal to a,

/_ (α) is the integer nearest to a which is smaller than or equal to a , and l <n

In the case of x=yi = l for al l 1 = 1 , ... , n , eq .

( 2 ) reduces to

Although all sub-controllers use the same decoding formula (2) or (3), the result of the decoding is specific to each sub-controller and depends on the number 1 assigned to it. Since these numbers need not change in the lifetime of the vehicle, they can be wired in each of the sub-controllers.

Equivalently, decoding may be carried out using the formula

Or, in cas wherein mod denotes the modulo operator, i.e. a mod b is the remainder of an integer division of a by b.

A further equivalent way of decoding is to use the formula s ijl =y l which for x=yχ=0 , reduces to

A numerical example of the encoding and decoding procedure is given referring to Fig. 3. For example it is assumed that three sub-controllers Dl, D2 , D3 exist, supporting mχ=4 , m 2 =3 and m 3 =4 states, respectively. If arbitrary constants x, yα are set to 1, selecting states S 1 =I, S 2 =3 and S 3 =2 gives a code number M=IO.

In the sub-controllers, divisors, N 1 = 12, N ^ =4 , N 3 =I are calculated. Since for 1>1, Ni depends on the number of states supported by sub-controllers D^, k-/-l, N is not wired, so that it can easily be updated in all sub-controllers if the number of states of one of the sub-controllers is changed.

Based on these different divisors, sub- controller D 1 calculates Si=O, D 2 calculates S 7 =2, and Dj calculates S 3 =I. In this way, each sub-controller derives from the same code number M the state which it is to assume. Since the code number M is available at the same time at all sub-controllers, switching of their respective states in step s3 is easily synchronized.