AZURIT FULL ODOMETRY MOUVEMENT CONTROL

Hi
Coils Quantity ?
In fact there are 3 coils on my mower but i use only one at a time.
At the beginning i install the left and right to test sunray but i can't make it work.
So i add the center one for correct docking and continue to work on my Azurit Version.

Normal Azurit read only the left coil and into my version i add the reading of other coil but to do what :
I read that it can help to choise rotate dir but the Bylane solve this issue.
To help Localisation,(no enought accurate for me).
To track, The tracking work like a charm with one coil so i don't need more.

So maybe other idea?.
 
For me two coils have the advantage to go through passages and find out of dead ends much easier.

Bernard, have released your code somewhere? I am interested to see how you have realised your line following.
 
Hi roland.
You can find the all my code into ZIP in this post
http://www.ardumower.de/index.php/d...ull-odometry-mouvement-control?start=60#14187
For the tracking 5 month ago i post the code with a lot of comment ,you can find here: http://www.ardumower.de/index.php/d...reduce-vibration-when-tracking?start=60#12516 But it's not the last version.

The principe is that the mower try to always keep the SMAG at is minimum value (so just upper the wire).
You can find the tracking code into
void Robot::motorControlPerimeter() {


The result at normal speed and high precision https://youtu.be/JkFqfxx5IQI
and funny the test at Max speed here but can't manage 90 Deg angle (it's real time video)
http://www.ardumower.de/index.php/de/forum/perimeter-receiver-and-sender/1280-how-i-reduce-vibration-when-tracking?start=100#12575
 
Nice linefollowing although the amplitude of the perimeter is fluctuating round about 25% (in my tests) because we use only a 4time oversampling.

A very interesting part is the code:

if (perimeterInside) perimeterPID.w = -0.5;
else perimeterPID.w = 0.5;

If the coil is inside of the perimeter, the magnetude is negativ in Azurit. And instead to steer to the outside of the perimeter while inside, it steers to near inside perimeter and vice versa outside.

Another thing is, that the amplitude outside is lower than inside. This means the pid reacts outside less strong than inside. To get an equal shape of the amplitude inside and outside I did in my earlier code following line:
if( perimeterMag> 0)
perimeterMag*= 1.34f;
 
If the coil is inside of the perimeter, the magnetude is negativ in Azurit. And instead to steer to the outside of the perimeter while inside, it steers to near inside perimeter and vice versa outside.

Yes it's one of the main difference with the original Azurit code and the other is the slow return to wire.

I have recorded value while tracking and the result show that the mower can stay Inside or outside during long time at very low MAG .
The excel into ZIP show the result of straight line ,90Deg Angle and again straight line.

perimeterMag*= 1.34f;
Never think to this point but 1.34 is really high,
Into my config the difference between in and out is not so important but maybe only 1.10 can help.

By.
Attachment: https://forum.ardumower.de/data/media/kunena/attachments/3545/trackresult.zip/
 
Zuletzt bearbeitet von einem Moderator:
Hi Max.
The Video link is not into your post.

You can't put some type of file as link into the forum (eg EBay etc..)
To avoid this problem simply create a Zip folder on your desk and put the file into .
Or better use YouTube,it's work well and easy to create account.
I Use Windows live movie maker to add comment into video but i think YouTube have is own one so .
By.



By.
 
The video work perfectly.
The mini is very funny
For the parameter maybe it's too fast for mowing.
Try to slow the mawpwm motor value and i think the result is better.
 
Morning Bernard
I will slow it down as you suggest
It would be good to make a downloadable excel file with all of the pfod settings and what they mean.
I can help out if you like. Making the file would help me to learn the settings
What do you mean funny? I think she looks like a mechanical insect
I have a full scale Adrumower however i find it easier to work on this mini
I put the guy-88 on a wooden post to reduce the potential noise
All suggestions to improvements gratefully accepted
Max
 
Yes a FUNNY FUTURIST INSECT.

For the setting i try to make screen shot of the PFOD and add comment on parameters.
I suppose you use the perimeter wire ? and not the Sonar.
But there are Strange behavious on your video (When the mower reach the wire normaly it brake and reverse, Sometimes it's OK but other time the mower rotate without reverse?)

For a correct setting of motor:
look at setting motor

Speed ODO Minimum
The speed ODO Minimum is used like that :

When the motor brake it need to have enought torque to turn the wheel and to reach the odometry cible so do not put a too small value.

If the value is too low mower brake a lot but at low PWM the motor don't have enought torque to turn and the mower stop before the odometry cible, And after a 5 Secondes pause timeout the cycle continue but the mower is ofen on pause mode.

If the value is too high the mower don't brake enought and the movement is very fast but not smooth (i think it's what i see on your video).

Value is 50 for my mower but you need to adjust for you.
Try a very small value 10 for example until you see that the mower wait 5 or 6 second at the end of each move.
When you see that the mower wait, it's that you find the minimum value (to make turning motor into grass) .
Put a gently higher value and normaly it's OK on flat grass.
If you have a lot of slope into your area increase a little this value.


Speed ODO Maximum

The speed ODO Maximum is used when the Wheel need small distance you can see this behavious when rotate
A too low value and the mower can't rotate and wait.
A too high value and the mower rotate but not smooth.

You can use the Manual mode and Forward into grass and verify by changing the MOTOR Max PWM value that the mower stop to move at low PWM value.

Into Perimeter
Stop Distance/Perimeter
When reach wire it's the braking distance.

Rev Distance/Perimeter
Reverse Distance after Stop and before Rotate.


Do not hesitate to put other small video.
 
Zuletzt bearbeitet von einem Moderator:
Dear Bernard
In the video I was using sonar and the perimeter.functionality. There was one time the sonar made the mower reserve at the perimeter wire.
I guess that sonar needs to be turned off if you are using a charging station. I am currently making a charging station so any info on that will be appreciated

The spreadsheet is great. I will take a closer look tomorrow and respond with any suggestions

Is there a place in this forum for key documents like this?
regards
Max
 
I have enclosed the link to another video. It shows land by lane. The lanes are crossing each other maybe because I knocked the compass of alignment.
What do you think

https://youtu.be/njhoBsBjGPQ
 
I can compile for Arduino Due but when I choose Mega2560 as target I get a
sketchadcman.cpp:2:18: fatal error: chip.h: No such file or directory

Any Ideas?

Regards, Jochen
 
Hi Max.

First set the Mower in OFF mode and go into setting IMU.
IMU1.png


Verify the Pitch,Roll are near 0 and that the YAW (not the ComYAW) don't change gently and non stop.(It's call the DRIFT).
If Yes wait a little ,normaly it's stabilise automaticly.
If No you need to repeat the calibration process, but normaly if you have not change the IMU position all need to be OK.

Into the setting you have also parameter To automaticly limit the Drift .
IMU3.png



Delay between two calib.
In auto Mode each time this delay is reach the mower stop and rotate until the Compass is the YAW of the actual Lane.
Normaly after 4 or 8 sec it's OK and the mowing continue.
When stop:
The mower read and store the Compass and the GYRO during During 4 sec
it compare the Max and Min Value from GYRO and if inferior to Max Drift per sec *4 the Calib is OK and it use the average of all the reading value from Compass to set the YAW OFFSET between Compas and GYRO.
If the Drift is not OK the mower repeat this 4 sec step
If the Max Calib Duration is reach the mower continue to mow but into random Mode.
This Procedure is used to don't use the Compass during mowing so you don't need a big Towel.


In your video i think it's only Bylane Setting of the Opposite.

See post http://www.ardumower.de/index.php/d...ull-odometry-mouvement-control?start=20#13962 You need to go into setup and Bylane Setting.

Increase a little Distance Between lane.
At the beginning Try with only 5 Meter lane
You need to adjust the 2 opposite yaw (right and left) for each lane Nr 1, 2, 3.
Change value and at real time you can see the mower heading change, until parallele lane.

For the SONAR:
For the moment The Sonar is not check during perimeter tracking(Only the BUMPER),So no problem with station.
When i have time : During tracking the sonar simply reduce the SPEED to avoid hard docking.
Attachment: https://forum.ardumower.de/data/media/kunena/attachments/3545/IMU3.png/
 
Zuletzt bearbeitet von einem Moderator:
Oben