Abstract:
A control system for controlling the functionality of an electrically powered vehicle is described. The control system comprises a plurality of control modules in electronic communication with each of the control modules being programmed to implement a specific control function for the vehicle. The control modules comprise a first memory for storing data for implementing the control function, and the system further comprises at least one second memory for storing data for implementing each control function of the separate modules, wherein the data can be recorded to the second memory from the control modules.

Description:
CROSS-REFERENCES TO RELATED APPLICATIONS 
     Not Applicable 
     STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT 
     Not Applicable 
     THE NAMES OF THE PARTIES TO A JOINT RESEARCH AGREEMENT 
     Not Applicable 
     INCORPORATION-BY-REFERENCE OF MATERIAL SUBMITTED ON A COMPACT DISC 
     Not Applicable 
     BACKGROUND OF THE INVENTION 
     The present invention relates to a control system for controlling functionality of an electrically powered vehicle, in particular but not exclusively a wheelchair. 
     Powered wheelchairs typically have customised settings for a particular user, for example a maximum acceleration to limit the forces upon a user&#39;s body. Known wheelchair control systems offered generally comprises a plurality of modules each responsible for the control of a specific aspect of the wheelchair operation, for example lighting control, seating control and the like. 
     The programming of the modules with specific user settings is a time consuming process. In some cases it can represent a considerable investment by a wheelchair distributor or provider, but is desirable for the comfort and safety of the user. 
     The modules&#39; programmable data is typically stored in non-volatile memory such that the data will be retained if the power is lost. This allows for the system to remain configured if batteries are replaced or if the wheelchair is dismantled for transportation in a vehicle. 
     From a functional point of view it may be considered desirable for each module to store its own settings internally. This simplifies the system management since no other modules need to be involved, but it does have two drawbacks, the first regarding module replacement and the second regarding systems containing more than one module of the same or similar type. 
     The primary advantage of a module storing its own settings is that no other modules need interpret the size or meaning of the data stored by that module. Effectively, the module is self-contained. If the manufacturer develops a new version of the product with extra features, the new module can fit into an existing system, and the user can take advantage of the new features, with no need to change any of the existing modules in any way. 
     If a module develops a control system fault, it may be difficult to repair in situ. Instead, where the service personnel identify a faulty module, they will replace it and return the faulty module to a service centre. If the settings for the faulty module reside within the module, it can be a time-consuming task to copy the settings and program them into the replacement module. The procedure may also be susceptible to human error. Hence it is desirable for the system to store the settings for each module, and for the settings for a replacement to be changed automatically. 
     Where systems contain more than one module, it may be desirable for some of their programmable settings to be common. Separate storage for each module would work against this, requiring each module to be set up independently. It is possible to work around this using a more powerful programming tool, but it is better to establish a common data source for identical modules. 
     BRIEF SUMMARY OF THE INVENTION 
     In accordance with this invention as seen from a first aspect, there is provided a control system for controlling functionality of an electrically powered vehicle, the control system comprising a plurality of control modules in electronic communication, each of said control modules programmed to implement a specific control function for the vehicle and having first memory means for storing data for implementing said control function, said system further comprising at least one second memory means for storing data for implementing each said control function, wherein said data can be recorded to said second memory means from said control modules. 
     Thus the data for implementing the control function of a given module may be stored on the second memory means. In the event that the given module is replaced with a replacement module, the data may be copied from the second memory means to the replacement module. Thus, the replacement module will be able to function identically to the replaced module without being manually programmed to do so. 
     Preferably, said second memory means further holds data for implementing said control function that is common to at least two control modules of said plurality of control modules. 
     In accordance with this invention as seen from a second aspect, there is provided a control system for controlling functionality of an electrically powered vehicle, the control system comprising a plurality of control modules in electronic communication, each of said control modules programmed to perform a specific control function for the vehicle and having first memory means for storing data for implementing said control function, said system further comprising at least one second memory means for storing data for implementing said control functions of said plurality of control modules, wherein said second memory means further stores data which is common to at least two control modules thereby permitting data sharing between said at least two control modules. 
     In accordance with this invention as seen from a third aspect, there is provided a control system for controlling functionality of an electrically powered vehicle, the control system comprising a plurality of control modules in electronic communication, each of said control modules programmed to perform a specific control function for the vehicle and having first memory means for storing data for implementing said control function, said system further comprising at least one second memory means for storing data for implementing said control functions of said plurality of control modules, wherein said control modules determine when data is to be recorded to said second memory means or when data is to be read from said second memory means. 
     This provides for a flexible control system in which individual modules can determine when data transfer to or from the second memory means is required. 
     Preferably, said second memory means is housed in a control module. 
     Preferably, said data held by said second memory means can be transferred to said plurality of control modules. 
     Preferably, said control modules determine when data is to be transferred to said control modules from said second memory means. 
     Preferably, all control modules can access said second memory means. 
     Preferably, new control functions are compatible with existing control functions. 
     Preferably, only one of said plurality of control modules can access said second memory means at a given time. 
     Optionally, said second memory means is remote from said vehicle. 
     Optionally, said second memory means is not physically connected to said vehicle. 
     Preferably, said second memory means is housed in a control module which has the minimal likelihood of replacement compared to other modules in the system. 
     Preferably, the data stored in said second memory means is retained when power is removed. 
     Preferably, said system provides control of a motorized vehicle. 
     Preferably, said second memory means is housed in a vehicle motor controller. 
     In accordance with this invention as seen from a fourth aspect there is provided an electrically powered vehicle comprising a control system according to the first, second or third aspect of the invention. 
    
    
     
       BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S) 
       The preferred embodiment of this invention will now be given by way of example only and with reference to the accompanying drawings in which: 
         FIG. 1  illustrates a powered vehicle; and, 
         FIG. 2  illustrates a control system for the powered vehicle. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       FIG. 1  illustrates an electrically powered vehicle, in this example a wheelchair  1  having front wheels  2  and back wheels  3 . Power for the wheelchair  1  is provided by a battery  4  and drive for the back wheels  3  is provided by a motor arrangement  5 . A user manipulable input means  6 , for example a joystick, is used by a user (not shown) to control movement of the wheelchair  1 . The wheelchair  1  further comprises a module based control system  10  for controlling various functions of the wheelchair  1 . 
     Referring to  FIG. 2 , the control system  10  comprises a plurality of modules A-F connected via a cable  20  which routes control signals and power between the modules A-F. Each module separately provides a distinct function of wheelchair operation such as wheelchair motor control, joystick control, seating control and lighting control etc, but when networked, the modules A-F cooperatively provide for the safe control of the powered wheelchair  1 . 
     In the described system embodying the present invention, power is derived from the wheelchair&#39;s battery  4  and is provided to the network of modules via a wheelchair motor controller (not shown). Each module is programmed to perform certain functions and hold specific features, for example a user preferred maximum speed setting of a motor controller, or a user specific seating setting of a seating controller. The modules are thus programmed to meet the specific requirements of the user. 
     Each module comprises a non-volatile memory  15  for holding settings that are unique to that particular module. In addition however, one of the modules (in this example module A) comprises a storage facility, hereinafter referred to as a repository, R, for the data used by other modules. 
     The repository R is effectively a filing system. Data can be stored in it during manufacture and data can be stored in it and retrieved from it by other modules during use. In this manner, each module can share the settings of other modules such that if one module is replaced, its replacement will be able to read its settings from the repository R and then behave in an identical way to its antecedent, without any intervention by the user, dealers or servicing staff. 
     The repository R contains a number of slots, areas of non-volatile memory, each of which can contain a file(s). A file is a collection of bytes which contains a header, which is recognisable to the repository R, and data. The header holds the address of the data and is descriptive of the data contained within the file. The data on the other hand is not necessarily recognisable to the repository R and is exchangeable between modules. Only one module of the present embodiment can make use of the repository R at a time and while it has access to the repository R, only one slot is available at a given time. However, it is also envisioned that for certain operations, such as copying data from one file to another, it may be more efficient to provide another slot. 
     Preferably, the module housing the repository R has the minimal likelihood of replacement compared to other modules in the system and for it to always be present, however the system is configured. For wheelchair control systems, a good candidate is the wheelchair motor controller itself. 
     A procedure is provided (separate from the functions of the repository R) whereby if a new module is added to the system, all the modules detect that the new member is present and the system reconfigures. For example, when a new module is added to the system, the new module may transmit a signal to the other modules to inform the other modules of its addition to the system. During the re-configuration, the new module checks the repository R to see if there are any files relevant to its operation and decides whether to read the contents of the file which if necessary will cause the module to be reprogrammed to function in the same way as the one it replaces. 
     If a replacement module has some new programmable features, the versions of one or more of the files it uses will have been changed to include the new data. If such a module is added to a system, it can upgrade the corresponding file in the repository R with new version. The module initially reads the file from the repository and decides whether to merge the data it has read with the data it contains internally. The module then writes the new version of the file to the repository. Once the new settings have been stored, only the new version will be available such that any module attempting to read that file will only be able to access the new version. 
     Each new version of a file format is designed to be compatible with the previous version. Thus, modules which only make use of the data in an older version of the file are still able to find that data in any newer version and interpret it correctly. 
     Since all the modules of a particular type use the same file types, they all have access to common data. Whenever the data in that file is modified, for example by a programming tool or by any other module, the repository R notifies all the other modules that the relevant file has changed. Modules that make use of that data will independently synchronise with the new data at a time determined by each module. This does not mean however, that the modules will behave identically; all modules can be differentiated such that data targeted at particular modules can be embedded in the files in order to provide distinct behaviour. 
     File types can be associated with functions rather than the particular types of module. For example, a file might be designed to contain data associated with the lighting function (i.e. head/tail lights and direction indicators). This file may be interpreted by a module which only provides lighting functions, or by a module which combines those functions with something else, for example, positional control for the wheelchair setting. 
     During manufacture, a repository R can be loaded with files which are intended for use by particular modules that might be used with it. This allows appropriate behaviour to be pre-determined and can simplify manufacture and inventory management, since non-repository modules can be supplied without settings related to their eventual use. 
     If a module is added to a system where the repository R does not contain one or more files that it needs, the new module can use settings with which it was supplied, but still create the relevant files in the repository R, thereby guaranteeing that a replacement will continue to use the same settings. 
     Since the repository module is always available in a functioning system, modules could avoid storing data in local non-volatile storage and instead read the information from the repository afresh whenever the user switches on the system. This has some disadvantages, for example, delay before the system is usable, but it could be used by some modules with very modest storage. 
     Although the system has been described above with respect to a wheelchair it will also be appreciated that the system may also be used with other types of electrical or battery powered vehicles for example battery powered industrial vehicles and battery powered golf carts. Furthermore, the repository is not limited to being housed within a control module. The repository could equally be a removable plug-in memory source or a memory source in wireless telecommunication with the system.