Method and apparatus for controlling high speed vehicles

Abstract: Maneuvers of a controlled vehicle, such as a car, travelling at moderate to high speeds are planned by propagating cost waves in a configuration space using two search strategies referred to as budding and differential budding. Control is achieved by monitoring properties of the controlled vehicle and adjusting control parameters to achieve motion relative to a frame of reference. The frame of reference may change before the transformation to configuration space occurs. The method transforms goals, obstacles, and the position of the controlled vehicle in task space to a configuration space based on the position of these objects relative to a moving frame of reference. The method also determines a local neighbourhood of possible motions based on the control capabilities of the vehicle. In one embodiment, the controlled parameters are time derivatives of the monitored properties. A variation of the method provides for the parallel computation of the configuration space. In one embodiment of the parallel computation, the case where two processes are used, a first process and configuration space would be used to plan. A second process and configuration space would be used to read the setpoints which are sent as control directives to the vehicle.

Description: BACKGROUND OF THE INVENTION Field of the invention The invention relates to a method for controlling the motion of a vehicle in a physical task space, including a start point, a goal point and location points of a number of obstacles, the method comprising the steps of: generating a configuration space which represents the physical task space, in the configuration space finding a first least cost path from the start point to the goal point, and controlling one or more parameters affecting the motion of the vehicle so that the vehicle follows this path. The invention further relates to a system for controlling the motion of a vehicle in a physical task space, including a start point, a goal point and location points of a number of obstacles, the system comprising: means for generating a configuration space which represents the physical task space, means for in the configuration space finding a least cost path from the start point to the goal point, and means for controlling one or more parameters affecting the motion of the vehicle in response to the means for finding the least cost path so that the vehicle follows this path. Related Art The field of path planning is one with many applications. In the prior art, the most common application is for controlling robots. Other applications include electronic maps, traffic control, emergency vehicle control, emergency exit systems and vehicle manoeuvring. The path planning problem, as applied to robots, typically involves choosing a path to get a robot from a start point to a goal point while avoiding obstacles. Automatic multidimensional path planning for robots is one of the great historical problems of robotics. A method and system according to the preamble are known from the European Patent Application EP-A-0375-055. This application teaches the following definitions: The task space includes the points of the obstacle and the points of the goals of the robot. The configuration space of a robot is the space spanned by the parameters of the robot. The configuration space has one dimension for each degree of freedom of the robot. A configuration state is a point in the configuration space. Each configuration state in an n-dimensional configuration space is characterized by a set of n values of the n robot degrees of freedom. A neighbour state is a configuration state that is removed from a given configuration state by a single permissible transition. A cost metric is defined for the configuration space and specifies for each state in the configuration space the cost of a transition to any neighbouring state. Budding includes the calculation of the transition cost for moving from a state "a" to a state "b". This transition cost represents the cost that will be incurred while following the path states through b to a. Budding results in filling the direction_arrows fields of the configuration space with direction arrows. Differential budding is a method for regenerating a configuration space with changes in obstacles and goals. A cost wave is an appearance where states with equal cost_to_goal are located. Propagating cost waves is the term that has been used in the art to describe the process of assigning direction arrows to states in configuration space. This application discloses, amongst other things, propagating cost waves through a configuration space by budding, using a space-variant metric. Budding finds the optimal path from all starting states to the states. The 'budding' and 'differential budding' method have been used to control the manoeuvres of a robotic vehicle. In this case, the configuration space of the vehicle is described in terms of the position and orientation of the vehicle relative in a fixed world position. In this way, the path planner generates 'setpoints' of position and orientation which the vehicle can then carry out. The known method is based on an static configuration space, representing a static physical task space. Typical applications are moving a robot arm in a fixed environment and parking a car between fixed obstacles. If a change occurs in the physical task space a complete recalculation of the configuration space is required, whereby in case of a small change this effort is somewhat alleviated by recalculating it partially by applying the above mentioned differential budding process. The publication 'Autonomous Land Vehicles', Scientific Honeyweller, vol. 5, no. 3, Sept. 1984, Minneapolis, USA, pages 47-58, describes an unguided land vehicle that plans a path to a goal on a map and then follows that path using sensory information. The need for the vehicle to replan the path when an unexpected obstacle occurs is mentioned. Furthermore, it is indicated that the control software and planning software must be executed fast enough to keep pace with the flow of incoming information. Summary of the Invention The manoeuvres of a controlled vehicle, such as a car, travelling at moderate to high speeds are planned by computing the motion of the controlled vehicle relative to a frame of reference which is moving relative to the physical surroundings. An example is a higher speed automobile moving in traffic on a highway. The frame of reference may move with the same value of monitored property as the controlled vehicle. For example, the frame of reference may have the same velocity as the controlled vehicle. The frame of reference may also move with the same value of the monitored property of one of the obstacles. The manoeuvre is optimal given the surrounding obstacles, and the control capabilities of the vehicle. Examples of optimum manoeuvres that can be computed are for minimal fuel use, and minimum distance travelled. Selected properties of the controlled vehicle and frame of reference are monitored, typically by sensors. These properties are usually physical attributes such as relative position and, relative velocity. The controlled parameters, i.e. the mechanisms to affect change in the system, are the time derivatives of the monitored properties. For example, acceleration or deceleration is required to change the monitored velocity of a vehicle. This may be achieved with one or more actuators in the vehicle, such as reducing pressure on the accelerator pedal while simultaneously applying the brake. The path describing the manoeuvre is generated using 'budding' or 'differential' budding which produces a series of setpoints. The vehicle is controlled by moving to each new setpoint using the control capabilities. It is an object of the invention to provide a method according to the preamble which is better applicable in an environment of moving obstacles than the known method. To this end, the method according to the invention is characterized in that the method further comprises transforming the start point, the goal point and the location points of the number of obstacles to a frame of reference that is moving relative to the physical task space in a substantially uniform way, and that the generated configuration space is based on the frame of reference. By providing a moving frame of reference in the configuration space, the changes relative to this moving frame are relatively small and infrequent. This highly reduces the need for recalculation of the configuration space. Therefore the method according to the invention requires significantly less computational effort. In a version of the method according to the invention, the step of generating the configuration space comprises monitoring one or more elements of the vehicle's movement. In the case where the vehicle movements relative to the surrounding moving obstacles are small, e.g. driving on a highway with other vehicles as moving obstacles, it is advantageous to use an element of the vehicle's movement to establish the moving frame of reference. In a version of the method according to the invention, the monitored elements include velocity components of the vehicle and the controlled parameters include acceleration components of the vehicle. When a vehicle moves more or less synchronously with a group of other vehicles the difference in speed between the vehicle and each of the other vehicles will be small. Therefore, it is of advantage to move the frame of reference of the configuration space with the same speed as the vehicle itself because then only minor and infrequent update of the configuration space are required. Manoeuvring in the configuration space, then comes down to changing speed of the vehicle. This is achieved by acceleration or deceleration commands to the vehicle. It is a further object of the invention to provide a system according to the preamble which is better applicable in an environment of moving obstacles than the known system. To this end, the system according to the invention is characterized in that system comprises means for transforming the start point, the goal point and the location points of the number of obstacles to a frame of reference that is moving relative to the physical task space and that the means for generating configuration space are adapted to base the configuration space on the frame of reference. Because the system provides a moving frame of reference in the configuration space, the changes relative to this moving frame are relatively small and infrequent. This highly reduces the need for recalculation of the configuration space. Therefore the system according to the invention requires significantly less computational effort. The system can be equipped with a smaller computing unit or this unit can be used for other tasks simultaneously. Brief Description of the Drawing These and other aspects of the invention are described herein with reference to the selected embodiments illustrated in the following Figures. Fig. 1 is a flowchart of a method for controlling vehicle. maneuvers at higher speeds. Fig. 2 is a flowchart of a planning process to be used in parallel with the control process of Figure 3. Fig. 3 is a flowchart of a control process to be used in parallel with the planning process of Figure 2. Fig. 4 shows an example configuration of a high speed vehicle relative to a frame of reference. Fig. 5 shows an example of a high speed vehicle in task space. Fig. 6 shows the configuration space equivalent of the task space of Figure 5. Fig. 7 shows an example neighbourhood for a high speed vehicle moving relative to a frame of reference. DESCRIPTION OF THE PREFERRED EMBODIMENT Application of Budding and Differential Budding to Maneuvering a Vehicle at Higher Speeds. Budding and differential budding are used to maneuver a robotic vehicle at higher speeds. "Higher speeds" is used herein to mean speeds sufficient so that small movements of the steering wheel produce nearly transverse motion relative to another moving object. For situations where the vehicle is moving at higher speeds, the orientation of the vehicle need not be used, making the pah planning process faster. In Figure 1, details of an embodiment are given in flowchart form. This flowchart gives the steps involved in controlling a vehicle where the vehicle is travelling at higher speeds. Configuration space is set up based on sensory data, a path is planned and the vehicle is controlled to follow the path. The process is repeated whenever new sensory information is incorporated. In box 100, a 'monitored property' is chosen. An example of a 'monitored property' is velocity. Alternately, the 'monitored property' could be acceleration, but other dynamic properties, could be used instead. This monitored property is one which can be sensed each time the plan is updated. Integral properties and first derivatives can be generated from each monitored property. For example, if the monitored property is the velocity of a vehicle, then the relative distance, and acceleration over a period of time, can also be calculated from velocity measurements. One or more monitored properties may be needed to control a vehicle. For example, in addition to the velocity of the controlled vehicle and the frame of reference, the absolute lateral distance of the controlled vehicle and the frame of reference could be monitored. Also in box 100, the configuration space is set up in terms of relative distance. First, a frame of reference, herein abbreviated as F.O.R., is determined. The frame of reference commonly is considered to be at the origin in terms of relative measurements, although other origins could be used as well. This is usually a moving vehicle at the limit of the controlled vehicle's sensory capability. It may also be a focal point on the road, a fixed distance from the controlled vehicle. Based on new sensory data, a new frame of reference may be determined at any time after a first plan is computed. For example, as the controlled vehicle overtakes the furthest sensed car, a new second furthest sensed car may be determined to be the new frame of reference. Other causes may change the frame of reference, such as the frame of reference falling from view over a hilltop, wherein a closer frame of reference will be used. A frame of reference may be lost from view if it leaves headlight view at night, or if it turns off the highway. The 'monitored properties' of both the frame of reference and controlled vehicle are sensed. By sensing, we mean any form of data acquisition to determine the state of the frame of reference and controlled vehicle. For example, the controlled car may be travelling at a velocity of 30 m.p.h. 500 feet behind a frame of reference which is travelling at a velocity of 25 m.p.h. in the same direction. The relative position of the controlled vehicle is then the derived distance between the frame of reference and the controlled car. In the example above it is 500 feet. The discretized configuration space, calculated in Box 100, should be large enough to envelope both the frame of reference and the controlled vehicle. Although it is sufficient to have the configuration space range from the controlled vehicle distance to the frame of reference, it is preferred that larger areas be considered as an allowance for the time lag in the feedback system used to control the car. The two state indicator budflag, with states BUD and DIFFBUD, is set to BUD. In box 101, a background metric is established. This is done by establishing the reachable neighbourhood of nearby states, and assigning a cost to those motions. The capabilities of the controlled vehicle define the transitions. For example, a racing car's engine will determine the acceleration that it may achieve in one unit of time. In a configuration space defined by a moving frame of reference, acceleration greater than the frame of reference results in a forward motion relative to the frame of reference. The capabilities of the vehicle can also take into account the 'rules of the road'. For example, a car may be capable of accelerating to 100 mph, but the 'rules of the road' restrict the vehicle velocity to 55 mph. Another example capability is based on occupant comfort and could limit acceleration or deceleration to 5 m.p.h. over 2 seconds. Thus, if the "next state" defines where the vehicle will be in 2 seconds, then there would be a transition increasing or decreasing the speed by 5 mph. The x,y positions resulting from the transitions describe the neighbourhood. In the preferred embodiment, the transitions represent motions which are the first derivative of the monitored property. Using the previous example, if the monitored property is velocity, then by monitoring the velocities of the frame of reference and controlled vehicle over a short period of time, the desired acceleration can be computed. This short period of time must be measurable and may vary or be fixed and is herein referred to as the 'planning cycle time'. In the preferred embodiment, the planning cycle time is the time it takes to compute the desired path. A cost must be assigned to each possible transition. The cost is the expense of making a move from one state in the configuration space to the neighbouring state. An example of a cost is the fuel used in making the transition. Another example of a cost is the time elapsed. In box 102, obstacles are transformed into the configuration space. Obstacles in configuration space represent illegal states of the vehicle. Illegal states can be caused by geometrical obstructions. An example of a geometrical obstruction is a state corresponding to the positions where a vehicle physically hits or intersects the body of another vehicle. A second type of illegal state can be caused by 'rules of the road'. For highway maneuvers, the double yellow line is a border not to be crossed. This border becomes a 'virtual wall'. The configuration states representing intersections of the 'virtual wall' and the controlled vehicle's body are thereby illegal states. A third type of illegal states can be caused by adaptive constraints. An adaptive constraint may be a constraint determined based on the physics, current state and 'monitored property'. One example might be 'stopping distance' used for safety reasons. In the preferred embodiment, configuration states representing the controlled vehicle at a distance less than the 'stopping distance' from obstacles are illegal states. The 'stopping distance' is commonly defined as the braking distance plus the reaction distance. Reaction distance is how far a vehicle travels during the time it takes the controller to respond to a hazard and activate the brakes. The sensing time plus the cycle time is used to compute the reaction time and reaction distance. Braking distance is how far a vehicle travels from the moment the brakes are activated until it comes to a stop. Other forms of halting or slowing the vehicle could be used rather than standard brakes. An example of alternatives to brakes is slowing a direct drive motor in an electric car. In box 103, the goal or goal states are transformed to the configuration space. They can be chosen in many ways. One way is to describe a 'general goal' and decompose it into smaller subgoals. The Robot Schema facility (Lyons, D.M. and Arbib, M.A. "A Formal Model of Computation for Sensory-Based Robotics", EEE Transactions on Robotics & Automation, Vol. 5, No. 3 June 1989 pp. 280-293) teaches sophisticated ways to decompose goals into subgoals. An example of a goal is to 'pass the car in front'. This may map into several goal states. The task space goal in this example would be 'in front of the car in front of the controlled vehicle', and 'to the front and left of the car in front of the controlled vehicle'. The configuration states corresponding to these positions are examples of goal states. In box 104, budding or differential budding is performed. If budflag is set to BUD, then budding is performed. If budflag is set to DIFFBUD, then differential budding is performed. Although budding could always be used to find a new solution from scratch, the preferred approach is to use differential budding when obstacles, goals, or transitions change, because it yields a faster solution, and provides control directives while recomputation is occurring if the affected region does not include the current controlled state. In box 105, the relative current starting position must be transformed into the starting state in configuration space. The position is measured between the frame of reference and the controlled vehicle. The values of the position give the starting configuration state. In box 106, gradient following occurs. As taught in the prior art, transitions can be followed from state to state to the goal. The transitions are decomposed into control parameters. For example, a direction arrow may correspond to moving 'forward' toward the frame of reference. In this example, such a desired motion may correspond to accelerating by 5 mph. In box 107, setpoints, as defined by the control parameters described in the direction arrows, are sent to the vehicle. One or more setpoints may be sent to the vehicle. One possible control might be the voltage controlling the fuel sent to the fuel injection system. In the preferred embodiment, the change in voltage used to increase velocity may not be the same as the change in voltage used to decrease velocity. For example, if the vehicle is to accelerate 5mph, the voltage may increase 0.2 volts. Alternatively, if the vehicle is to decelerate, the voltage may decrease 0.5 volts, while an electronic braking mechanism is activated. The arrow out of Box 107 leads to a decision box, 108. This box tests if the frame of reference, obstacles, goals, cost metric, or transitions have changed. For example, a metric representing a vehicle's maximum acceleration may change due to decreased traction in suddenly poor weather, or the gravity effects of an increase in road grade. Another example when the metric may change is in areas where the 'rules of the road' change, such as a lowering of the speed limit in a construction zone. If they have not, then the NO arrow is followed to box 107 and control continues. If either the frame of reference, obstacles, metric or single transitions change, then replanning is required, and the YES arrow is followed to decision box 109. If either the frame of reference, or the metric have changed, then the YES arrow is followed back to box 100. Otherwise, one or more goals, obstacles, or transitions have changed, and the NO arrow can be followed to box 110. Box 110 sets the budflag to DIFFBUD. After box 110, the process in box 102 is performed. Alterate Embodiment To obtain better performance, it may be desirable to have two processes working in parallel to control the car. In the case where two processes are used, a first process and configuration space would be used to plan. A second process and configuration space would be used to read the setpoints which are sent as control directives to the vehicle. After the planner finishes work on a first copy of the configuration space, herein referred to as a 'planning copy of configuration space', a duplicate is made, herein referenced to as a 'control copy of configuration space'. This control copy of configuration space is unchanged until the next full copy of configuration space is delivered by the planner. This method allows the control of the vehicle to continue without the delay that otherwise might occur while the planner is planning. In Figures 2 and 3, details are given in flowchart form. These flowcharts give the steps to control a vehicle travelling at higher speeds using a parallel processing system. Although this flowchart describes how two processes can operate in parallel to control the car, one skilled in the art will recognize ways for further parallelize these processes using three or more processes. Figure 2 describes the method for planning. Figure 3 describes the method for control. Figure 2 contains a stepwise flowchart description of the planning process. When the process in Figure 2 runs in parallel with the control process of Figure 3, and has the ability to alter the 'control copy of configuration space' needed by the control process of Figure 3, the vehicle can be controlled. In Figure 2, boxes 200, 201, 202, 203, and 204 are similar to boxes 100, 101, 102, 103, and 104 respectively, in Figure 1. The differences in Figure 2 are in box 250, 208, 209, and 210. Box 250 follows box 204. In box 250, the finished 'planning copy of configuration space' is duplicated. The second copy is herein renamed 'control copy of configuration space'. Decision box 208 follows box 250. Box 208 tests if the frame of reference, obstacles, goals, or transitions have changed. If they have not, then the NO arrow is followed back to box 208. If the frame of reference, obstacles, goals, metric or transitions change, then replanning is required, and the YES arrow is followed to decision box 209. If either the frame of reference, or a cost transition has changed, then the YES arrow is followed back to box 200. Otherwise, one or more goals, obstacles, or transitions have changed, and the NO arrow can be followed to box 210. Box 210 sets the budflag to DIFFBUD. After box 210, the process in box 202 is performed. Figure 3 contains a stepwise flowchart description of the control process. In box 306, the relative current position must be transformed into the starting state for the 'control copy of configuration space'. The position is measured between the frame of reference and the controlled vehicle. The values of the position give the starting configuration state. In box 307, the direction arrows are followed. In the same way as the prior art, direction arrows could be followed state to state to the goal. The direction arrows are decomposed into control parameters. In box 308, the control parameters, which are described in terms of the original capabilities, are sent to the vehicle. The method continues to box 306. Example of Maneuvering a Vehicle at Highway Speeds. In what follows, an example is given of the application of budding and differential budding to maneuvering a robotic vehicle at higher speeds. The example is of an ordinary vehicle with front wheel steering. The vehicle at higher speeds can be regarded as a robot with two degrees of freedom. Two parameters (x,y) will be used herein as axes of a configuration space for the car, where x and y define a location of the car in Cartesian coordinates. In Figure 4, the "Cartesian point location" of the car (x,y) shown by point 401, is taken to be at a point in the center of the vehicle. However, any point consistently related to the position of the car may be chosen. In addition to having a point location, the vehicle is assumed to be contained within a rectangle having a width and length, denoted by 402 and 403 in Figure 4. The Figure 5, illustrates an example highway scenario. The highway has four lanes denoted as 504. The number of lanes can vary in a different example. There are two types of objects on the highway shown in Figure 5. There are three obstacle vehicles denoted as 505. The number of obstacle vehicles on the highway can also vary in a different example. The controlled vehicle is shown at its starting state denoted as 501. The desired goal state in which we intend the vehicle to reach is denoted as 502. The Frame of Reference (F.O.R.) is denoted as 503 in Figure 5. In this example, the vehicle at the lead of traffic is denoted as the frame of reference and is the furthest vehicle that can be readily sensed by the controlled car, 501. The sensory data is collected to report the positions of all of the vehicles in traffic relative to the sensed position of the frame of reference vehicle. In this simplified example, all obstacles vehicles are travelling at a fixed speed of 35 m.p.h. and continue to do so while the later planning calculation takes place. The controlled vehicle, 501, is travelling at an initial speed of 25 m.p.h. in the far right lane shown in Figure 5. Controlled vehicle 501 is at a fixed forward distance of 500 feet behind the first obstacle also in the same lane. The goal is for controlled vehicle 501 to reach position 502, ahead of all the obstacle vehicles. The goal has to be achieved within the 'rules of the road' and without interfering with the obstacle vehicles. According to Figure 2, which illustrates a flowchart of the planning method, we first select the monitored property (box 200). In this example the monitored property is the speed of the controlled vehicle 501. Box 201 requires setting up the configuration space. The chosen frame of reference (F.O.R.) is denoted as 503 in Figure 5. The frame of reference is also a 'Cartesian point location' (x,y). Given the locations of the controlled vehicle (501) and the frame of reference (503) the position of the controlled vehicle relative to the frame of reference is calculated. The built-in sensors provide the values of the controlled device's properties. With this information, the configuration space is created. Box 202 of the planning flowchart requires the neighbourhood to be defined. Figure 7 shows the neighbourhood. The neighbourhoods in the prior art typically were described in terms of the reachable positions, and were often absolute positions. The reachable positions in this case are described by the vehicle's capabilities. Since the frame of reference is moving forward in this example, then the reachable positions in the vicinity of the controlled vehicle are limited by the acceleration of the car, to advance toward the frame of reference, deceleration of the car to increase the distance relative to the frame of reference, and left and right movement of the steering wheels to achieve horizontal movement to the left and right relative to the frame of reference. In this example N directions are shown. The forward and reverse directions in the neighbourhood are also depicted. Because the monitored property is speed, the neighbourhood, which is the first derivative of the monitored property with respect to time, is acceleration. Thus the cost over the neighbourhood is defined in terms of the vehicle's position in (x,y) and it's acceleration. Box 203 in Figure 2, involves transforming the obstacles. Because the highway is a dynamic environment, the transformed obstacles include the body intersection as well as a margin of safety called the 'stopping distance'. In our example, the margin of safety is assumed to be the same size as the obstacle. Figure 6 shows the transformed obstacles and the transitions the controlled vehicle makes to reach the goal. In Figure 6, the obstacles are the solid boxes depicted as 601, and the margin of safety for each obstacle are the gray boxes depicted as 602. Box 204 involves determining the goal state in configuration space. The start and goal states are shown as 604 and 605 respectively in Figure 6. All obstacles are transformed to occupy certain regions of configuration space. These regions are forbidden to the controlled device. The next step, box 205, propagates waves. Differential budding is used if budflag is equal to BUD. The planning copy of configuration space is copied to the control copy in box 250. If there are any changes to the goal, metric or transformation then the step in box 203 onwards are repeated, otherwise if there are changes in the frame of reference or metric then all steps from box 201 onwards are repeated. The actual changing of the controlled vehicle's controlled parameter, i.e., velocity, is shown by the control method illustrated in Figure 3. First, the vehicle's properties are transformed into configuration space as indicated by box 306 in Figure 3. The controlled vehicle is at the starting state. The next step, shown in box 307, requires following the gradient using the control parameters provided by the neighbourhood and the setpoint provided by the state. Once the configuration space has been budded, the planner can follow the neighbourhood arrows along the path of minimum cost to the goal state. To achieve the change, the control parameters are sent to the control mechanism of the vehicle between setpoints. This following has to be continued until the goal state is reached. In Figure 5, the change in state is shown by the arrows depicted. From basic physics it is known that at the current speed of 25 m.p.h., the controlled vehicle 501, in Figure 5, will continue to lose distance from the obstacles vehicles. The monitored property, velocity, has to increase to enable controlled vehicle 501 to reach goal 502. If the controlled device has to gain a fixed distance over the obstacles then the speed parameter has to be increased with respect to time, i.e., the controlled vehicle need to accelerate. The time that vehicle 501 takes to gain that distance is a function of its driving parameters and 'rules of the road', for example observing the speed limit of 55 m.p.h. This allows the derivation of a minium amount of time necessary to reach the goal state 502 as computed using laws of physics. Furthermore, if any of the observed parameters, such as the speed of obstacles 505, increase then the controlled device has to monitor that property and alter the state of obstacle in the configuration space. This involves repeating steps in boxes 203 to 250 in Figure 2. In the example illustrated in Figure 5, the arrows, denoted as 506, denote the transitions required by the controlled device 501 before it can reach the goal state 502. Each transition from start to goal state is achieved by a combination of adjusting the (x,y) positions. Other Applications The vehicles so far have been focused on highway-like applications. However other types of vehicles in different scenarios can also be controlled using the same method. For example, the method also has applications in marine situations, such as submarine navigation. Submarine navigation is assisted by radar, sonar, and charts of the ocean waterbed and currents. As an example, the frame of reference may be a ship overhead, or another submarine. In this situation, the goal may be to move a fixed offset distance from the frame of reference. In addition to static obstacles, such as the ocean bed, other factors, such as the water current can be factored into the cost metric. Another marine application is the piloting of large marine vessels into difficult seaports, for example, seaports in which the depth may not be sufficient for all vessels, and the waterbed topology is continuously changing because of sand bars, tides etc. Ship pilots have to continuously monitor the waterbed and port traffic while guiding the vessel to its allocated dock. In this case the frame of reference may be specific vessel which could be moving and requires the controlled vessel to track it and stay a fixed distance relative to it. On a slower time scale, the frame of reference could be a geographical feature of the seabed, such as a drifting sand bar, which the vessel must avoid, based on short term sensory information. A sub-application of the sandbar scenario is when there are multiple sand bars that the controlled vessel must avoid. In other words, the open channel between two sand bars becomes the moving target that the controlled vessel is aiming for. Of course, there could be a succession of such moving targets (i.e., open channels) before the vessel reaches its goal, i.e., the dock. The fishing industry needs to use tracking technology to home in on bodies of water well populated by schools of fish. Since fish move continuously with varying weather and feeding conditions, using schools of fish as a frame of reference by the controlled vessel, i.e., the fish trawler can help them plan their fishing route better thus increasing their fish yield. The highway-like analogy can also be applied to other domains such as air-traffic control. In this case we are dealing with guiding aircraft in 3 dimensional space, say over an airport. The objective is for the aircraft to avoid other aircraft and maintain the holding pattern allocated to them. They are allowed a very wide margin for safety reasons. Depending of traffic load, runway and weather conditions the landing aircraft can make use of path planning technology to augment their guidance systems. In a holding pattern an aircraft would use aircraft in neighbouring patterns as the frames of reference to maintain correct position and alter the position or frame of reference as the situation changes. Using a ground based beacon may not be appropriate in all situations if other aircraft in the area are not doing exactly the same thing. The same technology may be used by air traffic controllers below to define paths for take-off and landing aircraft with the same parameters factored into the cost-metric. Another area of application is where two or more machines operate in 'formation'. One example is where two plows work in tandem to clear snow from the road. The lead plow is the frame of reference, and the trailing plow is the controlled vehicle. Alternatively, farming machines that work together can be controlled in a similar way. Large farms require large collections of machines to work together. For example, a controlled farm machine that cuts the crop may be followed by a second controlled farm machine that collects and bundles the crop, followed by a third controlled farm machine that clears the field of debris and unused parts of the crop. In this case, the first controlled farm machine might use the position of the end of the row as a frame of reference, the second controlled farm machine could use the first farm machine as a frame of reference, and the the machine could use either the first farm machine or the third farm machine as a frame of reference. A formation of machines including one or more varieties of machine can also be one component of a larger machine formation. For example, a larger machine formation of farming machines would have two or more of the three-farm-machine formations operating on parallel rows in a field.

Claims: A method for controlling the motion of a vehicle in a physical task space, including a start point, a goal point and location points of a number of obstacles, the method comprising the steps of: generating a configuration space which represents the physical task space, in the configuration space finding a first least cost path from the start point to the goal point, and controlling one or more parameters affecting the motion of the vehicle so that the vehicle follows this path, characterized in that the method further comprises transforming the start point, the goal point and the location points of the number of obstacles to a frame of reference that is moving relative to the physical task space in a substantially uniform way, and that the generated configuration space is based on the frame of reference. The method of Claim 1 wherein the step of generating the configuration space comprises monitoring one or more elements of the vehicle's movement. The method of Claim 2 wherein the controlled parameters include time derivatives of the monitored elements. The method of Claim 3 wherein the monitored elements include velocity components of the vehicle and wherein the controlled parameters include acceleration components of the vehicle. The method of any of the Claims 1 to 4, further comprising the steps of repetitively: updating the configuration space to reflect changes in the physical task space and/or elements of the vehicle's movement, in the updated configuration space finding a next least cost path from the start point to the goal point. The method of Claim 5 wherein the step of finding the first least cost path comprises budding waves in the configuration space and wherein the step of finding the next least cost path comprises differentially budding waves in the configuration space. The method of Claim 6 wherein the step of finding the next least cost path comprises: determining if a metric has changed in the configuration space, budding waves in the configuration space if the metric has changed, and differentially budding waves in the configuration space if the metric has not changed. The method of any of the Claims 1 to 7 wherein, while controlling the parameters, are executed the steps of: generating a second configuration space which represents the physical task space, and in the second configuration space finding a second least cost path from the start point to the goal point, and which method further comprises: controlling the parameters affecting the motion of the vehicle so that the vehicle follows this second path, and alternatingly finding least cost paths in the first and second configuration space while controlling the parameters on the basis of the last most recently determined path. The method of Claim 8 wherein the step of generating the second configuration space includes copying the original configuration space into the second configuration space. The method of any of the Claims 1 to 9 wherein the least cost path is a path which minimizes fuel use. The method of any of the Claims 1 to 10 wherein the least cost path is a path which minimizes distance travelled. The method of any of the Claims 1 to 11 wherein the frame of reference moves with the same velocity as the controlled vehicle. The method of any of the Claims 1 to 11 wherein the least cost path is determined to avoid collisions with obstacles which are moving relative to the physical task space and the frame of reference moves with the same velocity as one of the obstacles. The method of any of the Claims 1 to 13 wherein the vehicle is an automobile or the like at higher speed and the physical task space includes a highway. The method of any of the Claims 1 to 14 wherein the vehicle is a submarine tracking another ship, while avoiding the ocean bottom and other obstacles. The method of any of the Claims 1 to 15 wherein the choice of frame of reference changes due to changes in sensory information. The method of Claim 12 wherein the controlled vehicle is one of a plurality of vehicles moving in formation. A system for controlling the motion of a vehicle in a physical task space, including a start point, a goal point and location points of a number of obstacles, the system comprising: means for generating a configuration space which represents the physical task space, means for in the configuration space finding a least cost path from the start point to the goal point, and means for controlling one or more parameters affecting the motion of the vehicle in response to the means for finding the least cost path so that the vehicle follows this path, characterized in that system comprises means for transforming the start point, the goal point and the location points of the number of obstacles to a frame of reference that is moving relative to the physical task space and that the means for generating configuration space are adapted to base the configuration space on the frame of reference.

Inventors: MEHTA SANDEEP, TROVATO KAREN IRENE, MEHTA, SANDEEP, TROVATO, KAREN IRENE
Applicants: PHILIPS ELECTRONICS NV, PHILIPS ELECTRONICS N.V.
Application year: 1991
Main classification: G05D1
IPC codes: B60W30, G08G1, G05D1, A01B69, G05B13, B63G8, B63H25, B63B49, G09B29