The Combine Forum banner

1301 - 1320 of 2024 Posts

·
Registered
Joined
·
5,785 Posts
Discussion Starter #1,302
Thank you very much Brian.
Looks like I will need a Laptop USB Hub.
Ublox Receiver GPS/RTK corrected input data - AgopenGPS
Brickv2 Heading input data - AgopenGPS
Adruino output data - AgopenGPS.

In a nut shell is this how the system flow goes:
AgopenGPS gets position data from the GPS receiver and Direction/Heading from the Brickv2.
With the AB line set AgopenGPS tells the Arduino the coordinates for the line. Audrino then uses the Steering Angle Sensor and the DOG2 inputs to control the steering valve and then you have a series of parallel lines.

Very new to this and wanting to get a clear understanding of why/how the system works.
Thanks
Steve

It's a lot if usb's for sure - which is why i started down the ethernet path.



You are almost right on the process.



1. GPS sends position and heading info to AOG.
2. Brick sends heading to AOG.

3. AOG then fuses the heading with the heading calculated from the current fix position and one a couple meters back and the heading of the Brick.

4. The AB line is a point and a heading - but think of it as a line with 2 points. you take the pivot point of vehicle and measure the distance from it to the nearest point of the AB Line. You also need a point forward on the line, called the look ahead point or goal point that you intend to drive towards. Then you draw a circle using the heading of the vehicle, and the goal point where the radius is twice the distance on the other side of the ABLine twice the distance the vehicle is away. The circle is tangent to the pivot point. Using the wheelbase of the vehicle you can then calculate the required steering angle to follow that circle to your goal point.

5. That steering angle is sent to the arduino, and the distance away from the AB Line (although the calcs are already done, it isn;t really needed but rather is used to turn steering control off and on.

6. The arduino sends the roll side to side ( the DOGS2) to AOG and then AOG changes the antenna position to match the movement of the antenna as it leans over.

7. The other job of the arduino is make sure the steering angle sensor value equals the steering setpoint set by AOG. The PID loop keeps moving the steering wheels to match that value sent.

8. The majority of the calcs and smarts are in AOG. The modules, like auto steer module, only have to control specific tasks - which makes them significantly easier to build.

9. There is a lot more going on in AOG, like boundaries, UTurn, OpenGL, GUI, and all the machine control stuff for AgraBot.
 

·
Registered
Joined
·
165 Posts
Opened up a commercial GPS Tilt Module, found a MMA7361 Inclinometer.

Made a Comparison between 3 Modules:

1. MMA7361 has analog output (3,3V) 2-3$
2. MMA8452 with I2C output (successor of MMA7361) 2-3$
3. EADOGS2 Inclinometer ~100$

Looks like the DOGS output is already filtered, but after Kalman filtering all modules are nearly equal.
Very stable Zero without Calibration.

Prefer the I2C module because of the easy coding, without additional Pins (12bit ADC inside, Samplefreq. up to 800Hz).
 

Attachments

·
Registered
Joined
·
5,785 Posts
Discussion Starter #1,304 (Edited)
It is extremely smooth. Awesome find! I would absolutely love it to be able to replace the Dogs2, It works perfectly, its just its big, needs 12v and is $$$$.


What happens when you shake it side to side?
 

·
Registered
Joined
·
165 Posts
It is extremely smooth. Awesome find!


What happens when you shake it side to side?

See Video at 1:10, all modules react a bit fidgety but Kalman gets most of it away


I would absolutely love it to be able to replace the Dogs2, It works perfectly, its just its big, needs 12v and is $$$$.

Exactly my intention for searching another module.
 

·
Registered
Joined
·
165 Posts
Did you try the other filtering modes?

Only the Highpass but with bad results, a Lowpass would be better in our case!


Try to make further Tests with the Filters.


Be carefull there are some Boards (includes Adafruit) working only with 3,3V, you need the 5V one with I2C-transceivers like this
 

·
Registered
Joined
·
86 Posts
Weder, cool find. Is this likely to be sensitive to mounting location like the BNO055 or will it be happy as long as it is mounted solidly?
 

·
Registered
Joined
·
165 Posts
Weder, cool find. Is this likely to be sensitive to mounting location like the BNO055 or will it be happy as long as it is mounted solidly?
No matter, since it uses gravity, you can mount it inside a steel case and/or in the cab.
Maybe, the lower it is mounted the lower the effects with horizontal shaking
 

·
Registered
Joined
·
86 Posts
You want the gain to increase (closer look ahead point) as you get closer to the line. Otherwise you need to drift a long way off the line before you get enough correction steer angle to correct the error. Too much gain while away from the line and you will keep crossing the line, oscillating back and forth. Increase the look ahead time all the way up and you will see it won't track very quickly or closely to the line.
I have been following the work you and Andreas have been doing with the autosteer algorithms. I have to confess though, I am unclear about how the steering is less than optimal. What problem(s) are you trying to solve? Are you trying to stay tighter to the line, are you seeing problems at certain speeds?
 

·
Registered
Joined
·
5,785 Posts
Discussion Starter #1,312
It would be interesting to use the raw accelerometer value from the brick and see if it works just as well with the Kalman
 

·
Registered
Joined
·
5,785 Posts
Discussion Starter #1,313
Got the outer and inner, drive thru or not, boundaries generating contour guidance paths when tapping the Boundary Contour button. What a pain, but it always is. I had to make sure the winding is correct once a boundary is made since you're inside the outside boundary and yet want to be outside the inside boundary.
Also added camera control menu including a north pointing camera. Up on Github tonight.
 

Attachments

·
Registered
Joined
·
5,785 Posts
Discussion Starter #1,314
I have been following the work you and Andreas have been doing with the autosteer algorithms. I have to confess though, I am unclear about how the steering is less than optimal. What problem(s) are you trying to solve? Are you trying to stay tighter to the line, are you seeing problems at certain speeds?

Since i moved my sensor to the outer tie rod, it works really well. some times the darn trees are in the way to see the forest. bouncing around 10 cm off the line is plenty close for me, let alone the 0 to 2cm like it does now. One thing that needs a bit attention is coming off the Uturn, it can turn wide and take a little too long to come back to the AB line. I think that has to do with the tires doing sideslip and needing a sharper steering angle to compensate for the slippage. Kind of like on a sideslope, you need to turn farther up the hill the steeper the slope.
 

·
Registered
Joined
·
165 Posts
Now added MMA8452 Inclinometer support to Autosteer_IBT Sketch (Autosteer_AIO will follow)
Code:
 #define Inclinometer_Installed 0      // set to 1 if DOGS2 Inclinometer is installed
                                        // set to 2 if MMA8452 installed
.....
accelerometer.getRawData(&x_, &y_, &z_);
roll=x_; //Conversion uint to int                        
if (roll > 4200)  roll =  4200;                         
if (roll < -4200) roll = -4200;                         
rollK = map(roll,-4200,4200,960,-960); //16 counts per degree (good for 0 - +/-30 degrees)
Should also work with the MMA8451

https://github.com/Coffeetrac/Autosteer_IBT
 

·
Registered
Joined
·
108 Posts
Since i moved my sensor to the outer tie rod, it works really well. some times the darn trees are in the way to see the forest. bouncing around 10 cm off the line is plenty close for me, let alone the 0 to 2cm like it does now. One thing that needs a bit attention is coming off the Uturn, it can turn wide and take a little too long to come back to the AB line. I think that has to do with the tires doing sideslip and needing a sharper steering angle to compensate for the slippage. Kind of like on a sideslope, you need to turn farther up the hill the steeper the slope.
like AOG learning how long it takes the steer controller to aquire requested angle and compensating the lookahead. Add oversteer/understeer to suit and maybe a bit of steering brakes if needed. Glad its you, the math would make my head hurt.
 

·
Registered
Joined
·
165 Posts
The Bno is buggy, doesn‘t work at a moving vehicle. The permanent Selfcalibration rattens every try to get a stable Roll. The inclinometer part drifts a lot in a moving vehicle. But heading is best of class
 

·
Registered
Joined
·
5,785 Posts
Discussion Starter #1,320
The Bno is buggy, doesn‘t work at a moving vehicle. The permanent Selfcalibration rattens every try to get a stable Roll. The inclinometer part drifts a lot in a moving vehicle. But heading is best of class

Have you tried taking the raw accelerometer value from the BNO?
 
1301 - 1320 of 2024 Posts
Top