Challenge the project addresses:
To deliver food and drinks to my couch.....
haha, not only that.... I hope to create a simple to use fully open source autonomous platform that is capable of navigating from one point to another in most environments. I hope to be able to do this with the smallest budget possible.
Autonomous robots have been out of reach for many years, both for their cost and the complexity of programming such a system. I hope that the Jeremy butler project will not only serve me food and act as my humble servant but will also act as a fully accessible platform that anyone can utilise for autonomous robotics.
How the project will alleviate or solve the problem:
Jeremy will set out to be a simple to use autonomous robotic platform bridging the gap between traditional sequence based robotics and autonomous robotics.
How the project will be world changing:
British Butler bots for all mankind!
Not only that, I hope that this platform can be used for a whole host of projects possibly enabling younger makers and programmers to create their own autonomous platforms. Examples could include;
- Aged care robotics (the 'Jeremy platform' could be used to aid elderly citizens in everyday tasks such as carrying the shopping or other items around the house).
- Shopping center robotic aid (the platform could be used to help customers in a shopping center with their bags).
- Exam hall robot (the platform could be utilised in exam halls! During exams students request certain items such as tissues, extra writing booklets etc. Maybe this platform could be used to deliver those items to students, in a more efficient manner).
The ideas are endless.
Jeremy will operate in 2 different modes (however more modes will be added as i improve Jeremy's programming and functions).
Mode 1: Delivery mode
Delivery mode enables Jeremy to travel from one point to the other. Using his colour sensor along with ultrasonic sensors Jeremy will navigate from his starting position to the delivery point. (From Point A to Point B), on each point will be a colour marker to notify Jeremy that he has reached his destination.
Delivery mode flow chart:
Mode 2: Autonomous roaming mode
Since Jeremy will be carrying drinks, food and other items on his tray I would like him to be able to roam around the house whilst visitors are at my house. This way he will be able to delivery drinks to everyone. Jeremy will use his ultrasonic sensors and bump sensors to ensure that he does not run into anyone, he will also travel at a slower speed whilst in this mode.
The autonomous mode will be much harder to program and develop, there are multiple ways to approach this mode:
Line following: This is probably the simplest way to approach the issue, it involves placing a line on the ground around the dinner table. If Jeremy come across an obstacle (ie: a person) he will stop and wait until the obstacle has moved. Jeremy will also talk notifying the obstacle to 'move out of the way.'
Camera tracking: Placing a camera on-top of the roof and communicating to Jeremy wirelessly could also solve the autonomous issue. Unfortunately I do not have the components or know how to use this technique, however it could be used in the future.
Combination: Alternatively i could use a combination of both approaches. This could involve using markers for each corner of the table (maybe a strip of tape with different colours). Jeremy could also use an accelerometer to ensure that he travels in a straight line and once he approaches a specific colour he either turns left or right. I could also possibly use a camera on top of the roof (if my parents let me :D).