leaving the charging station "perimeter error"

I understand nothing in your battery config.
Your battery is not a 24V ??
What kind of motor do you use ?
Max pwm=230 and rpm=20 are strange ?
All PID value are also very strange and very far from factory setting ?

Here setting for Denna and Robomow
 

Anhänge

  • robomow_Console.txt
    37 KB · Aufrufe: 3
  • DENNA_Console.txt
    9,3 KB · Aufrufe: 1
Ok for battery setting.
For the IMU and odometry it's 2 different management.
Into straight line only IMU is used if it is activate, and no odometry
The odometry is use when mower rotate and do small movement<20 cm

The circle arc in random mode are very strange and only the IMU Pid is used here if you can't find correct P and I value maybe you need to change in the code .
To check this you need to understand the code and uncomment line (1629 to 1675) to debug the PID output and adjust the coeff "/2" line 1586 1587 and 1522 1523
according the PID compute result for example with 1.5
Code:
rightSpeed =  (motorRpmCoeff  * rightSpeed) + imuDirPID.y / 1.5;
leftSpeed =  (motorRpmCoeff  * leftSpeed) - imuDirPID.y / 1.5;
 
This is how the mower with the factory PID drives (4.4 3.3 0).
RAND Mode

When I set it to 0.2 0.1 0, the runs got smoother.
LANE Mode
I still do not know what it is about driving around curves in RAND mode.
 
First : Try to reduce the speed until you have correct setting using Arduremote

The random mode is very strange ,certainly something is wrong with IMU orientation or left right wheel inverted.
What you see is the roll (using odometry) and accel(using odometry) and forward (using IMU) and the IMU heading is not corresponding with the last roll (using odometry) heading, so mower do a big circle to find the IMU heading and start the ZIG ZAG because the IMU PID is not perfect

Into manual mode when you follow the mower if you hit the left button mower need to roll left ,please check this
In WAIT/OFF mode, Into setting IMU : if you roll the mower by hand Counter clock wise : the GYRO YAW need to decrease and increase in Clockwise roll.
In bylane :when mower go forward (into setting Odometry the ticks count need to increase)

Can you show a picture of the location and orientation of IMU inside the mower ?

In BYlane with 0.1 and 0.2 setting did the mower find again the heading in less than 2 seconds if you move it with your foot.It's possible that a so small PID value result in no action at all and mower simply go straight because the 2 motor run at same PWM.
Into mowing mode (real time setting) Try to start with P=4.4 and I=3.3 and reduce the P value gently, but first reduce the mowing speed.


 
In manual mode, when I click the left arrow, the mower goes left and analogically right.
When I saw the photo I took it enlightened me that I guess the gyro module can't be upside down !? Today I will not check because it is dark outside.
InkedIMG_20210719_205856_LI.jpg
 
yes, the gyro is upside down installed but it has nothing to do with your manuell control.
one thing is confusing me. your odo indication on the right side have a minus on front of the numbers.
on my two rovers but odo indication are positiv. just an idea.

Uwe
 
Please first put the GYRO in the correct position because upside down is not OK for PID compute.
If possible : try to center it in the chassis but i am not sure it has an influence on the result.
After reduce the drive motor max PWM speed.And increase the PWM min to avoid pause between all movement.
 
Zuletzt bearbeitet:
It is great. RAND mode works fine now. I changed the orientation and location of the gyro.
IMG_20210720_114253.jpg
When saving the settings, such a message appears ??
------ LOOP NOT OK DUE IS OVERLOAD ------

In RPi, the settings from the byLane tab are not saved. How to fix it.
 
n RPi, the settings from the byLane tab are not saved. How to fix it.
Test with PiArdu525.py and maybe need the last version of config.py and more file .Always read the traceback error or share them.

Do not forget to click on save setting into RTC eeprom if you want that it stay on the next reboot.

But it's more easier to use arduremote in live mowing to adjust the 6 bylane value for right and left direction.
If your IMU work you need to see mower heading change when moving the arduremote slider in real time.

The wire between IMU and PCB : avoid to put it near DC/DC regulator or DUE (noise at this location) ,it's better if it go under the PCB ;)

What is the antenna on the top of mower ??

------ LOOP NOT OK DUE IS OVERLOAD ------

This is normal when saving .
Into console you can see a lot of message with warning or info if your are in dev mode.
Setting Dev Mode to No reduce the message amount but don't help for debugging or adjusting setting.
 
I don't think this external antenna helps. I disassembled it and it's the same.
As I have solved the problem with the IMU, the problem of motor noise returns. Adding capacitors to the motor did not help. Replacing the coil did not help. What motor should I buy that does not make noise. It's about the mowing motor. Drive motors are ok.
Maybe it is possible to eliminate noise in the code.
I don't know what to do anymore.😭😭
 
I don't think this external antenna helps. I disassembled it and it's the same.
Ok I see the same result.

For noise it's very complex.
You have 2 level of noise
1 Is very high and can freeze the I2C bus (IMU or RTC error) and the app causing a watchdog reset randomly
2 medium and only the perimeter reading is impacted far the wire ,and maybe you can adjust in the perimeter setting the value Big AREA Smag Center (see WIKI)


In case 1 only hardware change can solve issue.

I can only say that robomow RL1000 or RL2000 work without noise in the perimeter ,but it's big chassis and perimeter coil is very far to the motor.
DENNA L600 is also OK.
TIANCHEN TC-G158 don't work at all each time i use mow motor perimeter reader is bad and after 20 or 30 minutes it's IMU or RTC error.

You can see the noise in Piardu /Plot/Perimeter : set refresh rate to 10 and you can see the peak generate by mow motor.
 
Oben