Driving Analysis System, DAS
by Mikel Noll

Contents
Domain
Illustration
Methods
Conclusions

Domain

The domain of this project are the objects that you would find on a normal highway road. Like curbs, shoulders, cars, bikes, animals, even deer, humans, sidewalks, medians, and solid traffic lines. The agent has to interact with these objects, namely when these objects are in the agent's way. The domain is used in order for the program to know what to do when objects get in the way of the agent. The domain is limited to objects on the road in order to perform its tasks. An example is this agent does not care about traffic lights or stop signs, because these objects are outside the scope of the program. The domain used is needed for the agent to interact sucessfully with the program.


Illustration

This program will show the users what options there are when there are objects around your vechile. These options are the possible moves the vehicle can make within the given environment. It interacts with the environment in order to give the user possible choices.

This diagram shows the local environment around the vehicle.
The vehicle has sensors around it to see what objects are in what zones. The arrows show what possible moves you can make from zone to zone. The zones are labeled with numbers, but they can be labeled with anything you chooce. The local environment rules will apply to the entire environment as long as the sectors give back data around the vehicle each time the vehicle moves. So that would mean that the diagram would hold true no matter which zone the agent is in.

The program will see which possible moves are there with the given data. An example is if zone #2 is filled you can turn right, turn left, slow down, but you cannot speed up. If all the zones are filled you cannot do anything until the environment changes and then take action.


Methods

This program takes in data of the sensors in order to determine its environment, and then uses prolog clauses to determine possible actions to take. The program tells where it is safe to move the car, and then waits for the sensors to update the environment.


Conclusions

This program is a good starting point in the operations of a DAS. However things that were talked in class are still left out in this program, that would make it a better system. I used many assumptions to code the program within my knowledge of prolog. However with these assumptions I limited the real uses that the program can do. For example, if we remove the assumption that time is not a factor in this program, we can see that the enivornment changes as objects interact with the element of time. Objects that are in one zone change, without actions even being taken by the agent. The program would have to update its possible actions every second, in order to make sure possible actions are still valid, or if actions must be taken now in order to restore safty. An example is if any objects besides yourself, is ent8899%8$H8`8KI]HP, @488`8899%8%H8`8KI%H88bKA?`8}H8}Hu8}H8}K|;c8};@HT`?A(;8}KwT`?@;,A;@8}8KW@?AL;8ҳHAA|`4,@8}88.HyH|c5A 8KHI4A(A8c8KG88K!|AN |!@888a<NRH!A8!|N |!p888a<NRHmA8!|N |!;and now I understand why it takes years in project research to get similar programs designed. This was a good starting point, and I hope the ideas of old students is taken up by new students in order to create useful programs for the future.