Brian Mechanism - Design for Affordability and Scalability
Tags: robotics, brianmechanism
Published: 2022-07-24 20:38:00

{% youtube https://www.youtube.com/watch?v=-NHHuo9FuA4 %}

We have been building what should be the world's cheapest agricultural robot. The design that has been established for its platform should have use in several other areas, including: construction and manufacturing.

The chief requirements for our robot are (1) that it be rightly prized to be afforded by the people that need it most. The big farmers, while this should be useful to them as well, already have other machines that they can rely on. (2) That is be scalable. By scalable we mean that it can be used on small as well as large farms.

**1. Cost**
Most precision machines fall into the class that is classified as fixed robots. These have a fixed table and some means of controlling an end effector to achieve some translations or rotations on a number of axes. The end effector moves relative to the table. Its position is determined relative to some datum on the base. An inversion of this arrangement is also possible where the end effector is fixed on some axes and it is the table that moves instead along or about these axes. 

To achieve high precision and accuracy, fixed robots require:
1. Highly machined frames
2. Actuators that can be accurately controlled.
3. Optionally, a closed loop control system. Open loop control systems using stepper motors have been used in 3D printers with good success.

But many of these fixed robots, even when they are small in size are quite expensive. This is the reason why such places as GearBox exists where you go and pay to use even the simplest of machines. If the cost of these machines could be brought down, even if it be at the cost of a reasonable sacrifice of precision and other quality parameters, they would help spur creativity and greater invention. It is for this that we are designing.

These machines are expensive for a large number of reasons. Of interest to us are:
1. Choice of material. This is the case for instance with Farmbot which uses expensive aluminum for its frame when agricultural work does not require the precision of accurately machined aluminum. ___The solution for this is to use a composite frame___ consisting of aluminum and other cheaper material. Steel for instance, may be heavier, but it is readily available and more cheaply prized.
2. Superflous material. Some robots use more material than they need. Again in the case of farmbot, it uses more aluminum that it needs for its rail and gantry. The rail of farmbot max was entirely an aluminum V-slot. Its structural integrity is not sacrificed by doing away with some of the aluminum. It is possible to reduce that expensive material by as much as half. 
3. Big sizes. When a machine is intended to work over some size of workspace, it is built to cover all that area. The advantages of a compound robot are hardly ever in mind.
4. Place of manufacture and intended market. Machines designed and made for the western markets are always too expensive for us. 

Now here are the solutions:
i. Local design and fabrication. Here is the most obvious means of reducing the cost of these robots. For here they will find less prized technical as well as non-technical skill reducing thus their production costs. The production costs do not depend alone upon the cost of manufacture, but also on the costs incurred in the design phase. The faster we begin designing and producing our robots ourselves, the sooner we will be having them in our farms.
ii. Expensive accurately machined material for the frame for the axes for __cartesian coordinate robots__ can be greatly reduced. This is accomplshed by the following steps: (i) The cross-slide carried by the frame has its length increased to `Lc`. There is a minimun length of frame that can support the cross-slide. This length is `Lf`. (ii) The frame is broken into sections of `Lf` in length and spaced `Lc - Lf` apart.

The `Cyan` in the image represents `Lc` while the `Red` represents `Lf`. The `Black` reprensents a less expensive material.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rtnoe2m851m402ne9qlm.png)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/thqr77ldejo4hbkydu2c.png)

You can see it in action [here on youtube](https://www.youtube.com/watch?v=Hq0gajUEf0E).

The total length of expensive material now needed for the frame is: `nLf` for a length of frame equal to `nLc - Lf`. The total saving is equal to:
{% katex %}
 n(Lc - Lf) - Lf
{% endkatex %}
The greater `Lc` is the greater the savings are. Make it as great as the load will allow.

![Percentage Savings](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3rhqp673ednuvos3zk8f.png)
![Percentage Savings](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eerjh1kbdsfrlw40hd3z.png)
This answers to the problem of superfluous material as well as choice of material. The places where the expensive material has been removed can be supplied with a less expensive material, represented by `black` in the image.

iii. Reducing the size of the robot and making it scalable by turning it into a compound robot as discussed in the next section.

**2. Scalability**
The obvious way to make a fixed robot work over an area greater than its workspace is to place it on wheels, or on legs using any walking mechanism. But the wheel was designed for moving its payload from one place to another with very low precision. It was not designed for precision robotics. 

Wheels slip when the axle is translated by a value not equal to that moved by the circumference of the wheel. For example when stopping a moving wheel, the wheel becomes locked and does not rotate, but it will move for some distance before it stops. Equally when a wheel accelerates very fast, it generates a force that may overcome static friction so that it spins. The coefficient of friction between the surface and the wheel is also not constant, making control difficult.

The wheel has the advantages of (1) speed, (2) energy efficiency since it does not move the payload vertically relative to the ground as some walking mechanisms do (3) scale: a wheel can go anywhere, unlike fixed robots. But due to slip, it does dismally on precision. So there have to be very complex control systems to correct the errors in its displacement if it has to be used in a precision robot. These control systems have within them equally complex sensor systems which go by such names as "sensor fusion", LIDAR, GPS, etc. Open loop control systems cannot be used here. This means that in robotics, wheeled systems are expensive if used in precision robots.

Grouping robots into categories based on their mobility we have (1) fixed robots and (2) mobile robots. But the wheel, its advantages and disadvantages, is a model of the mobile robot since for the most part the mobility of a robot is achieved by putting it on wheels. Fixed robots on the other hand use a rigid structure to constrain the payload (on an end effector) to achieve the desired precision. The rigid structure is a highly and precisely machined material such as heavy thick steel or aluminium. But such materials do not come cheap. It is therefore economically impossible to scale a fixed robot to a reasonable size for several outdoor applications, such as for agriculture. The case of the [signal failure of Farmbot Max](https://farm.bot/blogs/news/putting-farmbot-genesis-max-and-express-max-on-hold) illustrates this well. Although cable systems may be obtained at a cheaper material cost so that they can cover a larger workspace, they also have a limit beyond which they cannot be extended.

Listed, the following are the advantages and disadvantages of mobile robots on wheels:

|Advantages | Disadvantages |
|-----------|---------------|
| Scalable. *Wheels can go anywhere* | Low precision  |
| High speed, *compared to walking mechanisms*         | Complex control systems  |
| Simple design | Very expensive|


For a fixed robot we have:

|Advantages | Disadvantages |
|-----------|---------------|
| High precision | Not scalable |
| Open loop control possible| Unreasonably small scale for agricultural applications |
| Affordable when small in size | |

### The Solution
The solution then is to design a compound robot. This way we have the  precision of fixed robots and avoid the costs associated with mobile robots. But since the fixed robot is already in place, the design work is reduced to that of a means of moving that rigid frame of a fixed robot from precisely one point of reference to another. 

The small difference between this compound robot and a mobile robot is in the way the legs are moved in relation to the motion of the payload. In mobile robots continuous motion of the payload requires continuous motion of the actuating system which can be some set of legs or wheels. It is the motion of the actuating system that results in the displacement of the payload.

However, in the compound robot, there is no relation between the motion of the payload and the legs. For instance, continuous motion of the payload is accompanied by intermittent motion of the legs. This means that unlike in mobile robots where slip can occur at any time, in compound robots there is no slip when the robot is moving from one small workspace to the next. If a means can be devised for grounding the fixed robot frame down hard enough to overcome any slip that may be created when working, then the slip problem will have been solved. The frame can be grounded during its rest periods.

Some suggestions for mechanisms for turning a fixed robot into a compound robot are available [here on github](https://github.com/brianmechanism/models) 
![Brian Mechanism](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sv8r3f1w4x8es2knoslz.png)
![Brian Mechanism 1](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2k8po51vpxtglcfa3mdk.png)

These suggestions are a class of mechanisms easy to be confused with walking mechanisms, but they are not walking mechanisms. They are a class of mechanisms which we have named _Brian Mechanism_. The difference between the two is discussed in [Brian Mechanism - What it is](https://dev.to/surgbc/brian-mechanism-what-it-is-5hch)