System and method for predicting the movement of pedestrians

A system and related method for predicting movement of a plurality of pedestrians may include one or more processors and a memory. The memory includes an initial trajectory module, an exit point prediction module, a path planning module, and an adjustment module. The modules include instructions that when executed by the one or more processors cause the one or more processors to obtain trajectories of the plurality of pedestrians, predict future exit points for the plurality of pedestrians from a scene based on the trajectories of the plurality of pedestrians, determine trajectory paths of the plurality of pedestrians based on the future exit points and at least one scene element of a map, and adjust the trajectory paths based on at least one predicted interaction between at least two of the plurality of pedestrians.

TECHNICAL FIELD

The subject matter described herein relates, in general, to systems and methods for predicting the movement of pedestrians.

BACKGROUND

The background description provided is to present the context of the disclosure generally. Work of the inventor, to the extent it may be described in this background section, and aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present technology.

Some current vehicles have sensors that can detect objects found in the environment that the vehicle is operating within. Some of these detected objects include moving objects, such as other vehicles and pedestrians. Regarding pedestrians, the predicted movement of a pedestrian may be utilized by several downstream components of an autonomous vehicle system, such as path planning and decision-making.

Some current methodologies model the dynamics of pedestrian movement by directly relying on social, scene, and/or other cues. For example, some current methodologies use a “social forces” model that generates energy terms to avoid collisions with scene elements, other pedestrians in the scene, etc. Some other methodologies utilize a more data-driven approach to dynamic modeling by relying on deep models for learning underlying mechanics without explicit modeling.

SUMMARY

This section generally summarizes the disclosure and is not a comprehensive explanation of its full scope or all its features.

In one embodiment, a system for predicting the movement of a plurality of pedestrians includes one or more processors and a memory in communication with the one or more processors. The memory includes an initial trajectory module, an exit point prediction module, a path planning module, and an adjustment module. The initial trajectory module includes instructions that when executed by the one or more processors causes the one or more processors to obtain trajectories of the plurality of pedestrians. The exit point prediction module includes instructions that when executed by the one or more processors causes the one or more processors to predict future exit points for the plurality of pedestrians from a scene based on the trajectories of the plurality of pedestrians. The path planning module includes instructions that when executed by the one or more processors causes the one or more processors to determine trajectory paths of the plurality of pedestrians based on the future exit points and at least one scene element of a map, wherein the trajectory paths are paths the plurality of pedestrians are predicted to take to reach the future exit points. The adjustment module includes instructions that when executed by the one or more processors causes the one or more processors to adjust the trajectory paths based on at least one predicted interaction between at least two of the plurality of pedestrians.

In another embodiment, a method for predicting the movement of a plurality of pedestrians includes the steps of obtaining trajectories of the plurality of pedestrians, predicting future exit points for the plurality of pedestrians from a scene based on the trajectories of the plurality of pedestrians, determining trajectory paths of the plurality of pedestrians based on the future exit points and at least one scene element of a map, and adjusting the trajectory paths based on at least one predicted interaction between at least two of the plurality of pedestrians.

In yet another embodiment, a non-transitory computer-readable medium for predicting the movement of a plurality of pedestrians includes instructions that when executed by one or more processors cause the one or more processors to obtain trajectories of the plurality of pedestrians, predict future exit points for the plurality of pedestrians from a scene based on the trajectories of the plurality of pedestrians, determine trajectory paths of the plurality of pedestrians based on the future exit points and at least one scene element of a map, and adjust the trajectory paths based on at least one predicted interaction between at least two of the plurality of pedestrians.

Further areas of applicability and various methods of enhancing the disclosed technology will become apparent from the description provided. The description and specific examples in this summary are intended for illustration only and are not intended to limit the scope of the present disclosure.

DETAILED DESCRIPTION

Described is a system and method for predicting the movement of one or more pedestrians. In one example, the system determines the exit points of the pedestrians from a scene based on the trajectory of the pedestrians. The exit points determined by the system may be determined using a mixture density network. Next, the system will then predict paths the pedestrians will take based on the exit points and at least one scene element. For example, the scene element could be a sidewalk that is located between the pedestrian and the future exit point. Most likely, the pedestrian will utilize the sidewalk to reach the exit point. As such, when predicting the path the pedestrian may take, the system may consider the scene elements in determining the predicted path.

The paths of the pedestrians will then be compared to determine if there are any expected interactions between any of the pedestrians, such as pedestrians crossing paths of one another at the same time, thus causing a collision. If it is determined that the potential interaction will occur between pedestrians, the system then adjusts the paths to comply with social cues, rules of the road, etc. For example, if it is determined that the paths of two pedestrians will result in a collision, the system will adjust the path to prevent the collision. The system may utilize a graph neural network to determine how the paths should be adjusted based on the interaction between the pedestrians, social cues, rules of the road, etc.

Referring toFIG. 1, illustrated is a scene10that includes a vehicle100that has a sensor system120for perceiving one or more objects external to the vehicle100and a pedestrian prediction system170. It should be understood that this scene10is just but one example to illustrate the pedestrian prediction system170which, as will be explained later, can determine the movement of one or more pedestrians within the scene10. In this example, the vehicle100is traveling along a road12. The road12is flanked by sidewalks14and16. The sidewalks14and16may be sidewalks that allow pedestrians, bicyclists, and other nonautomotive related items to travel thereon.

Also located within the scene10are pedestrians20and30. The pedestrian20is illustrated to have a trajectory shown with an arrow as trajectory22. The trajectory22represents the location, direction, and/or speed in which the pedestrian20is moving. Similarly, the pedestrian30also has a trajectory32that is represented by an arrow. Like before, the trajectory32generally indicates the location, direction, and/or speed in which the pedestrian30is traveling. In this example, the pedestrian20is attempting to cross the road12from the sidewalk16to the sidewalk14. As to the pedestrian30, the pedestrian30is traveling along the sidewalk14.

As will be explained in greater detail later, the pedestrian prediction system170is able to predict future exit points26and36of the pedestrians20and30, respectively, from the scene10. In this example, the pedestrian prediction system170has predicted that the pedestrian20will exit the scene10at future exit point26based on the trajectory22and one or more elements within the scene10. The one or more elements of the scene10could include the sidewalks14and16. As such, the pedestrian prediction system170has determined that the pedestrian20will exit the scene10at future exit point26based on the trajectory22which leads to the sidewalk16, which is likely to be utilized by the pedestrian20. Using these elements, the pedestrian prediction system170predicts the future exit point26. A path24that the pedestrian20takes to the future exit point26will also be determined by the pedestrian prediction system170. In like manner, as to the pedestrian30, the pedestrian prediction system170also predicts the future exit point36as well as the path34that the pedestrian30will take to reach the future exit point36.

The pedestrian prediction system170also can adjust the paths24and34of the pedestrians20and30, respectively, to consider the interaction that may occur between the pedestrians20and30as they proceed along the paths24and34, respectively. For example, as best shown inFIG. 2, the paths24and34of the pedestrians20and30, respectively, results in an area40that will result in a collision between the two. The system170has the ability to take no account these interactions to avoid a collision to more accurately predict the movement of the pedestrians, such as pedestrians20and30. Furthermore, the movement of the pedestrians20and/or30, or even other objects, can be utilized by one or more vehicle systems to control the vehicle100. Again, the previous paragraphs are just to provide a general overview of the pedestrian prediction system170. A more detailed explanation of the pedestrian prediction system170will be provided later in this disclosure.

Referring toFIG. 3, an example of a vehicle100is illustrated. As used herein, a “vehicle” is any form of powered transport. In one or more implementations, the vehicle100is an automobile. While arrangements will be described herein with respect to automobiles, it will be understood that embodiments are not limited to automobiles. In some implementations, the vehicle100may be any robotic device or form of powered transport that, for example, includes one or more automated or autonomous systems, and thus benefits from the functionality discussed herein.

In various embodiments, the automated/autonomous systems or combination of systems may vary. For example, in one aspect, the automated system is a system that provides autonomous control of the vehicle according to one or more levels of automation, such as the levels defined by the Society of Automotive Engineers (SAE) (e.g., levels 0-5). As such, the autonomous system may provide semi-autonomous control or fully autonomous control as discussed in relation to the autonomous driving module(s)160.

The vehicle100also includes various elements. It will be understood that in various embodiments it may not be necessary for the vehicle100to have all the elements shown inFIG. 3. The vehicle100can have any combination of the various elements shown inFIG. 3. Further, the vehicle100can have additional elements to those shown inFIG. 3. In some arrangements, the vehicle100may be implemented without one or more of the elements shown inFIG. 3. While the various elements are shown as being located within the vehicle100inFIG. 3, it will be understood that one or more of these elements can be located external to the vehicle100. Further, the elements shown may be physically separated by large distances and provided as remote services (e.g., cloud-computing services).

In either case, the vehicle100includes the pedestrian prediction system170. The pedestrian prediction system170may be incorporated within an autonomous driving module(s)160of the vehicle100or may be separate as shown. With reference toFIG. 4, one embodiment of the pedestrian prediction system170is further illustrated. As shown, the pedestrian prediction system170includes one or more processor(s)110. Accordingly, the processor(s)110may be a part of the pedestrian prediction system170or the pedestrian prediction system170may access the processor(s)110through a data bus or another communication path. In one or more embodiments, the processor(s)110is an application-specific integrated circuit that is configured to implement functions associated with an initial trajectory module250, an exit point prediction module252, a path planning module256, and an adjustment module258. In general, the processor(s)110is an electronic processor such as a microprocessor that can perform various functions as described herein. In one embodiment, the pedestrian prediction system170includes a memory210that stores the initial trajectory module250, the exit point prediction module252, the path planning module256, and the adjustment module258. The memory210is a random-access memory (RAM), read-only memory (ROM), a hard disk drive, a flash memory, or other suitable memory for storing the modules250,252,256, and258. The modules250,252,256, and258are, for example, computer-readable instructions that, when executed by the processor(s)110, cause the processor(s)110to perform the various functions disclosed herein.

Furthermore, in one embodiment, the pedestrian prediction system170includes a data store240. The data store240is, in one embodiment, an electronic data structure such as a database that is stored in the memory210or another memory and that is configured with routines that can be executed by the processor(s)110for analyzing stored data, providing stored data, organizing stored data, and so on. Thus, in one embodiment, the data store240stores data used by the modules250,252,256, and258in executing various functions. In one embodiment, the data store240includes sensor data242, along with, for example, other information that is used by the modules250,252,256, and258. The sensor data242may include some or all of the sensor data119shown inFIG. 3and described later in this disclosure.

In addition to the sensor data242, the data store240may also include other information that may be utilized by the modules250,252,256, and258in executing various functions. In one example, the data store240may also include one or more artificial intelligence models. For example, the data store240may include a mixture density network244, a graph neural network246, and an inverse reinforcement learning model248. As will be explained later, the exit point prediction module252may utilize the mixture density network244to predict the exit points from the scene10. The path planning module256may utilize an inverse reinforcement learning model to determine the trajectory path of the pedestrian in isolation. The adjustment module258may utilize the graph neural network246to adjust the path of the pedestrian to account for any interactions with other pedestrians, such as collisions.

Accordingly, the initial trajectory module250includes instructions that, when executed by the processor or110, causes the processor(s)110to obtain trajectories of the plurality of pedestrians from a scene, such as the pedestrians20and30from scene10. In one example, the scene10may be a bird's eye view. The scene10may be a static scene or may be moving based on the movement of one or more objects. In one example, the movement of a vehicle incorporating the pedestrian prediction system170, such as the vehicle100ofFIG. 3, may be utilized to determine the overall movement of the scene10, if the scene10is a moving scene. For example, the scene10could be a radius located around the vehicle100and moves as the vehicle100moves.

The trajectories22and32of the pedestrians20and30, respectively, may be obtained from other systems and subsystems located within the vehicle100. In one example, the sensor system120of the vehicle100is able to detect the presence and movement of the pedestrians20and/or30. In addition, the sensor system120can utilize information received from one or more environment sensors122to determine the trajectories22and/or32, which may include the location, directions in which the pedestrians20and30are traveling, as well as the velocity of the pedestrians20and30.

The exit point prediction module252may include instructions that, when executed by the processor(s)110, cause the processor(s)110to predict exit points, such as future exit points26and36of the pedestrians20and30, respectively. Given the previous trajectory of the pedestrians20and30and a crop of the semantic map or scene10centered around the trajectories22and32, the exit point prediction module252may predict the future exit points26and36of the pedestrians20and30, respectively.

The exit point prediction module252may use the mixture density network244to maintain a mixture of wrapped normal distributions on the image or scene boundary, which approximates the future exit points given the trajectories. The mixture density network244may be a class of one or more models obtained by combining a conventional neural network with a mixed density model. The mixture density network244outputs parameters of a mixture of probability distributions along with weights for combining the component distributions. In this example, the mixture density network244can determine the future exit points26and36of the pedestrians20and30based on the trajectories22and32of the pedestrians20and30, respectively, as well as one or more scene elements.

Scene elements can include elements located within the scene10. In the example shown inFIG. 1, the scene elements include the road12as well as the sidewalks14and16. It is generally understood that pedestrians, such as pedestrians20and30, will generally utilize sidewalks, such as sidewalks14and16, and generally follow rules of the road. In this example, the pedestrian20has already begun crossing the road12that does not include a crosswalk. However, based on the trajectory22of the pedestrian20toward the sidewalk14, the mixture density network244may determine that the pedestrian20is likely to continue along the same direction to reach the sidewalk14and continue along the sidewalk14to the future exit point26. Similarly, the mixture density network244may determine based on the trajectory32of the pedestrian30that the pedestrians30is likely to continue walking down the sidewalk14and exit the scene10at future exit point36.

The path planning module256includes instructions that, when executed by the processor(s)110, causes the processor(s)110to predict the path of a pedestrian in isolation. Moreover, future exit points, such as future exit points26and36, are sampled from the exit point prediction module252and fed into path planning module256. The path planning module256plans human-like trajectories (or paths) for the pedestrians to achieve their goal of reaching the exit point, as predicted by the exit point prediction module252.

In this example, the path of the pedestrian in isolation may be interpreted as the path in which the pedestrian us predicted to travel. For example, referring back toFIG. 1, the pedestrian20has been determined by the path planning module256to travel along the path24, while the pedestrian30has been determined to travel along the path34. The path planning module256may utilize the trajectories22and32previously determined by the initial trajectory module250as well as the future exit points26and/or36predicted by the exit point prediction module252. In addition to these inputs, other inputs could also be utilized by the path planning module256, such as rules of the road. For example, it is generally assumed that pedestrians will follow the rules of the road such as utilizing appropriate locations to cross the road12, use of sidewalks, and following road signals, such as stop signs, traffic lights, etc.

The path planning module256may utilize the inverse reinforcement learning model248. Inverse reinforcement learning is a machine-learning framework that can solve the inverse problem of reinforcement learning. Moreover, inverse reinforcement learning is about learning an agent's objectives, values, or rewards by observing its behavior. For example, a traditional reinforcement learning setting generally requires that the goal is to learn a decision process to produce behavior that maximizes some predefined reward function. Inverse reinforcement learning generally reverses the problem and instead attempts to extract the reward function from the observed behavior of an agent, such as the pedestrians20and30.

The adjustment module258includes instructions that, when executed by the processor(s)110, adjusts the trajectory paths determined by the path planning module256to account for interactions between one or more the pedestrians. Given the long-term trajectory of each pedestrian present in the scene, all these trajectories are negotiated and adjusted to avoid a collision and/or follow the prevalent social cues and rules of the road. This is achieved by embedding the trajectories as node features in the graph neural network246, which follows a message-passing algorithm to adjust these predictions.

For example, referring back toFIG. 1, it was previously described that the pedestrian20and the pedestrian30would collide with each other if their paths24and34were not changed. In order to determine if a collision will occur, the adjustment module258configures the processor(s)110to determine if the paths24and34of the pedestrians cross. In addition, to determine if there is a crossing of paths24and34, the adjustment module258also configures the processor(s)110to determine if the pedestrians will collide into each other if they continue down the paths24and34at the predicted rate of speed. Moreover, in some examples, the paths of the pedestrians may cross, but no collision will occur because of the location and speed of the pedestrians. However, in other situations, the speed and position of the pedestrians and the overlapping trajectory paths indicate that a collision will occur.

In the event of an interaction between the pedestrians, such as a collision is predicted to occur, the adjustment module258adjusts the trajectory paths of the pedestrians, such as project trajectory past24and34of the pedestrians20and30respectively. The adjustment module258may utilize the graph neural network246to adjust the trajectory paths of the pedestrian to avoid a collision, as would be expected, as pedestrians generally do not collide into each other on purpose.

The graph neural network246structure is a type of neural network that directly operates on a graph structure. As such, graph neural networks can operate on graphs with more complex geometry and topology. This can include social networks, three-dimensional meshes, and physical systems. As such, the graph neural network246can be utilized for negotiating social interactions between pedestrians to avoid collisions and more accurately predict the movement of pedestrians, such as pedestrians20and30. As such, with reference toFIG. 2, the adjustment module258has adjusted the paths24and34to avoid a direct collision between the pedestrians20and30, respectively. By utilizing the ability of the graph neural network246to consider social interactions, such as the desire for pedestrians to avoid colliding into each other and other social cues, the pedestrian prediction system170can more accurately predict the movement of pedestrians within a scene.

In order to better illustrate the different types of artificial intelligence networks and models that may be utilized, reference is made toFIG. 5. In this example, the scene is static, but scene does not need to be static and can move as an ego vehicle move by using motion compensation. Moreover,FIG. 5illustrates the exit point prediction module252, the path planning module256, and the adjustment module258. In addition,FIG. 5illustrates the flow of information indicating that the exit point prediction module252, the path planning module256, and the adjustment module258may be daisy-chained together, wherein the output of the exit point prediction module252is fed into the path planning module256, which then feeds into the adjustment module258. As such, in this example, three different types of artificial intelligent models are utilized. Moreover, the exit point prediction module252utilizes the mixture density network224, the path planning module256utilizes the inverse reinforcement learning model248, and the adjustment module258utilizes a graph neural network246.

The final output from the adjustment module258then becomes the short-term predicted trajectory for that pedestrian. Note that this way, the pedestrian prediction system170considers the shorter-term information like social cues but also longer temporal signals like goals and static scene elements.

Referring toFIG. 6, a method300for predicting the movement of pedestrians is shown. The method300will be described from the viewpoint of the vehicle100ofFIG. 3and the pedestrian prediction system170ofFIG. 4. However, this is just one example of implementing the method300. While method300is discussed in combination with the pedestrian prediction system170, it should be appreciated that the method300is not limited to being implemented within the pedestrian prediction system170, but is instead one example of a system that may implement the method300.

The method300begins at step302, wherein the initial trajectory module250causes the processor(s)110to obtain trajectories of a plurality of pedestrians. In this example, the initial trajectory module250may receive one or more trajectories, such as the trajectories22and32of the pedestrians20and30, respectively. The trajectories22and32of the pedestrians20and30, respectively, may be obtained from other systems and subsystems located within the vehicle100. In one example, the sensor system120of the vehicle100is able to detect the presence and movement of the pedestrians20and/or30. In addition, the sensor system120can utilize information received from one or more environment sensors122to determine the trajectories22and/or32, which may include the location, directions in which the pedestrians20and30are traveling, as well as the velocity of the pedestrians20and30.

In step304, the exit point prediction module252causes the processor(s)110to determine one or more exit points, such as the future exit points26and36related to the pedestrians20and30, respectively. As explained previously, the exit point prediction module252may use the mixture density network244to maintain a mixture of wrapped normal distributions on the image or scene boundary, which approximates the future exit points given the trajectories. The mixture density network244may be a class of one or more models obtained by combining a conventional neural network with a mixed density model. The mixture density network244outputs parameters of a mixture of probability distributions along with weights for combining the component distributions. In this example, the mixture density network244can determine the future exit points26and36of the pedestrians20and30based on the trajectories22and32of the pedestrians20and30, respectively, as well as one or more scene elements.

Scene elements can include elements located within the scene10. In the example shown inFIG. 1, the scene elements include the road12as well as the sidewalks14and16. It is generally understood that pedestrians, such as pedestrians20and30, will generally utilize sidewalks, such as sidewalks14and16, and generally follow rules of the road. In this example, the pedestrian20has already begun crossing the road12that does not include a crosswalk. However, based on the trajectory22of the pedestrian20toward the sidewalk14, the mixture density network244may determine that the pedestrian20is likely to continue along the same direction to reach the sidewalk14and continue along the sidewalk14to the future exit point26. Similarly, the mixture density network244may determine based on the trajectory32of the pedestrian30that the pedestrians30is likely to continue walking down the sidewalk14and exit the scene10at future exit point36.

In step306, the path planning module256causes the processor(s)110to determine trajectory passive the plurality of pedestrians20and30based on the future exit points26and36, respectively, and at least one element of the scene10. Moreover, future exit points, such as future exit points26and36, are sampled from the exit point prediction module252and fed into path planning module256. The path planning module256plans human-like trajectories (or paths) for the pedestrians to achieve their goal of reaching the exit point, as predicted by the exit point prediction module252.

In this example, the path of the pedestrian in isolation may be interpreted as the path in which the pedestrian us predicted to travel. For example, referring back toFIG. 1, the pedestrian20has been determined by the path planning module256to travel along the path24, while the pedestrian30has been determined to travel along the path34. The path planning module256may utilize the trajectories22and32previously determined by the initial trajectory module250as well as the future exit points26and/or36predicted by the exit point prediction module252. In addition to these inputs, other inputs could also be utilized by the path planning module256, such as rules of the road. For example, it is generally assumed that pedestrians will follow the rules of the road such as utilizing appropriate locations to cross the road12, use of sidewalks, and following road signals, such as stop signs, traffic lights, etc.

In step308, the adjustment module258causes the processor(s)110to determine if there are any interactions predicted between the pedestrians20and30. For example, using the locations, trajectories22and32, and the paths24and34of the pedestrians20and30, respectively, the adjustment module258can cause the processor(s)110to determine if there is a likelihood of a collision or interaction between the pedestrians20and30. If there is no detected interaction between any of the pedestrians, the trajectory paths previously computed may be output, as indicated in step310. In one example, the previously computed trajectory paths may be output to one or more vehicle systems or subsystems, such as the autonomous driving module(s)160.

If it is determined that the pedestrians are likely to interact with one another, the method proceeds to step312, wherein the adjustment module258causes the processor(s)110to adjust the paths24and34based on the predicted interaction between the pedestrians20and30. The adjustment module258adjusts the trajectory paths of the pedestrians, such as predicted paths24and34of the pedestrians20and30respectively. The adjustment module258may utilize the graph neural network246to adjust the trajectory paths of the pedestrian to avoid a collision, as would be expected, as pedestrians generally do not collide into each other on purpose. Once the paths24and34have been adjusted by the adjustment module258, the trajectory paths may be outputted to one or more vehicle systems or subsystems, such as the autonomous driving module(s)160, as indicated in step310.

In one or more arrangements, the map data116can include one or more terrain map(s)117. The terrain map(s)117can include information about the ground, terrain, roads, surfaces, and/or other features of one or more geographic areas. The terrain map(s)117can include elevation data in the one or more geographic areas. The map data116can be high quality and/or highly detailed. The terrain map(s)117can define one or more ground surfaces, which can include paved roads, unpaved roads, land, and other things that define a ground surface.

As an example, in one or more arrangements, the sensor system120can include one or more radar sensors123, one or more LIDAR sensors124, one or more sonar sensors125, and/or one or more cameras126. In one or more arrangements, the one or more cameras126can be high dynamic range (HDR) cameras or infrared (IR) cameras.

The vehicle100can include an input system130. An “input system” includes any device, component, system, element or arrangement or groups thereof that enable information/data to be entered into a machine. The input system130can receive an input from a vehicle passenger (e.g., a driver or a passenger). The vehicle100can include an output system135. An “output system” includes any device, component, or arrangement or groups thereof that enable information/data to be presented to a vehicle passenger (e.g., a person, a vehicle passenger, etc.).

The processor(s)110, the pedestrian prediction system170, and/or the autonomous driving module(s)160can be operatively connected to communicate with the various vehicle systems140and/or individual components thereof. For example, returning toFIG. 3, the processor(s)110and/or the autonomous driving module(s)160can be in communication to send and/or receive information from the various vehicle systems140to control the movement, speed, maneuvering, heading, direction, etc. of the vehicle100. The processor(s)110, the pedestrian prediction system170, and/or the autonomous driving module(s)160may control some or all of these vehicle systems140and, thus, may be partially or fully autonomous.

The processor(s)110, the pedestrian prediction system170, and/or the autonomous driving module(s)160can be operatively connected to communicate with the various vehicle systems140and/or individual components thereof. For example, returning toFIG. 3, the processor(s)110, the pedestrian prediction system170, and/or the autonomous driving module(s)160can be in communication to send and/or receive information from the various vehicle systems140to control the movement, speed, maneuvering, heading, direction, etc. of the vehicle100. The processor(s)110, the pedestrian prediction system170, and/or the autonomous driving module(s)160may control some or all of these vehicle systems140.

The processor(s)110, the pedestrian prediction system170, and/or the autonomous driving module(s)160may be operable to control the navigation and/or maneuvering of the vehicle100by controlling one or more of the vehicle systems140and/or components thereof. For instance, when operating in an autonomous mode, the processor(s)110, the pedestrian prediction system170, and/or the autonomous driving module(s)160can control the direction and/or speed of the vehicle100. The processor(s)110, the pedestrian prediction system170, and/or the autonomous driving module(s)160can cause the vehicle100to accelerate (e.g., by increasing the supply of fuel provided to the engine), decelerate (e.g., by decreasing the supply of fuel to the engine and/or by applying brakes) and/or change direction (e.g., by turning the front two wheels). As used herein, “cause” or “causing” means to make, force, direct, command, instruct, and/or enable an event or action to occur or at least be in a state where such event or action may occur, either in a direct or indirect manner.