Dear community,
do you‘ve any tips regarding calibration when using the bittle socks?
In my testing area there is just slippery parquet, what seems to be problematic for bittle.
So i attached the socks on my bittle, but alas most of the instinctives won‘t work anymore, mostly bittle fall on the side or don‘t work straight forward.
I‘ve spend appropriate effort to calibration, because i know, how important a good calibration is for further movement. And mostly everthing works fine without socks, but bittle hasn‘t a good grip.
So maybe you‘ve some tips (otherwise i‘ve to change calibration on my own, but maybe there is already a working ‘solution‘ ;) ).
Thanks in advance.
And here's a slight adaption with another phase-shift (one leg after another):
const char zero[] PROGMEM = { 43, 0, 0, 1, 38, 76, 39, 77, -9, 4, -9, 5, 41, 78, 39, 77, -10, 0, -9, 8, 45, 78, 40, 77, -11, -5, -9, 11, 48, 76, 41, 77, -11, -11, -10, 14, 52, 71, 42, 77, -12, -16, -10, 17, 55, 63, 44, 77, -12, -19, -10, 19, 58, 52, 46, 76, -12, -19, -11, 22, 61, 40, 48, 76, -11, -15, -11, 24, 64, 30, 50, 76, -10, -10, -12, 26, 66, 22, 53, 76, -9, -4, -12, 27, 68, 17, 56, 75, -8, 1, -12, 28, 70, 16, 58, 75, -7, 4, -12, 28, 71, 16, 61, 85, -5, 4, -11, 14, 73, 17, 64, 90, -4, 3, -10, 12, 74, 18, 66, 90, -2, 2, -9, 17, 74, 19, 68, 90, -1, 1, -8, -9, 75, 21, 70, 90, 0, 0, -6, -26, 75, 23, 72, 90, 2, -1, -5, -41, 76, 26, 74, 80, 3, -3, -2, -43, 76, 28, 75, 64, 3, -4, 0, -38, 76, 31, 76, 52, 4, -6, 3, -28, 76, 34, 77, 43, 4, -7, 5, -17, 78, 38, 77, 39, 0, -9, 8, -9, 78, 41, 77, 39, -5, -10, 11, -9, 76, 45, 77, 40, -11, -11, 14, -9, 71, 48, 77, 41, -16, -11, 17, -10, 63, 52, 77, 42, -19, -12, 19, -10, 52, 55, 76, 44, -19, -12, 22, -10, 40, 58, 76, 46, -15, -12, 24, -11, 30, 61, 76, 48, -10, -11, 26, -11, 22, 64, 76, 50, -4, -10, 27, -12, 17, 66, 75, 53, 1, -9, 28, -12, 16, 68, 75, 56, 4, -8, 28, -12, 16, 70, 85, 58, 4, -7, 14, -12, 17, 71, 90, 61, 3, -5, 12, -11, 18, 73, 90, 64, 2, -4, 17, -10, 19, 74, 90, 66, 1, -2, -9, -9, 21, 74, 90, 68, 0, -1, -26, -8, 23, 75, 90, 70, -1, 0, -41, -6, 26, 75, 80, 72, -3, 2, -43, -5, 28, 76, 64, 74, -4, 3, -38, -2, 31, 76, 52, 75, -6, 3, -28, 0, 34, 76, 43, 76, -7, 4, -17, 3, };
The gyro takes a significant calculation time in the loop. By turning it off, it will accelerate the walking cycles, and change the stability of walking.
I have tried with and without socks. No socks is less grip, because I have a slippery parquet floor too. All socks makes the dog very unstable, because the front legs resist when the back legs try to push forward. I get the best result (walking and running), if I use 2 socks on the back legs (and no socks on the front legs). That way the back legs have grip pushing forward (the front legs slip a little but that makes moving forward more easy) so the forward speed is highest that way.
I also discovered the gyroscope can be turned on and off (if you use the remote control, press the top right button to do so) and this has a huge impact on how the dog moves (running, walking, etc). So if you can't get it to walk the way you want, you can try turning it on or off and see if that gives a better result.
That was the final point 😀
Finally I got smooth movement gif with magick.
Thanks!
@Gero Even with the standard parameters its notchy, but i tried out using ezgif, like suggested by @Rongzhong Li, instead of magick, and now its smooth.
Unfortunately i can't post my answer with gif's attached (or with gif's as small image, i don't know, why).
That's the command use of magick:
magick.exe convert -delay 5 -loop 0 $(ls -v Bittle_*png) Bittle_moving.gif
But it clearly seems to be a problem regarding gif animator tool, because with the same source .png's i got smoother result with ezgif.
Of course i could use ezgif in future, but generally i prefer local tools.
https://ezgif.com/maker
I used this compressor to make all my animations on the page. You can play with the parameters to get a sweet compression ratio. Reducing the color depth and adding a background mask will save a lot of memory.
Perfect, in this way its even much better, because i can use the same tool for all.
So one further point:
Do you have any tips, to get a smooth .gif? It doesn't matter, which algorithm i'll use, the movement output is in every case 'notchy' (and i don't know, what be the result, when i try it on my bittle, so before i damage it, i just want to clear that point).
Your movement .gif's were far, far smoother than mine (I use magick, too).
And the smoother the gif, the better i can identify points for improvement in movement.
@Gero Currently i'm tinker with the kinematic script, but still have some jumps within, regardless of which optimization algorithm is in use, but i will check it the next days :) (i need some time, to understand what i'm actual doing, when i'm changing specific parameters, cause there is a lot of new stuff to learn/understand).
I understand the changeable parameters in python script, but i still have some problems in understanding, what is changing, when i adjust the subplot pattern.
Do you have a recommendation regarding software for behaviours/postures, too?
I derived a new gait and changed a few parameters in the kinematic model to get Bittle better balanced (e.g. shifting legs backwards, increasing swing height for the legs). With switched-off Gyro-Mode and socks Bittle moves forward reliably. It's still a little bit of try and error, but I think with a little more patience it should be possible to find some good sock gaits.
const char zero[] PROGMEM = { 57, 0, 0, 1, 35, 76, 51, 77, -7, 4, -14, 18, 37, 77, 50, 77, -8, 1, -12, 21, 40, 78, 50, 76, -9, -2, -12, 24, 43, 78, 50, 76, -10, -7, -12, 27, 45, 76, 51, 75, -11, -11, -12, 29, 48, 73, 52, 74, -11, -15, -12, 32, 51, 67, 53, 74, -12, -18, -12, 35, 53, 60, 54, 73, -12, -19, -12, 37, 56, 52, 55, 72, -12, -19, -12, 40, 58, 43, 57, 72, -12, -16, -12, 42, 60, 35, 58, 71, -11, -12, -12, 44, 62, 27, 60, 71, -11, -8, -11, 45, 64, 22, 61, 70, -10, -3, -11, 46, 66, 18, 63, 70, -10, 1, -11, 47, 68, 16, 64, 70, -9, 3, -10, 47, 69, 16, 66, 79, -8, 4, -9, 35, 70, 16, 68, 87, -7, 4, -9, 22, 71, 17, 69, 95, -5, 3, -8, 10, 72, 17, 71, 101, -4, 3, -6, -2, 73, 18, 72, 106, -3, 2, -5, -13, 74, 19, 73, 108, -2, 1, -3, -23, 74, 21, 74, 108, -1, 0, -2, -31, 75, 22, 75, 103, 0, -1, 0, -37, 75, 24, 76, 95, 1, -2, 3, -40, 76, 26, 76, 84, 2, -3, 5, -39, 76, 28, 77, 73, 3, -4, 7, -35, 76, 30, 77, 64, 3, -5, 10, -29, 76, 32, 77, 56, 3, -6, 12, -22, 76, 35, 77, 51, 4, -7, 15, -14, 76, 37, 77, 50, 4, -8, 18, -12, 77, 40, 77, 50, 1, -9, 21, -12, 78, 43, 76, 50, -2, -10, 24, -12, 78, 45, 76, 51, -7, -11, 27, -12, 76, 48, 75, 52, -11, -11, 29, -12, 73, 51, 74, 53, -15, -12, 32, -12, 67, 53, 74, 54, -18, -12, 35, -12, 60, 56, 73, 55, -19, -12, 37, -12, 52, 58, 72, 57, -19, -12, 40, -12, 43, 60, 72, 58, -16, -11, 42, -12, 35, 62, 71, 60, -12, -11, 44, -11, 27, 64, 71, 61, -8, -10, 45, -11, 22, 66, 70, 63, -3, -10, 46, -11, 18, 68, 70, 64, 1, -9, 47, -10, 16, 69, 70, 66, 3, -8, 47, -9, 16, 70, 79, 68, 4, -7, 35, -9, 16, 71, 87, 69, 4, -5, 22, -8, 17, 72, 95, 71, 3, -4, 10, -6, 17, 73, 101, 72, 3, -3, -2, -5, 18, 74, 106, 73, 2, -2, -13, -3, 19, 74, 108, 74, 1, -1, -23, -2, 21, 75, 108, 75, 0, 0, -31, 0, 22, 75, 103, 76, -1, 1, -37, 3, 24, 76, 95, 76, -2, 2, -40, 5, 26, 76, 84, 77, -3, 3, -39, 7, 28, 76, 73, 77, -4, 3, -35, 10, 30, 76, 64, 77, -5, 3, -29, 12, 32, 76, 56, 77, -6, 4, -22, 15, };
The code for gait generation can be found here:
https://github.com/ger01d/kinematic-model-opencat
mea culpa, i didn‘t pay attention to this thread, before posting my question 🙈
Big thanks, i will check it.
Do you have a recommendation for adjusting the movement in general?
I've checked all movements, and currently just crawling forward and back movement works fine with socks (regarding gaits).
Currently i've still some problems with trot, walk and run and i've no idea, how i can improve the existing gait, so it will function, too.
But it is difficult and time-consuming with simple try&error. May be there is a tool ot the like.
How do you developed the movemtents?
Hi, the current parameters are tuned without the socks.
Friction plays an important role in dynamic balancing during walking. Though socks can improve grip, they will also amplify the differences of unpredictable surface. So for regular use, we recommend running Bittle without the socks, unless you can tune the gait or need friction to perform some specific tasks.