After our adventures with the STM32 board and the communication challenge of last week, we spent our weekend trying to catch up on the project. So here are our conclusions :
In order to start working on the project before we get the components, we have been searching for a way to simulate our robot behavior. After some researches we finally decided to use V-Rep . The reason of this choice are that it is free for students, it has all the features we need for the simulation and can even simulate proximity sensors or a camera, and last but not least it offers a 3D model of an hexapod (you can see it on the screenshot below) very close of what we are planning to do. The scripting of movements can be done in Lua, and as soon as we will be familiar with the API we will be able to start some simulations on our own.
This weekend choosing the servos for the project took us a huge amount of time and we’re not yet totally sure about our results. We read back our old mechanics courses and did some calculations. To get a result we did a few approximations so our results are probably a bit over-estimated.
There is a quick graph of one leg of the robot :
If we call C1, C2, C3 the torques maximum that should handle the servos 1, 2 and 3, we obtain :
C2 = m/3*g(l1*cos(beta-alpha) – l2*cos(beta))
C1 = m/3*g*l1*cos(beta-alpha)
C3 = m/3*g*(l1*cos(beta-alpha) -l2*cos(beta) + l1)
The torque will mainly depend on the extent of our moves. In order to get an idea of what we need we used the simulator to measure the angles during a plane movement already implemented with an actual gait. We obtained the graph below with time on X axe and angles in degrees on Y axis :
With these measures and our calculations we estimated that for a 3kg robot we will need at least 12kg.cm for the servo 3, 8.9kg.cm for the servo 1 and a bit less for the servo 2.
Vacuum cups :
The vacuum cups should be able to hold the robot when it is not walking on the ground. The robot will always have at least three legs in contact with the support. So each vacuum cup should handle up to ⅓ of the total weight of the robot. This document gives a table of the force a suction cup of given diameter can admit under a given vacuum. It also explains that this force should be divided by four if it is applied laterally. So if we consider a robot of 3kg, each vacuum cup should be able to hold a theoretical force of 40N.
We have found some vacuum cups that seem to fit our needs. We plan on choosing a plan round suction cup, a bit more than a 4 cm diameter: here is the link towards those suction cups.
For now, our main choice would be this one.
Vacuum generator :
Considering the above-mentioned table, we have laid our choice on Alldoo’s CMP30-3P, whose characteristics (rate 12L/min, max vacuum -800mbar) would allow us to perform 3 steps in 5s, (one step involving 3 legs), but that doesn’t take into account the legs’ move time. We don’t know the weight, but this one, from the same constructor with similar dimensions and structure (even a bit wider) weights no more than 240g, which is still acceptable. We have contacted Alldoo in order to have prices and weights.
They should be able to undergo a (-)300-500 mbar vacuum. This one is made for undergoing from 0 up to 140 psi (9652,66 mbar), so it should work just fine. The dark point is we don’t have any indication regarding dimensions, except a 6mm diameter for the aperture, which is big. Note that the larger the valves and pipes, the better the inertia of the whole air system will be (towards a cup being stuck, especially).
For our robot not to be blind, we plan on adding two proximity sensors: infrared and ultrasonic. The first one will do short distances between 20cm and 150cm while this other can detect up to 4m ahead. In order to cover the whole 360° around it, we will use a platform controlled by a servo (much weaker than the others) on which we will hold the sensors. We will then be able to fully rotate it, thus enabling our robot to walk and sense in any direction.
Here are two sensors that might do the trick: here for the sonic sensor, and here for the other one. We should need only one of each.
We need 6V for servos and 12V for pneumatics (pump and valves). Having 2 different batteries would allow us to avoid multiplying this with all these amperes. For 12V, we could take these ones, which give us 40mn of autonomy, or perhaps something a bit heavier if we can find light enough a camera. For 6V, these ones would feed the servos for about 30mn, not counting the cards and captors, and are already a bit too heavy. We’re searching for better.
Aurélien, Bertrand and Guillaume.