User Tools

Site Tools


start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
start [2019/01/13 05:18]
rammy
start [2020/01/12 17:18] (current)
Line 2: Line 2:
  
 **AgOpenGPS** **AgOpenGPS**
 +
 +AgOpenGPS is an open source windows program that can be used in cab for autosteer, guidance, section control, and many other features that are typically found in expensive name brand precision agriculture companies. The difference is there are even more forward thinking features built in to this program and yet more in development. And these are built by farmers for farmers!
 +
 +This program was first written by Brian Tischler who made it available to all who are interested in learning more about coding and electronics and how they can benefit farmers all over the world. ​
 +
 +We don't want anyone to get hurt or sued so below you'll find a disclaimer. If you choose to install this stuff on your Ag. Equipment, do so at your own risk.
  
 *** Important *** *** Important ***
Line 23: Line 29:
  
 ====== Step by Step Software & Hardware Setup ====== ====== Step by Step Software & Hardware Setup ======
 +This Wiki is about to undergo some major updates please bear with some errors and oversights in the meantime.
 Follow these steps below. Follow these steps below.
-===== Software and Tablet ===== 
  
 +5 components are required for a vehicle that uses AgOpenGPS for autosteer
 +  - A Windows Laptop/​Tablet
 +  - A [[gps:​start|GPS receiver]] that outputs NMEA 0183 messages
 +  - Brian'​s PCB v2
 +  - A [[steering_angle_sensor:​start|Wheel Angle Sensor]]
 +  - A [[steering_motor:​start|Steering Motor]] or [[hydraulic_steering:​start|hydraulic valves]]
  
 +=====Laptop/​Tablet=====
 AgOpenGPS runs on the Windows operating system. ​ AgOpenGPS runs on the Windows operating system. ​
 It uses the .NET framework (4.0 minimum). It uses the .NET framework (4.0 minimum).
  
-The minimum screen resolution AgOpenGPS will work with is 1366 x 768.  +The minimum screen resolution AgOpenGPS will work with is 1024 x 768. 
 1920 x 1080 is preferred, and of course the higher resolutions found on the Acer transformer 300, Acer Switch 12, Microsoft Surface, or Samsung work even better. 1920 x 1080 is preferred, and of course the higher resolutions found on the Acer transformer 300, Acer Switch 12, Microsoft Surface, or Samsung work even better.
  
 A Touchscreen is preferred to work with AgOpenGPS. ​ A Touchscreen is preferred to work with AgOpenGPS. ​
  
-When selecting a tablet, ensure it has at least one USB port free with its charging cord plugged in. You need to charge the tablet and use a USB port for external hardware (arduino) at the same time. +When selecting a tablet, ensure it has at least one USB port free with its charging cord plugged in. You need to charge the tablet and use a USB port for external hardware (arduino) at the same time. Another thing to consider is screen brightness, 1000 NITS is ideal. Used Toughbooks/​Toughpads are a popular choice and well suited for a tractor cab
-Agopengps will also use Ethernet ​in future so keep this in mind if you upgrading.+AgOpenGPS can also use Ethernet ​and this is in fact the preferred connection method although USB/serial connection are still possible.
  
-Download software from [[https://​github.com/​farmerbriantee|https://​github.com/​farmerbriantee]] +Download software from [[https://​github.com/​farmerbriantee/AgOpenGPS|https://​github.com/​farmerbriantee/AgOpenGPS]]
-There are some repos:+
  
-agopen: is the actuall beta version +AgOpenGPS: is the stable version
-agopengps: is an old stable version+
  
  
-  * Click AgOpen or agopengps:+  * Click AgOpenGPS:
   * Click green button: Clone or download / Download zip   * Click green button: Clone or download / Download zip
   * unzip   * unzip
  
-Folder Contains: +Folder Contains: ​                                                        ​ 
-  * agopen_dev: the software +  * AgOpenGPS: the software 
-    * Application: ​agopengps.exe  ​-this is the software+    * Application: ​AgOpenGPS ​     ​-this is the software ​icon →                 {{{ :​aog_app_snip.jpg?​400|}}
     * Source: ​                    -this is the source code     * Source: ​                    -this is the source code
-    * Modules: ​                     -This contains the Arduino codes +    * Modules: ​                   -This contains the Arduino codes 
 ===== GPS and visual guidiance ===== ===== GPS and visual guidiance =====
  
Line 70: Line 79:
 You need an arduino uno/nano and  You need an arduino uno/nano and 
  
-[[https://​www.amazon.de/​dp/​B01C2IN2U2/​ref=asc_df_B01C2IN2U256101088/?​tag=googshopde-21&​creative=22434&​creativeASIN=B01C2IN2U2&​linkCode=df0&​hvadid=232019949970&​hvpos=1o1&​hvnetw=g&​hvrand=2396920004769529166&​hvpone=&​hvptwo=&​hvqmt=&​hvdev=c&​hvdvcmdl=&​hvlocint=&​hvlocphy=20047&​hvtargid=pla-422799561783&​th=1&​psc=1|a ​reley board]]+[[https://​www.amazon.de/​dp/​B01C2IN2U2/​ref=asc_df_B01C2IN2U256101088/?​tag=googshopde-21&​creative=22434&​creativeASIN=B01C2IN2U2&​linkCode=df0&​hvadid=232019949970&​hvpos=1o1&​hvnetw=g&​hvrand=2396920004769529166&​hvpone=&​hvptwo=&​hvqmt=&​hvdev=c&​hvdvcmdl=&​hvlocint=&​hvlocphy=20047&​hvtargid=pla-422799561783&​th=1&​psc=1|a ​relay board]]
  
 First goto https://​www.arduino.cc/​ and download Arduino IDE. First goto https://​www.arduino.cc/​ and download Arduino IDE.
Line 143: Line 152:
   * The BNO055 IMU has been found to only work reliably when placed as far from metal as possible. Usually it is placed on the roof in a weatherproof container or very high on the windshield. Keep this in mind when building your board.\\   * The BNO055 IMU has been found to only work reliably when placed as far from metal as possible. Usually it is placed on the roof in a weatherproof container or very high on the windshield. Keep this in mind when building your board.\\
   * There is a 5v version and a 3.3 v version of the MMA 8452/1. If using the 3.3v version you can  power it from the 3.3v supply pin of arduino and in series add 330 ohm resistors to SCL and SDA lines.\\   * There is a 5v version and a 3.3 v version of the MMA 8452/1. If using the 3.3v version you can  power it from the 3.3v supply pin of arduino and in series add 330 ohm resistors to SCL and SDA lines.\\
-  * If you use the ADS analog to digital ​converter try to place it as close to the wheel angle sensor as possible. If it is unsuitable to place away from main board the converter is still beneficial to install. If you do not use the converter connect the sense wire from the wheel sensor to A0 on the Nano.+  * If you do not use the ADS analog to digital converter connect the sense wire from the wheel sensor to A0 on the Nano.
  
  
Line 175: Line 184:
 Once the sensor reads zero, close the wizard and click on the red drive button. The button will now turn green and the steer motor should respond to changes when the slider moves. Move the slider side to side and ensure the vehicle corresponds to the input correctly. If not you may have to invert angle sensor in Arduino code, reupload, close and open agopengps and try again.{{roll.png?​250}}\\ ​ Once the sensor reads zero, close the wizard and click on the red drive button. The button will now turn green and the steer motor should respond to changes when the slider moves. Move the slider side to side and ensure the vehicle corresponds to the input correctly. If not you may have to invert angle sensor in Arduino code, reupload, close and open agopengps and try again.{{roll.png?​250}}\\ ​
 Once the vehicle corresponds correctly open the steer wizard and follow the instructions.\\ ​ Once the vehicle corresponds correctly open the steer wizard and follow the instructions.\\ ​
-After you obtain the counts per degree close the wizard and open the steer tab. Enter the counts per degree. Max steer angle is the maximum angle you want the vehicle to turn. Minimum pwm is the power that will be required before it is sent to the steer motor.(prevents the motor noise from PWM) At this point other settings will be variable and must be adjusted by trial and error. FarmerBrianTee has many youtube videos explaining theory on each setting. https://​www.youtube.com/​watch?​v=rYBWaVwWf ​+After you obtain the counts per degree close the wizard and open the steer tab. Enter the counts per degree. Max steer angle is the maximum angle you want the vehicle to turn. Minimum pwm is the power that will be required before it is sent to the steer motor.(prevents the motor noise from PWM) At this point other settings will be variable and must be adjusted by trial and error. Here are [[PID settings|a few sample settings]] with various motor and motor driver combinations. FarmerBrianTee has many youtube videos explaining theory on each setting. https://​www.youtube.com/​watch?​v=rYBWaVwWf ​
  
 ---- ----
Line 216: Line 225:
 [[AgopenGPS:​|AgopenGPS:​]] [[AgopenGPS:​|AgopenGPS:​]]
  
-====== How AGOpen ​works ======+====== How AgOpenGPS ​works ======
  
 1. GPS sends position and heading info to AOG. 1. GPS sends position and heading info to AOG.
Line 226: Line 235:
 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. 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.+5. That steering angle is sent to the arduino, and the distance away from the AB Line (although the calculations ​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.+6. The arduino sends the roll side to side ( the DOGS2 or MMA8450) 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.+7. The another ​job the arduino ​does is to 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.+8. The majority of the calculations ​and smarts are in AOG. The modules, like the 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. 9. There is a lot more going on in AOG, like boundaries, UTurn, OpenGL, GUI, and all the machine control stuff for AgraBot.
Line 268: Line 277:
   * A - Autosteer   * A - Autosteer
  
 +==== Button Functions v4.0 ====
 +{{::​buttons_with_nums.png?​1000|}}
  
 + ​Version 4, extanded interface mode
 +
 +  * 1  - **5Hz**: GPS update rate, **3**: Frame build time in ms, **Sim**: simulator mode "​ON"​
 +  * 2  - Day\Night mode switch
 +  * 3  - full screen mode
 +  * 4  - zoom
 +  * 5  - Exit
 +  * 6  - GPS speed
 +  * 7  - Tram Lines
 +  * 8  -
 +  * 9  - Edit AB-line
 +  * 10 - AB-curve dialog
 +  * 11 - 
 +  * 12 -
 +  * 13 - Choose AB-line or curve, based on Boundary points
 +  * 14 - AB-line dialog
 +  * 15 - Headland On\Off
 +  * 16 - Section control, manual mode
 +  * 17 - 
 +  * 18 - Section control, automatic mode
 +  * 19 - Place a flag 
 +  * 20 - U-turn enable
 +  * 21 - Auto\Manual steering mode
 +  * 22 -
 +  * 23 - zoom modes
 +  * 24 - GPS data dialog
 +  * 25 - 
 +  * 26 - Tool configuration dialog
 +  * 27 - Machine configuration dialog
 +  * 28 - Setup (UDP, NTRIP, Serial ports, Heading/​Roll,​ etc.)
 +  * 29 - 
 +  * 30 - New Field dialog, you can create new or make a clone from existing one
 +  * 31 - Headland & Boundary
 +  * 32 - Snap left  (value is set in MACHINE->​GUIDANCE->​ "<<>>​ Snap distance"​ )
 +  * 33 - Snap right 
 +  * 34 - 
 +  * 35 - 
 +  * 36 -
 +  * 37 -
 +  * 38 - 
 +  * 39 - 
 +  * 40 -
 +  * 41 -
 +  * 41 - 
 +  * 43 - displays: "//​Tool_width Machine_name - Tool_name -//"
 +  * 44 - Sections status. Red - off, Yellow - manually on, Green - automatic mode
 +  * 45 - swap direction in simulator
 +  * 46 - simulator speed
 +  * 47 - stop moving
 +  * 48 - steering control during simulation
 +  * 49 - set steering to zero
 +  * 50 - Resets the simulator
 +  * 51 - machine and tool
 +  * 52 - show\hide extended mode
 +  * 53 - GPS data, left bar
 +  * 54 - Tree planter, WebCam, GPS shift, G.Earth flags dialog)
 +  * 55 - View position setup
 +  * 56 - 2D\3D mode
 +  * 57 - UDP port load 
 +  * 58 - 
 +  * 59..61 - menu
  
 ===== First Test ==== ===== First Test ====
Line 294: Line 366:
 If you want to create a boundary using Google Earth... Click> Google Earth and then once Google Earth opens click >add polygon or >add path. The pop-up window that appears has to stay open while you are drawing a polygon or path. Once you've outlined your field boundary, title it in the pop-up window and click >​OK>​File>​Save>​Save Place As. Save as KML file and not the default KMZ to your desired location. Then go back to AgOpenGPS and click >Load KML and voila your boundary is ready to go. If you want to create a boundary using Google Earth... Click> Google Earth and then once Google Earth opens click >add polygon or >add path. The pop-up window that appears has to stay open while you are drawing a polygon or path. Once you've outlined your field boundary, title it in the pop-up window and click >​OK>​File>​Save>​Save Place As. Save as KML file and not the default KMZ to your desired location. Then go back to AgOpenGPS and click >Load KML and voila your boundary is ready to go.
  
-**Creating a Headland**+**Creating a Headland** ​(this feature is currently unavailable. For now adjust the headland in U-Turn settings)
 This can only be done after a boundary is created. And you must be in AB or AB Curve mode for this to work. This can only be done after a boundary is created. And you must be in AB or AB Curve mode for this to work.
  
Line 321: Line 393:
  
 **Arduino:​** refers to an open-source electronics platform or board and the software used to program it. (Techopedia) **Arduino:​** refers to an open-source electronics platform or board and the software used to program it. (Techopedia)
 +
 +**Auto Steer Switch:** A switch that you install to cut off the power to the auto steering motor (cordless drill, phidgets motor, spool valves etc.) Generally installed on the steering motor mounting frame so that it activates when you move the steering motor away from the steering wheel. This switch does not control the Auto steer button/icon on the AgOpenGPS screen it only turns off the electrical current flowing to your steering motor.
  
 **BNO055:** an IMU made by Adafruit **BNO055:** an IMU made by Adafruit
Line 346: Line 420:
  
 **RTK:** stands for Real Time Kinematics satellite navigation is a technique used to enhance the precision of position data derived from satellite-based positioning systems (global navigation satellite systems, GNSS) such as GPS, GLONASS, Galileo, and BeiDou. It uses measurements of the phase of the signal'​s carrier wave, rather than the information content of the signal, and relies on a single reference station or interpolated virtual station to provide real-time corrections,​ providing up to centimetre-level accuracy. With reference to GPS in particular, the system is commonly referred to as Carrier-Phase Enhancement,​ or CPGPS.[1] It has applications in land survey, hydrographic survey, and in consumer unmanned aerial vehicle navigation. (Wikipedia) **RTK:** stands for Real Time Kinematics satellite navigation is a technique used to enhance the precision of position data derived from satellite-based positioning systems (global navigation satellite systems, GNSS) such as GPS, GLONASS, Galileo, and BeiDou. It uses measurements of the phase of the signal'​s carrier wave, rather than the information content of the signal, and relies on a single reference station or interpolated virtual station to provide real-time corrections,​ providing up to centimetre-level accuracy. With reference to GPS in particular, the system is commonly referred to as Carrier-Phase Enhancement,​ or CPGPS.[1] It has applications in land survey, hydrographic survey, and in consumer unmanned aerial vehicle navigation. (Wikipedia)
- 
-**Steer Switch:** A switch that you install to cut off the power to the auto steering motor (cordless drill, phidgets motor, spool valves etc.) Generally installed on the steering motor mounting frame so that it activates when you move the steering motor away from the steering wheel. This switch does not control the Auto steer button/icon on the AgOpenGPS screen it only turns off the electrical current flowing to your steering motor. 
  
 **WAAS:** Wide Area Augmentation System is a correction to the GPS signals implemented primarily in aviation. This is known internationally as an SBAS system. **WAAS:** Wide Area Augmentation System is a correction to the GPS signals implemented primarily in aviation. This is known internationally as an SBAS system.
Line 359: Line 431:
 = =
 ====== other Wikis ====== ====== other Wikis ======
-Pictures Gallery [[pictures:​start|pictures:​start]]+Pictures Gallery ​of some farmers'​ installations ​[[pictures:​start|pictures:​start]]
  
  
start.1547353085.txt.gz · Last modified: 2019/01/13 05:18 by rammy