RFID On PCB1.3

Hi
I dont have hills in my garden :p
I adjusted now 50W and tried with manual mode to stop mower. The wheels start to make a burn out on gras but then stopped and turn back.
For me it looks perfect.
To adjust the motorSenseRight & left Scale: How can i do this? In Arduremote i can not change the value. The slider is fix. In PiArdu the max value is 3
Thanks
Bjoern
 
Hi Stockfish.
From 11:15:17 to 11:15:24 it's the normal and perfect working mode of the imu

But Now at 11:23:54
Something fail and later the I2C is kill, so the DS1307 RTC error append

If you are sure that this occur only when the IMU is ON maybe a bad connecting
If you have other RTC module maybe you can try one or check the solder on IMU and connector..

WHAT is very Strange is that it's again after 8 minutes so also possible a BUG in the soft because i already see this in the charging but can't understand why and only less than
400 ms
 
Don't adjust factors if you can't measure current. Just find correct number to motorPowerMax
Same way on flat surface, lowest possible number so that mower moves w/o errors.

PID values are 'default' ones

Code:
motorLeftPID.Kp = 1.0;        // motor wheel PID controller
  motorLeftPID.Ki = 0.4;
  motorLeftPID.Kd = 0.0;
 
And up to now i understand this value as: "The mower will cross the wire max 8cm"
More will be dangerous because then he will hit walls or busches or trees or flowers


The distance between wheel is set to 50 Cm, so the wire perimeter need to be at minimum 25 cm of obstacle or the tracking is not OK
If the receiver is at the front the value need to be 15 or 20 cm but not 8 cm.
For wall tree etc the sonar can help.

What king of sonar did you use ?
 
Hi
So i understand the wire perimeter wrong. Sorry. I adjusted now 15cm. Will see what happens.
My Sonar is 3 times HC-SR04. Working not everytime perfect. But sometimes ;)
Is it normal that i everytime i save to eeprom get this error:

13:54:19 LOOP NOT OK DUE IS OVERLOAD -- Over 1 sec 9567
13:54:19 UserSettings are saved from EEprom Address : 2000 To 2503
13:54:09 START TO SAVE USER SETTINGS PLEASE WAIT

I often see this ----LOOP NOT OK DUE blablabla.
Is it normal?
I will check the connection to IMU again. Jumper JC2 to 3.3V for GY-88 MPU-6050 is ok? I also want to install the camera in better housing. Good time to check everything.
Best
Bjoern
 
In Arduremote i can not change the value
Into arduremote info set the developper to Yes to have access to factor.

i save to eeprom get this error:
It's not really an error but a debug message and show that the main loop of the DUE was not executed for more than 9 secondes and it's the normal duration of the saving to eeprom ,with the last code and if you set the Dev to No you can't see the debug message so maybe it avoid confusion.


Here the code is not perfect , because i use JSN-SR04T and adapt the code for them and they work very well with the correct location on the chassis
So try to modify into checksonar:

Code:
if (sonarDistCenter < 25 || sonarDistCenter > 90) sonarDistCenter = NO_ECHO; //need to be adjust if sonar is directly in front of mower 25Cm in my case
  if (sonarDistRight < 25 || sonarDistRight > 90) sonarDistRight = NO_ECHO; // Object is too close to the sensor JSN SR04T can't read <20 CM . Sensor value is useless
  if (sonarDistLeft < 25 || sonarDistLeft  > 90) sonarDistLeft = NO_ECHO;

replace the value 25 by 11 for example and test.

----LOOP NOT OK DUE blablabla.
Normaly no in normal mowing without arduremote connected.
I never use the center sonars and the sonar take time to give info ,so maybe in your case it's possible.
In normal mowing mode i don't see the overload message (Only in station and each 8 minutes)

Jumper JC2 to 3.3V for GY-88
YES
 
Good Morning
Yesterday i finished my checkup. I found no electric problems :unsure:
But i finished my new mounting of cam.
After installation i see that the view of cam is 180° rotated.
I changed your code a little. Perhaps you can use it in future?
I added in config.py this row: myCamAngle = 180 # Possible= 0, 90, 180, 270
For your cam "0" will be the right one.

Code:
if (os.name=='posix'):
    print('Linux Platform')
    myComPort = '/dev/ttyACM0'
    myFrameWidth = 800
    myFrameHeight = 430
    myBaudRate = 115200
    myOS="Linux"
    GpsConnectedOnPi=False
    GpsIsM6n=False
    NanoConnectedOnPi=False
    DueConnectedOnPi=False
    AutoRecordBatCharging=True
    useDebugConsole=True
    myCamAngle = 180 # Possible= 0, 90, 180, 270


In streamVideo640.py and streamVideo320.py i added 2 rows
Row 10: from config import myCamAngle
Row 86 camera.rotation = myCamAngle
Now it is possible to setup the viewangle in config.py.

I also made a Video of my movements. Please have a look and give me your feedback:
Video
Today i will update your last changes. But will not have lot of time for playing :(
Have a nice Sunday
Bjoern
 
Hello
Today i gave again the IMU a last last last chance.
I updated to last versions.
Then i calibrated again and started Automatic Random from middle of gras.
The mower starts to mow but after ~1min he start to calibrate.
He turns 2-3 turns and stopped slowly the turning. Beeps start. I waited ~2min.
Beeps the whole time. The console only show this:

Code:
11:54:00 NORMALMOWING / ROLLTOFINDYAW Dir 1 State changed at 182497 From state FINDYAWSTOP
11:54:00  >>> >>> >>> >>> >>> >>> 0
11:54:00  imu.comYaw 108.92 imu.ypr.yaw 24.02 distancePI(imu.comYaw, imu.ypr.yaw) 1.33
11:53:59 NORMALMOWING / FINDYAWSTOP Dir 1 State changed at 181511 From state FRWODO
11:53:55 NORMALMOWING / FRWODO Dir 1 State changed at 177507 From state POUTFOR
11:53:54 NORMALMOWING / POUTFOR Dir 1 State changed at 175933 From state POUTROLL
11:53:53 NORMALMOWING / POUTROLL Dir 1 State changed at 175168 From state POUTREV
11:53:51 NORMALMOWING / POUTREV Dir 1 State changed at 173192 From state POUTSTOP
11:53:50 NORMALMOWING / POUTSTOP Dir 1 State changed at 172523 From state FRWODO
11:53:50 Perimeter trigger at : 172523
11:53:40 NORMALMOWING / FRWODO Dir 1 State changed at 162156 From state POUTFOR
11:53:38 NORMALMOWING / POUTFOR Dir 1 State changed at 160549 From state POUTROLL
11:53:37 NORMALMOWING / POUTROLL Dir 1 State changed at 159254 From state POUTREV
11:53:35 NORMALMOWING / POUTREV Dir 1 State changed at 157184 From state POUTSTOP
11:53:34 checktimer
11:53:34 NORMALMOWING / POUTSTOP Dir 1 State changed at 156482 From state FRWODO
11:53:34 Perimeter trigger at : 156482
11:53:06 128102 Rotation direction Left / Right change 
11:53:06 NORMALMOWING / FRWODO Dir 0 State changed at 128032 From state MANU
11:52:48 MANUAL / MANU Dir 0 State changed at 110225 From state OFF 
11:52:35 ------ LOOP NOT OK DUE IS OVERLOAD -- Over 1 sec 315
11:52:35 .
11:52:35 comScale=993.00,665.00,344.00
11:52:35 COMPASS OFFSET X.Y.Z AND SCALE X.Y.Z   --> comOfs=22.50,-13.50,-232.00
11:52:35 ACCEL GYRO MPU6050 OFFSET ax: -2050 ay: -193 az: 1893 gx: 23 gy: 0 gz: 27
11:52:35 -------- IMU CALIBRATION  --------
11:52:35 Calibration address Stop = 650
11:52:35 Calibration address Start = 600
11:52:34 Save Calibration
11:52:34 com calib completed
11:52:22 x:-474.00,519.00	  y:-346.00,319.00	  z:-404.00,-60.00	
11:52:21 x:-474.00,519.00	  y:-346.00,319.00	  z:-403.00,-60.00	
11:52:18 x:-474.00,519.00	  y:-345.00,319.00	  z:-403.00,-60.00	
11:52:10 x:-309.00,519.00	  y:-345.00,319.00	  z:-403.00,-60.00	
11:52:09 x:-208.00,519.00	  y:-345.00,319.00	  z:-403.00,-60.00	
11:52:09 x:-208.00,517.00	  y:-345.00,319.00	  z:-403.00,-66.00	
11:52:07 x:-208.00,393.00	  y:-345.00,319.00	  z:-403.00,-248.00	
11:52:06 x:-208.00,154.00	  y:-345.00,319.00	  z:-403.00,-273.00	
11:52:05 x:-208.00,19.00	  y:-345.00,319.00	  z:-403.00,-273.00	
11:51:59 x:-208.00,-43.00	  y:-345.00,179.00	  z:-403.00,-362.00	
11:51:58 x:-208.00,-95.00	  y:-296.00,179.00	  z:-403.00,-362.00	
11:51:58 x:-208.00,-95.00	  y:-294.00,179.00	  z:-403.00,-362.00	
11:51:56 x:-204.00,-95.00	  y:92.00,179.00	  z:-403.00,-362.00	
11:51:56 x:-204.00,-95.00	  y:94.00,179.00	  z:-403.00,-362.00	
11:51:56 x:-204.00,-95.00	  y:95.00,179.00	  z:-403.00,-362.00	
11:51:56 x:-204.00,-95.00	  y:100.00,179.00	  z:-401.00,-362.00	
11:51:56 x:-204.00,-98.00	  y:114.00,179.00	  z:-395.00,-362.00	
11:51:56 x:-204.00,-139.00	  y:114.00,179.00	  z:-376.00,-362.00	
11:51:55 x:-204.00,-199.00	  y:114.00,117.00	  z:-376.00,-374.00	
11:51:55 x:-204.00,-201.00	  y:114.00,117.00	  z:-376.00,-374.00	
11:51:55 x:-203.00,-201.00	  y:114.00,117.00	  z:-376.00,-374.00	
11:51:53 x:-203.00,-201.00	  y:114.00,116.00	  z:-376.00,-374.00	
11:51:52 x:-203.00,-201.00	  y:115.00,116.00	  z:-376.00,-374.00	
11:51:51 x:-203.00,-201.00	  y:115.00,116.00	  z:-376.00,-375.00	
11:51:51 x:-202.00,-201.00	  y:115.00,116.00	  z:-376.00,-375.00	
11:51:51 x:-201.00,-201.00	  y:115.00,115.00	  z:-376.00,-376.00	
11:51:50 rotate sensor 360 degree around all three axis until NO new data are coming
11:51:50 com calib...


Then i locked in with Arduremote and there were 2 Errors of EEprom.

Ok OK. One time is no time: Try again.
I restarted everything. This time it starts better. (Because of no calib in the beginning?)
Then the mower made a calib (12:03:30)
After this starts mowing. But after a few secounds he totaly ignored a wire. It was the wire round one island.
He entered the island. Thank god the wheels does not have enough grip here and i have seen the situation.
(I know such function. It is the same like when you drive automatic and then in Arduremote click on "Save to EEprom". During this saving time he also ignore the wire)
But in LOG i can not find anything about this:

Code:
12:04:59 NORMALMOWING / FRWODO Dir 1 State changed at 447031 From state POUTFOR
12:04:57 NORMALMOWING / POUTFOR Dir 1 State changed at 445417 From state POUTROLL
12:04:56 NORMALMOWING / POUTROLL Dir 1 State changed at 444198 From state POUTREV
12:04:54 NORMALMOWING / POUTREV Dir 1 State changed at 442151 From state SONARTRIG
12:04:46 NORMALMOWING / SONARTRIG Dir 1 State changed at 434606 From state FRWODO
12:04:46 Sonar Left Trigger at cm : 27
12:04:28 NORMALMOWING / FRWODO Dir 1 State changed at 416400 From state POUTFOR
12:04:26 NORMALMOWING / POUTFOR Dir 1 State changed at 414818 From state POUTROLL
12:04:25 NORMALMOWING / POUTROLL Dir 1 State changed at 413583 From state POUTREV
12:04:23 NORMALMOWING / POUTREV Dir 1 State changed at 411567 From state POUTSTOP
12:04:23 NORMALMOWING / POUTSTOP Dir 1 State changed at 410874 From state FRWODO
12:04:23 Perimeter trigger at : 410874
12:04:16 NORMALMOWING / FRWODO Dir 1 State changed at 404618 From state POUTFOR
12:04:15 NORMALMOWING / POUTFOR Dir 1 State changed at 403024 From state POUTROLL
12:04:13 NORMALMOWING / POUTROLL Dir 1 State changed at 401222 From state POUTREV
12:04:11 NORMALMOWING / POUTREV Dir 1 State changed at 399194 From state POUTSTOP
12:04:10 NORMALMOWING / POUTSTOP Dir 1 State changed at 398476 From state FRWODO
12:04:10 Perimeter trigger at : 398476
12:03:49 NORMALMOWING / FRWODO Dir 1 State changed at 376917 From state POUTFOR
12:03:47 NORMALMOWING / POUTFOR Dir 1 State changed at 375318 From state POUTROLL
12:03:45 NORMALMOWING / POUTROLL Dir 1 State changed at 373356 From state POUTREV
12:03:43 NORMALMOWING / POUTREV Dir 1 State changed at 371443 From state POUTSTOP
12:03:42 checktimer
12:03:42 NORMALMOWING / POUTSTOP Dir 1 State changed at 370618 From state FRWODO
12:03:42 Perimeter trigger at : 370618
12:03:38 NORMALMOWING / FRWODO Dir 1 State changed at 366612 From state AUTOCALIB
12:03:38 OK next state out rev
12:03:38 4 sec of read value, verify if the drift is stop
12:03:34 NORMALMOWING / AUTOCALIB Dir 1 State changed at 362066 From state STOPCALIB
12:03:34 NORMALMOWING / STOPCALIB Dir 1 State changed at 361867 From state ROLLTOFINDYAW
12:03:31 NORMALMOWING / ROLLTOFINDYAW Dir 1 State changed at 359239 From state FINDYAWSTOP
12:03:31  <<< <<< <<< <<< <<< << 0
12:03:31  imu.comYaw 224.37 imu.ypr.yaw 210.33 distancePI(imu.comYaw, imu.ypr.yaw) -0.14
12:03:30 NORMALMOWING / FINDYAWSTOP Dir 1 State changed at 358302 From state FRWODO
12:03:26 NORMALMOWING / FRWODO Dir 1 State changed at 354298 From state POUTFOR
12:03:24 NORMALMOWING / POUTFOR Dir 1 State changed at 352724 From state POUTROLL
12:03:22 NORMALMOWING / POUTROLL Dir 1 State changed at 350801 From state POUTREV
12:03:20 NORMALMOWING / POUTREV Dir 1 State changed at 348770 From state POUTSTOP
12:03:20 NORMALMOWING / POUTSTOP Dir 1 State changed at 348096 From state FRWODO
12:03:20 Perimeter trigger at : 348096
12:02:54 NORMALMOWING / FRWODO Dir 1 State changed at 322130 From state POUTFOR
12:02:52 NORMALMOWING / POUTFOR Dir 1 State changed at 320546 From state POUTROLL
12:02:51 NORMALMOWING / POUTROLL Dir 1 State changed at 319082 From state POUTREV
12:02:49 NORMALMOWING / POUTREV Dir 1 State changed at 317114 From state POUTSTOP
12:02:48 NORMALMOWING / POUTSTOP Dir 1 State changed at 316471 From state FRWODO
12:02:48 Perimeter trigger at : 316471
12:02:47 NORMALMOWING / FRWODO Dir 1 State changed at 315140 From state POUTFOR
12:02:45 NORMALMOWING / POUTFOR Dir 1 State changed at 313563 From state POUTROLL
12:02:43 NORMALMOWING / POUTROLL Dir 1 State changed at 311512 From state POUTREV
12:02:41 NORMALMOWING / POUTREV Dir 1 State changed at 309525 From state POUTSTOP
12:02:40 NORMALMOWING / POUTSTOP Dir 1 State changed at 308742 From state FRWODO
12:02:40 Perimeter trigger at : 308742
12:02:38 NORMALMOWING / FRWODO Dir 1 State changed at 306548 From state POUTFOR
12:02:37 NORMALMOWING / POUTFOR Dir 1 State changed at 304948 From state POUTROLL
12:02:34 NORMALMOWING / POUTROLL Dir 1 State changed at 302649 From state POUTREV
12:02:32 NORMALMOWING / POUTREV Dir 1 State changed at 300639 From state STOPONBUMPER
12:02:32 NORMALMOWING / STOPONBUMPER Dir 1 State changed at 300593 From state SONARTRIG
12:02:32 NORMALMOWING / SONARTRIG Dir 1 State changed at 300504 From state FRWODO
12:02:32 Sonar Left Trigger at cm : 28
12:02:31 NORMALMOWING / FRWODO Dir 1 State changed at 299284 From state POUTFOR
12:02:29 NORMALMOWING / POUTFOR Dir 1 State changed at 297722 From state POUTROLL
12:02:28 NORMALMOWING / POUTROLL Dir 1 State changed at 296746 From state POUTREV
12:02:26 NORMALMOWING / POUTREV Dir 1 State changed at 294710 From state POUTSTOP
12:02:26 checktimer
12:02:26 NORMALMOWING / POUTSTOP Dir 1 State changed at 294070 From state FRWODO
12:02:26 Perimeter trigger at : 294070
12:01:50 NORMALMOWING / FRWODO Dir 1 State changed at 258615 From state POUTFOR
12:01:49 NORMALMOWING / POUTFOR Dir 1 State changed at 257065 From state POUTROLL
12:01:48 NORMALMOWING / POUTROLL Dir 1 State changed at 256555 From state POUTREV
12:01:46 NORMALMOWING / POUTREV Dir 1 State changed at 254599 From state POUTSTOP
12:01:46 NORMALMOWING / POUTSTOP Dir 1 State changed at 253865 From state FRWODO
12:01:45 Perimeter trigger at : 253865
12:01:42 NORMALMOWING / FRWODO Dir 1 State changed at 250373 From state POUTFOR
12:01:40 NORMALMOWING / POUTFOR Dir 1 State changed at 248799 From state POUTROLL
12:01:39 NORMALMOWING / POUTROLL Dir 1 State changed at 247604 From state POUTREV
12:01:39 ------ LOOP NOT OK DUE IS OVERLOAD -- Over 1 sec 2484
12:01:34 NORMALMOWING / POUTREV Dir 1 State changed at 242841 From state POUTSTOP
12:01:34 NORMALMOWING / POUTSTOP Dir 1 State changed at 242159 From state FRWODO
12:01:34 Perimeter trigger at : 242159
12:01:31 NORMALMOWING / FRWODO Dir 1 State changed at 239226 From state POUTFOR
12:01:29 NORMALMOWING / POUTFOR Dir 1 State changed at 237632 From state POUTROLL
12:01:27 NORMALMOWING / POUTROLL Dir 1 State changed at 235704 From state POUTREV
12:01:25 NORMALMOWING / POUTREV Dir 1 State changed at 233560 From state POUTSTOP
12:01:25 checktimer
12:01:25 NORMALMOWING / POUTSTOP Dir 1 State changed at 232931 From state FRWODO
12:01:25 Timeout on state the mower run for a too long duration ???????????????????????
12:01:24 NORMALMOWING / FRWODO Dir 0 State changed at 232828 From state OFF 
11:59:35 WAIT / OFF  Dir 0 State changed at 123400 From state ROLLTOFINDYAW
11:59:35 Robot Stats address Stop = 826
11:59:35 Robot Stats address Start = 800
11:59:35 Save Robot Stats
11:58:26 NORMALMOWING / ROLLTOFINDYAW Dir 1 State changed at 54363 From state FINDYAWSTOP
11:58:26  <<< <<< <<< <<< <<< << 0
11:58:26  imu.comYaw 306.33 imu.ypr.yaw 313.87 distancePI(imu.comYaw, imu.ypr.yaw) -0.08
11:58:25 NORMALMOWING / FINDYAWSTOP Dir 1 State changed at 53489 From state FRWODO
11:58:21 49550 Rotation direction Left / Right change 
11:58:21 NORMALMOWING / FRWODO Dir 0 State changed at 49480 From state OFF


Then i switched of IMU and restarted everything.
Start Automatic from Gras and now he finished 50min mowing without any error.
Driven home with finding all Tags. Perfect run.

Best,
Bjoern
 
last last last chance
:( :(
For the calibration ,you have to do this only if you change the IMU location inside the mower or add metal arround it.
How have you fix the module and is there any magnet or motor near it ?

In all case it's strange, i have 3 modules installed on 3 different platform and except the Tilt Error i never see your issue.
2/3 turns are a lot ,normaly if the compass calibration is good only one turn is OK to find the compass YAW (maybe reduce roll speed can help) and after it's wait to stop drift (30s max)
All the process normally can't crash the due (if after 3 turns no YAW is find the process continue and if drift no stop ,the process continue also)

EEPROM error are strange and i need to had a message to understand when this occur.


nds he totaly ignored a wire

Code:
12:01:39 ------ LOOP NOT OK DUE IS OVERLOAD -- Over 1 sec 2484


This is not normal at all ,It mean that the perimeter,motor control etc..... are not check during 2.484 secondes and it's not a possible working mode.
I suppose the watchdog was disable .
With The watchdog enable (it's max 2 secondes) this stop immediatly the mower and reset the DUE..

I try to add some message in console to understand what is the trouble .

Try to run in Auto without IMU but activate the watchdog or disconnect completly the IMU to be sure.
Can you take a picture of the IMU wiring and connecting.
 
Hi
Thanks for answer.
The reason to do calib new was to be sure I have done my homework.
My IMU is glued under the big black top cover at the front. Far away from motors.
Yes, I can take a photo from wire it but I think the connect is right. The IMU by itself is working. I can calibrate
and also in IMU test everything works well. Also the north south west east test works great.
What do you think about the movements in youtube video?
What do you think about the rotation of video signal in config?
Can you please explain what you changed about the motor power settings? I don't see different.
Best,
Bjoern
 
It's into perimeter setting

On big area the mower can sometime have a false wire detection in the middle .
So you can set here the minimum smooth value you can read into setting perimeter (as far as possible from wire) value 0 deactivate this.
It's ok for rotation signal, I add this

Your running video is perfect for me (is it with IMU)
 
Hello
Can you please explain this new function more in detail?
How are the new setup steps? What means the 80%?
What i want is that in the moment the motors need more power then in settings the mower has to stop and drive back and try again under angle. Like finding wire.

Bernard schrieb:
I have upload on Git a new version with some change.
Yes and the real value can only be set with the manual test and Always avoid that Wheel slip on the grass or the mower can be stuck for a long duration in the area.
So you can test and see the 80% value result into the console ,so Simply add 20% and try to use this value.
By this way the mower can run without bumper or sonar and no risk for suck or motor.

Best regards,
Bjoern
 
Zuletzt bearbeitet von einem Moderator:
I have create a new topic for firmware and answer on it
https://www.ardumower.de/index.php/en/forum/software-control/1996-azuritber-firmware#18278
 
Oben