The Combine Forum banner

3761 - 3780 of 4139 Posts

·
Registered
Joined
·
184 Posts
Has anyone else been able to send the GPS via UDP straight to agopengps, complete with embedded imu data?
When coding the roof unit (2x f9p for position and heading) I looked at the PAOGI parser of AOG. I think there is a difference between some PAOGI descriptions in the web and AOG: PAOGI defines 2 fields for heading (GPS/VTG and IMU) but AOG reads only one.

Not quit sure about this.

In my setup the UDP communication via WIFI works fine: AOG NTRIP client to ESP32 and NMEA (GGA+VTG+HDT or PAOGI) back. I send heading in the PAOGI sentence and AOG parser it.

I added 2 line to CNMEA.
See post #3705 10.6.2019

Greetings Matthias
 

·
Registered
Joined
·
52 Posts
Hey guys. So I was actually driving the sprayer with AoG today. I have a couple questions:

1. When using the steer wizard, it appears that AoG temporarily changes the counts per degree to 1 (so that raw numbers are displayed?) and I noticed on my setup that the raw value rolls over once it reaches 327 and starts counting down from -327. Is this just my setup doing this or does everyone's?


I had the same issue when I setup my sprayer. Changed the number 3 here to a larger number fixed the issue for me. If I remember right!
steeringPosition = steeringPosition >> 3; //divide by 8
 

·
Registered
Joined
·
24 Posts
Dear All,

I continue my seeting up og AOG with rtk signal and autosteer, and I've 2 points :

1) My set up is
- rtk signal (from Rpi zero w) fixed signal,
- Autosteer with arduino uno + bno055 + mma8451 + WAS + ibt2 -> informations well returned to AOG and AOG control well the autosteer
I have the following problem : the speed in AOG is stuck to zero, and this locks the arduino program. What could be the reason ?
Where does this speed information comes from ? Are there other informations which can stuck it to zero ?

2) In the arduino code, sometime heading value was false or do not exist.
I've added a 500 ms delay before setting up the bno055 because Start up time is 400 ms in the datasheet.
Now it starts well every time

Best regards from France
francois
 

·
Registered
Joined
·
378 Posts
I've found this too. My setup is still on the test bench, but the raw value rolls over to the -ve as well. This in on the button ino over ethernet. BUT, if you change the ino setup to USB serial, then everything works normally. the inos from the dev repository also work fine for me over ethernet and serial.(but I need the IBT2 setup in the button sketch). I've been through the code to try and spot why ethernet causes a change, but I couldn't spot it. Any ideas??
I had the same issue when I setup my sprayer. Changed the number 3 here to a larger number fixed the issue for me. If I remember right!
steeringPosition = steeringPosition >> 3; //divide by 8
Are you guys using the ADS1115 or the Arduino analog input? In my case, I'm using the Arduino analog input. The two github dev Arduino sketches are both setup for only the ADS1115. One of the main differences between Serial data and UDP packets is that Serial.print sends ASCII chars whereas UDP sends binary byes, I wonder if that is causing some issues.

For example, Serial.print(128) sends 3 bytes:
49 (ASCII for '1')
50 (ASCII for '2')
56 (ASCII for '8')

UDP just sends one byte with a value of 128 (ASCII for 'Ç')

AoG has to handle those a little different. If we switched to Serial.write(128) instead of .print, then the Serial data would be handled the same as the UDP(?). Then the Arduino and AoG code could be modular-ized into a common function called by both methods of communication.
 

·
Registered
Joined
·
5,856 Posts
Discussion Starter #3,766
Dear All,

I continue my seeting up og AOG with rtk signal and autosteer, and I've 2 points :

1) My set up is
- rtk signal (from Rpi zero w) fixed signal,
- Autosteer with arduino uno + bno055 + mma8451 + WAS + ibt2 -> informations well returned to AOG and AOG control well the autosteer
I have the following problem : the speed in AOG is stuck to zero, and this locks the arduino program. What could be the reason ?
Where does this speed information comes from ? Are there other informations which can stuck it to zero ?

2) In the arduino code, sometime heading value was false or do not exist.
I've added a 500 ms delay before setting up the bno055 because Start up time is 400 ms in the datasheet.
Now it starts well every time

Best regards from France
francois

1. If using GGA do you have VTG enabled as well? VTG has the speed info. RMC contains all the correct info in 1 sentence.
2. Good you got that figured out.
 

·
Registered
Joined
·
5,856 Posts
Discussion Starter #3,767
Hey guys. So I was actually driving the sprayer with AoG today. I have a couple questions:

1. When using the steer wizard, it appears that AoG temporarily changes the counts per degree to 1 (so that raw numbers are displayed?) and I noticed on my setup that the raw value rolls over once it reaches 327 and starts counting down from -327. Is this just my setup doing this or does everyone's?

2. What is "Min turn radius" and "Max traverse speed"?

As WW said, just reduce the number coming from the a/d convertor 12 bits is plenty, hence the <<3.

Don't use the wizard, I'm pretty sure i deleted all of them. Just increase the counts per degree till it seems about right. So if you want 45 degrees turn times 32 counts per degree, that's about 1500 counts for each direction. Using huge numbers doesn't work and is no more accurate.
 

·
Registered
Joined
·
378 Posts
Hey guys. So I was actually driving the sprayer with AoG today. I have a couple questions:

1. When using the steer wizard, it appears that AoG temporarily changes the counts per degree to 1 (so that raw numbers are displayed?) and I noticed on my setup that the raw value rolls over once it reaches 327 and starts counting down from -327. Is this just my setup doing this or does everyone's?

2. What is "Min turn radius" and "Max traverse speed"?

As WW said, just reduce the number coming from the a/d convertor 12 bits is plenty, hence the <<3.

Don't use the wizard, I'm pretty sure i deleted all of them. Just increase the counts per degree till it seems about right. So if you want 45 degrees turn times 32 counts per degree, that's about 1500 counts for each direction. Using huge numbers doesn't work and is no more accurate.
I'm using the Arduino's built in analog input, so only 10 bits. The reading shouldn't get so large that it causes roll over on a 16 bit (2 byte) variable so I'm still not sure why it's happening.

I though the wizard was useful in calculating the steer angle from my wheelbase and turn diameter. Are you saying that an accurate steering angle is not critical for a successful system?
 

·
Registered
Joined
·
14 Posts
Hi all, greeting from Ireland, its raining here today.

This thread must be the most informative on DIY GPS and autosteer that is out there.

I have read most of the 377 pages in this thread over the last few months, however I have a confession to make, it is that I am somewhat lost. I am an engineer by profession and spent a lot of time ~15yrs ago with Matlab. I understand how to assemble the Autosteer components and I understand the schematics as my current employment involves the need to read such diagrams.

I have downloaded and installed the latests files from Github, I was hoping to review the code and start the teaching myself as to what is going on .............. I understand the equations from the Stanley car that I see on the youtube video.

I also have MS Visual studio installed, as I understand there is two parts to the code, some written in C sharp and some in python with the arduino.

I open the sourcecode folder and I open the agopengps

Should i be buying the book Csharp for dummies and python for dummies in an effot to figure out what is going on with the code ? or are there tutorials along the way that I shoudl watch
 

·
Registered
Joined
·
5,856 Posts
Discussion Starter #3,770
Hi all, greeting from Ireland, its raining here today.

This thread must be the most informative on DIY GPS and autosteer that is out there.

I have read most of the 377 pages in this thread over the last few months, however I have a confession to make, it is that I am somewhat lost. I am an engineer by profession and spent a lot of time ~15yrs ago with Matlab. I understand how to assemble the Autosteer components and I understand the schematics as my current employment involves the need to read such diagrams.

I have downloaded and installed the latests files from Github, I was hoping to review the code and start the teaching myself as to what is going on .............. I understand the equations from the Stanley car that I see on the youtube video.

I also have MS Visual studio installed, as I understand there is two parts to the code, some written in C sharp and some in python with the arduino.

I open the sourcecode folder and I open the agopengps

Should i be buying the book Csharp for dummies and python for dummies in an effot to figure out what is going on with the code ? or are there tutorials along the way that I shoudl watch

AgOpenGPS is written in C# with the GUI using Windows Forms (winforms) and includes a C# library for openGL. The Arduino code is written in C++/C. AgOpenGPS is quite a large program and has seen many revisions as new features have been added and so original code is always adapted and highly modified. Like 99% of software where the end goal was not known, it has become quite the spaghetti code (quite unavoidable).



Your skills are in good demand, and appreciate you stepping into the project. Welcome to the forum. Combine Forum certainly isn't the best format, but it is where it ended up. We also do some saturday morming Zoom calls worldwide.



As far as books, plenty of torrents, sites, pdf's and really good tutorial videos on both C# and arduino. Was the main reason for choosing them in the first place.
 

·
Registered
Joined
·
24 Posts
Hello All from France,

Thank you brian for your advice, I've set "out-nmeaintv1" in rtknavi to 0.2 s (5 Hz) and I have now the speed.
So I have possibility to make a first quick run (RTK + AOG + autosteer with drill motor)
I have not yet tuned accurately all the parameters of steering and PID but it works fine and follow precisely he AB line
so all the system is in working order. I found that the system is quite sensitive to roll (the tractor has narrow wheels so not very stable)

1) For WAS, I've used a aliexpress compatible e39 BMW/land rover sensor with ADS1115 (-60° = 0.5 V and 60° = 4.5 V)
see picture. I do not have to divide the value, on AOG the setting is ~200 steps /°

2) For transmission between AOG and arduino nano, I've used ESP8266 with UDP protocol (programmed in lua).
USB on arduino nano is used for reprogram and debug and I've put a software serial for communication with ESP8266 (ESP07 serial module)
It's true that in one direction communication is in ASCII and in the other direction it's binary.
The steer configurator doesn't read WAS values, I've to calculate and set it manually. But the remaining communication works and is very accurate.

3) Now I've to build another ESP8266 (lolin module) with relays and put it on the sprayer. There are 7 sections + 1 general
I've to calculate the general from the other section channels in ESP8266. (he advantage of all these modules is that they are full 5 V supply and I/O compatible)

I continue All the best
francois
 

Attachments

·
Registered
Joined
·
31 Posts
Are you guys using the ADS1115 or the Arduino analog input? In my case, I'm using the Arduino analog input. The two github dev Arduino sketches are both setup for only the ADS1115. One of the main differences between Serial data and UDP packets is that Serial.print sends ASCII chars whereas UDP sends binary byes, I wonder if that is causing some issues.

For example, Serial.print(128) sends 3 bytes:
49 (ASCII for '1')
50 (ASCII for '2')
56 (ASCII for '8')

UDP just sends one byte with a value of 128 (ASCII for 'Ç')

AoG has to handle those a little different. If we switched to Serial.write(128) instead of .print, then the Serial data would be handled the same as the UDP(?). Then the Arduino and AoG code could be modular-ized into a common function called by both methods of communication.
I'm using the ADS1115. But my problem has been fixed by reducing the number coming from the ADS1115, and I also had a loose SDA header pin... Works like a treat now.

When coding the roof unit (2x f9p for position and heading) I looked at the PAOGI parser of AOG. I think there is a difference between some PAOGI descriptions in the web and AOG: PAOGI defines 2 fields for heading (GPS/VTG and IMU) but AOG reads only one.

Not quit sure about this.

In my setup the UDP communication via WIFI works fine: AOG NTRIP client to ESP32 and NMEA (GGA+VTG+HDT or PAOGI) back. I send heading in the PAOGI sentence and AOG parser it.

I added 2 line to CNMEA.
See post #3705 10.6.2019

Greetings Matthias
Ah interesting. I might try adding the lines of code that you did just for one roof unit. Which heading field does AOG parse for heading currently within PAOGI? The GPS/VTG or IMU? And how can you tell if AOG is actually parsing the data? Currently, I have PAOGI enabled for both roll/pitch source and yaw source, but I'm only receiving a heading from the GPS in the satellite tab. No values for roll or IMU (using a reach RS+ which has a 9DOF IMU in it).

Also, are there some common issues with the autosteer button to check? I'm using the autosteer_button ino and I've wired up a momentary footswitch exactly as in the schematic (so 5V ground to the button, then from the button to D3 on the nano, with a 1K Ohm resistor soldered to 5V positive between the button and D3), but no joy. On the multimeter, there is 5V potential between D3 and ground when the foot 'button' is not engaged, but when you press the switch, you get 0.001V, which makes sense to me as the sketch is set for active low. Any ideas? Sorry if these are dumb questions. Learning a lot as I go. All coming together though! Been a lot of fun. EDIT: Disregard the button question. Fixed.
 

Attachments

·
Registered
Joined
·
378 Posts
Can someone with AoG experience do a quick check for me of my vehicle and tool measurements? I'm not confident that I'm correctly understanding all of the settings. Attached are screenshots and a paint drawing of the layout of our sprayer. The antenna is slightly ahead of the front steering axle, about 5", hence wheelbase (203") + 5" = 208". I don't know what to put in the min turn radius box. I think the two lengths on the tool tab doesn't apply to a rigid tool? Our sprayer is 121' 6.7" wide but we want 120' tracks so +20" overlap should do that?
Thanks.
 

Attachments

·
Registered
Joined
·
45 Posts
Keen on more details of your setup when you get going, I'm still trying to figure out which valve to order for both of my CCLS systems
Success!

Have finally figured out which is Tank, which is Pump and which is LS. The valve is plumbed in with the orbital and both work.

Still need to do it neatly and solder all the bits and pieces on the steer PCB. Still waiting on motor controller and wheel angle sensor.

I do have a Pololu JRK12v12. Is that usable?
 

·
Registered
Joined
·
45 Posts
Can someone with AoG experience do a quick check for me of my vehicle and tool measurements? I'm not confident that I'm correctly understanding all of the settings. Attached are screenshots and a paint drawing of the layout of our sprayer. The antenna is slightly ahead of the front steering axle, about 5", hence wheelbase (203") + 5" = 208". I don't know what to put in the min turn radius box. I think the two lengths on the tool tab doesn't apply to a rigid tool? Our sprayer is 121' 6.7" wide but we want 120' tracks so +20" overlap should do that?
Thanks.
Don't have AOG experience - still setting up - but have used a few different GPS systems over the years and your config looks good to me.
 

·
Registered
Joined
·
11 Posts
Hello All from France,

Thank you brian for your advice, I've set "out-nmeaintv1" in rtknavi to 0.2 s (5 Hz) and I have now the speed.
So I have possibility to make a first quick run (RTK + AOG + autosteer with drill motor)
I have not yet tuned accurately all the parameters of steering and PID but it works fine and follow precisely he AB line
so all the system is in working order. I found that the system is quite sensitive to roll (the tractor has narrow wheels so not very stable)

1) For WAS, I've used a aliexpress compatible e39 BMW/land rover sensor with ADS1115 (-60° = 0.5 V and 60° = 4.5 V)
see picture. I do not have to divide the value, on AOG the setting is ~200 steps /°

2) For transmission between AOG and arduino nano, I've used ESP8266 with UDP protocol (programmed in lua).
USB on arduino nano is used for reprogram and debug and I've put a software serial for communication with ESP8266 (ESP07 serial module)
It's true that in one direction communication is in ASCII and in the other direction it's binary.
The steer configurator doesn't read WAS values, I've to calculate and set it manually. But the remaining communication works and is very accurate.

3) Now I've to build another ESP8266 (lolin module) with relays and put it on the sprayer. There are 7 sections + 1 general
I've to calculate the general from the other section channels in ESP8266. (he advantage of all these modules is that they are full 5 V supply and I/O compatible)

I continue All the best
francois
Hi Francois

I'm also working on my setup and just got the same sensor for WAS as you, But I can't find any pinout description for the sensor. Can you please share your connections with me?.

Jesper
 

·
Registered
Joined
·
24 Posts
Here is a picture of my IMU unit on the tractor. (Approx 160 * 80 mm)
From left to right, up to down:
IBT2 module, lolin esp8266 module, ADS1115, arduino nano, MMA8451, Fuse, 5 V DC/DC supply, BNO055, external 2.4 G antenna
Unit is located under the cab (avoid vibration) on a firm metal plate holder
(I've changed the settings of modules because it's not in the same direction as AOG original design but results sounds the same)
francois

Hello All from France,

Thank you brian for your advice, I've set "out-nmeaintv1" in rtknavi to 0.2 s (5 Hz) and I have now the speed.
So I have possibility to make a first quick run (RTK + AOG + autosteer with drill motor)
I have not yet tuned accurately all the parameters of steering and PID but it works fine and follow precisely he AB line
so all the system is in working order. I found that the system is quite sensitive to roll (the tractor has narrow wheels so not very stable)

1) For WAS, I've used a aliexpress compatible e39 BMW/land rover sensor with ADS1115 (-60° = 0.5 V and 60° = 4.5 V)
see picture. I do not have to divide the value, on AOG the setting is ~200 steps /°

2) For transmission between AOG and arduino nano, I've used ESP8266 with UDP protocol (programmed in lua).
USB on arduino nano is used for reprogram and debug and I've put a software serial for communication with ESP8266 (ESP07 serial module)
It's true that in one direction communication is in ASCII and in the other direction it's binary.
The steer configurator doesn't read WAS values, I've to calculate and set it manually. But the remaining communication works and is very accurate.

3) Now I've to build another ESP8266 (lolin module) with relays and put it on the sprayer. There are 7 sections + 1 general
I've to calculate the general from the other section channels in ESP8266. (he advantage of all these modules is that they are full 5 V supply and I/O compatible)

I continue All the best
francois
 

Attachments

·
Registered
Joined
·
24 Posts
Hi Francois

I'm also working on my setup and just got the same sensor for WAS as you, But I can't find any pinout description for the sensor. Can you please share your connections with me?.

Jesper
Jesper,

Here is the pin out. I suggest you to put 2 other resistors on the negative input and
to make a full differential value (better immunity from noise on supply)
francois
 

Attachments

3761 - 3780 of 4139 Posts
Top