Unlike automatic systems, autonomous machines are self-sufficient and require no human intervention. They can learn and adjust to their changing environment. Artificial intelligence and machine learning are the branches of computer science that are used in the development of autonomous machines.
AI is often used to perform a task that would usually require human intelligence (as opposed to mechanical processes, such as lifting or motion). The problem here is how you define 'intelligence'. One way you can decide on the intelligence of the system is to decide how far removed the original programmer is from the output. For example, if a program is following a set of 'if…then' rules, you could say that it is not very artificially intelligent, because the programmer has directly created the rules that determine which inputs should give particular outputs. However, if the program has studied a data set and used this to compile its own set of rules, you can consider it to possess some artificial intelligence, as the programmer had much less control over the final output.
In a separate initiative, a team is developing a system of drones that can carry resuscitation (CPR) equipment and communication technology to heart attack patients. An ambulance will not be required to deliver the CPR equipment. Drones can navigate through available airspace, meaning that they will not be caught in traffic jams, and they do not require a human pilot. This initiative has the potential to increase the speed and lower the cost of every delivery of CPR equipment. If the same amount of money spent on delivering CPR equipment by ambulance over a year is spent on drone deliveries, the number of drone deliveries can potentially increase too.
Machine learning is a way of using large data sets (sometimes referred to as Big Data) to train AI by analysing the data in order to make more accurate predictions about what to output for a particular input. For example, a navigation system can be improved over time by having the system feed data back in to help it plan better routes to avoid congestion. The data that is fed back to the navigation system may include actual travel time, the speed travelled on each road, or the number of vehicles on the same route.
Driverless cars will be able to communicate with each other and use data from their environment to reduce accidents and make traffic jams a thing of the past. However, there are several examples of accidents that have been caused by decisions made by autonomous cars. Sometimes this is because insufficient training data has been used. It is difficult to produce adequate conditions that the cars can use to determine what they should consider to be a hazard. When accidents happen, there are ethical questions related to accountability. Who is responsible in such a situation? The driver has relied on the (imperfect) system. Should they take responsibility, because they should have had oversight of the decision that the machine makes and be prepared to overrule it? Maybe the manufacturer is at fault, or the developer of the code that 'trains' the system used by the car.