From Wikiversity - Reading time: 6 min
This article describes the building of a set of simple, open-source, domestic robots.
This differs greatly with some common domestic robots as robotic lawn mowers; which use a border wire and sensors. Parameters such as the setting of the cleaning/mowing tool radius and the area which is not covered (between the tool's radius and the 4 sides of the machine) should be able to be altered (for each type and size of robot) No additional sensors, or collision detection, ... are to be foreseen
The approach followed has some great advantages; these include:
The disadvantages are:
These include:
2 types of domestic robots are to be designed:
The vacuum & mopping robot is to be designed to incorporate 2 functions:
Surfaces that allow both vacuum cleaning & mopping; will always use the dual function. Other surfaces such as sandy driveways and water permeable garden paths can use only the second function.
The vacuum cleaner is to incorporate from the front to the center of the device following utensils:
Depending on the initial tests, the brushes may be fitted unto a rotating disc (to increase scrubbing) and perhaps the mop may be left out completely depending on how much water actually winds up being left over on the floor. If this amount is so little that it evaporates quickly anyhow, the mop is best left out. Also, perhaps the mop may be fixed to either an automatically roll (rolling up when filled with water into an extra container under the mop in tilted position).
The lawn mowing robot can be made from a regular (push-)lawnmower. This avoids needing to build it entirely from scratch. The tank of the regular push mower is first filled with biobutanol. This way, it is already emissionless, and some of the power obtained from this renewable energy source can be used to power the electronic components that make it robotic. Next: making it robotic. We do this by implementing a printed circuit board (PCB) which is to incorporate the guidance system, and 2 motors that connect to either of the back lawnmower wheels via an axle (the front wheels are unpowered and are made rotatable (mount wheels with freely rotatable axles).Next, the main engine (already used for rotating the blade) is given a dynamo or alternator (mount this on the drive belt, ...). The power generated from this is then relayed to the PCB. Rotating the mower after every straight run is done by powering the 2 back wheels in opposing directions. The 2 front wheels will simply follow the movement of the back wheels. In addition, we need to allow the PCB to control the throttle and the pull cord. The latter can be done by means of a solenoid that can pull on the pull cord. Then, we need to allow the robot to discard the clipped grass in the container somewhere. We could do so by making a small, deep hole in the garden where the lawnmower can be instructed to ride over once the container is full, and empty the container via a (electrically operated) trapdoor in the container. This solution allows the user to reuse the grass, ie for composting purposes. Another method is to simply install a mulching kit on the mower, so that no container is necessairy and less programming is needed. The downside however is that the blade too needs to be swapped, and no grass can be reused for composting purposes.[1][2]
Why don't you use a border wire and sensors ? As mentioned before, the sensors create an extra cost to the robot. However, as you probably noticed that the robot thus requires an augmented GPS receiver, additional equipment for computation and compass, this is not the only reason. Another reason is that for most of the robots, the use of this method which makes sure that the robot uses straight runs is actually much more effective. Also for some of them (e.g. agricultural robots), the robot cannot just swarm around the field anyhow; the crops placed in the rows would obstruct the robot.
I noticed you described the conversion of a lawn mower; why isn't there a more efficient lawn mower design foreseen next to the lawn mower conversion design ? For example, a legged lawn mower could be more efficient than a wheeled or tracked one. Indeed, I thought of this; however the use of lawns altogether is a mistake. Instead of lawns, paths made from small or large rocks, and the use of indigenous (long) plants is actually a more suitable and natural approach. Also as seen in xeriscaping, the plants then no longer require watering, fertilisation, ... However, as lawns today are such a common part of many gardens, the use of a robotic lawn mower is still a must. This however does not mean that it is useful to spend the time on designing a new, more efficient, lawn mower.
What possible expantions to the project could be done ? A possible expantion of the project I was thinking about was the use of the software in a soil cultivation robot (for preparing the soil before planting or sowing plants, or removing weeds). Also, a pruning robot could be an expantion of the project. However,as these machines are more useful to commercial entrepreneurs than home users, it is doubtful that they could use a small robot; rather the robot guidance system is better implemented to farm tractors (which can mount harrows, ploughs, ...). Also, I am not sure whether using the more efficient agricultural techniques (e.g. no-till farming) they would actually still be useful.
A small pruning robot however could be useful to make from scratch.
What about a fruit picking robot ? No, I considered it but fruit picking robots require far more advanced sensors and programming. It is doubtful that any DIY fruit picking robot project will succeed in this any time soon and I believe the costs for doing so will probably be higher (or just as expensive) than the commercial products now on the market. Also, given the fact that again this is a device for professional users, the time required for digging into this type of robot simply isn't worth it.
'Could domestic robots utilize large language models? Possibly - large language models could be used to verbally interact with provide the domestic robot with instructions/requests.