Improvements in the projects
In this project a ring is built so as to light up only when worn in the finger, otherwise it has to remain off. The basic design of the ring includes two 1.5 V batteries connected with a push button when worn in the finger gets pressed and the led light gets switched on otherwise push button keeps the circuit open. This basic design involved a problem that it could not be worn into finger for a long time as the push button causes pain in the finger as it is pressed when worn in the finger. So, we have to design a circuit that includes use of proximity sensor or any other sensor and microcontroller to turn the led on when the sensor sense the data after a certain threshold distance.
First Prototype:
Circuit open==> Led Off==> Push button(On when finger presses it)==> Circuit closed==> Battery(3V)(current flows)==> Led On
Suggest solution for the problem:
Led off==> Batter(3V)(to power the circuit)==> Sensor(receives signal)==> Microcontroller==> Sets Led pin High
As used in the example, we'll be using an IR sensor which is smaell enough to fit in a small space like an led just to detect the finger. The IR sensor when it receives a signal will then be sent to ATTiny 45 microcontroller which is small enough and can work for less than 3V. We will be programming microcontroller to turn the led on after receiving signal from IR sensor. This approach has an advantage as the IR sensor can be purchased in a low cost.
We'll use capacitive touch LED sensor developed by Visual Communications Company (VCC) that has size specification 15.0 mm x 15 mm.0 x 3.2 mm. That would be a very good method as the led will be on only when it is touched with conductor like human skin (if we wnat this quality in it too). As suggested in the example, we would be using ATTiny45 microcontroller which will be small and has a sleep mode and can work for less than 3V. These touch sensors have a special quality that these can operate anywhere between 2 to 5.5 V DC. We will be programming microcontroller to turn the led on after receiving signal from IR sensor.
In Reinforcement Learning, one important part of the pipeline is to detect the state of the system at all Instances, This Hexapod has 18 DOF, your task is to Integrate different Sensors to the Hexapod and recreate the exact orientation of the Bot in a Computer , How would you plan to do so.
First Prototype:
Motor(moves)==> IMU sensors(accelerometer or gyrometer)==> Microcontroller==> Data received by computer==> Combining data(received from sensors as well as initial data & orientation)==> Building exact orientation
Suggested solution for the problem:
Motor(moves)==> Motor encoders(detects how much motor has rotated in both direction)==> Microcontroller(arduino mega)==> Data received by computer==> Combining data(received from motor encoders as well as initial data & orientation)==> Building exact orientation
So here instead of using IMU sensors and motors combined we'll be using motor encoders which will tell us how many degreeshave been rotated till now. Using motor encoders will have a slight disadvantage of cost which will be merely 50-100 Rs. more than that of IMU sensors + motors combined. But using motor encoders have more advantages over IMU sensors as these encoders can be controlled from computer as well as from remote controller as we'll be having the values of degree rotated easily. We just need to use
The best advantage of using the motor encoders is that it would be so much easy to make it walk like a spider (using its first 6 legs), we can just feed the values of degrees to be rotated or the software can detect the values of angle the spider's legs to be rotated itself without any help and the hexapod can move according to the values given. And since, it can perform basic function of rotating with the help of remote control.
The extra useful advantage of motor encoders over IMU+Motors is the coordination among the motors. As in the case of motors only, the motors might have different speeds for the same voltage and current so, instead of using the motors we'll use motor encoders which will ensure proper coordination of speed between the motors.
Now we'll be connecting microcontoller with computer with I/O pins or input and output to receive as well as to send data.
These motor encoders are also a good option as they can tell us how much the motor (or leg) has rotated 'mechanically' may be by us, by surfaces or by jerk etc. This would also be detected by IMU sensors. But as you know the wires and hardware required would be less here.
We would be marking our hexapod with lines where the motors have 0 degree rotated in either direction and the orientation would be default as the initial condition.
Using reinforced learning, we can make the orientation better and better with the time.
The best smallest and cheapest motor which I could find online was N20 12V 140RPM Micro Metal Gear Motor With Encoder
This is not a part of problem but to make hexapod walk practically we can take the example of how the spider walks() in real life which could be helpful to make the hexapod walk fast: https://www.youtube.com/watch?v=GtHzpX0FCFY
The idea is to include braking system so that if we increase speed. It will consist a mechanical lever in the vertical direction so that to make it stop accurately. This lever can be made with the help of a servo motor and make it pull down when the tyres stop rotating after receiving the signal. This could be of huge advantage in gaining speeds for the motor. This motor's lever at the end would be fixed by a very rough surface proving high friction force but also it will be pulled upside once it has been stopped to a point where it is required to.
Also this will be at a little disadvantage of cost of one more servo motor but using this kind of technique could be useful in a competition or race.
This project been made has used best parts considering feasibility and cost, etc. which makes it difficult for anyone to find or point out mistakes.