Ardumower Sunray: Unterschied zwischen den Versionen

Aus www.wiki.ardumower.de
Wechseln zu: Navigation, Suche
(GPS (invalid, float, fix))
(GPS (invalid, float, fix))
Zeile 179: Zeile 179:
 
2. When the rover has NOT yet found its precise position, the rover LED ''''GPS FIX'''' will be OFF and the App shows 'invalid'. When the rover has found its position, the rover LED ''''GPS FIX'''' will be ON and the App shows 'fixed'  
 
2. When the rover has NOT yet found its precise position, the rover LED ''''GPS FIX'''' will be OFF and the App shows 'invalid'. When the rover has found its position, the rover LED ''''GPS FIX'''' will be ON and the App shows 'fixed'  
  
Depending on the robot's location (e.g. near trees), it may take some time to get a RTK FIX solution. Also, it appears this FIX can get lost quickly in the first minutes (e.g. near trees). However, after several minutes running time, the FIX is more robust (even near trees).
+
Depending on the robot's location (e.g. near trees), it may take some time to get a RTK FIX solution. Also, it appears this FIX can get lost quickly in the first minutes (e.g. near trees). However, after several minutes running time, the FIX is more robust (even near trees). So, for best position results, let the GPS 'warm-up' some minutes at a location with good sky view.
  
 
[[File:Pcb1_3_rtk_rover_led.png|600px]]
 
[[File:Pcb1_3_rtk_rover_led.png|600px]]

Version vom 30. Januar 2020, 12:07 Uhr

Ardumower Sunray is an alternative Firmware (experimental) for the Ardumower. It uses RTK GPS to localize cm-precise without a perimeter wire. It requires PCB1.3, Arduino Due, ublox ZED-F9P RTK kit, Bluetooth BLE and a phone (Android/iOS).

NOTE: everything here is already working but in early prototype phase! Use Azurit Firmware instead if you need a firmware with more features...

600px Ardumower sunray app.jpg

Demo video: coming soon

Significant changes compared to Azurit Firmware

  • Optimized for PCB 1.3
  • Optimized for Arduino Due
  • Optimized for RTK

Requirements

RTK-GPS uses two GPS receivers, one for the reference antenna (base) and one for the robot mower (rover) which both communicate in realtime via radio modules. The base constantly sends correction data so the rover can compute its cm-precise position. In the RTK-GPS kit, everything required (receivers, radios, antennas etc.) is included.

To be able to use RTK-GPS, your robot mower should have a good view to the sky at all locations. RTK-GPS will NOT work directly near walls, under large trees, in buildings etc.

PCB

These are the hardware requirements to add RTK-GPS to your Ardumower:

Bluetooth BLE UART module

1. Install Bluetooth 4.0/BLE module on your Ardumower PCB1.3 (replace any installed Bluetooth 2.0 module).

IMPORTANT: Verify the pinout of your BLE module is matching your Ardumower PCB pinout (shown at the PCB1.3 back side)!

PCB

2. Set JP10 (Bluetooth signal level) to 3.3V

3. Set JP4 (Bluetooth voltage) to 5V

4. Set JP7 (GPS voltage) to 5V

5. Set JP12 (GPS signal level) to 5V

PCB

PCB1.3 GPS pin fix

The pins TX3 and RX3 are incorrectly routed on PCB1.3 - Fix it by swapping the TX3 and RX3 pin headers as shown below.

You can see the fixing process in this video: https://youtu.be/T-EqU5azCAU?t=140

PCB

RTK base

WARNING: Handle your GPS modules with care, it is an expensive piece of hardware. If you have any doubt, or if you are unsure, please ask in the Ardumower forum for help.

1. Make sure you have the simpleRTK2B module marked as 'BASE' in your hands (look at simpleRTK2B PCB label at backside!)

2. Connect Xbee LongRange dipole antenna

3. Connect GPS multifrequency patch antenna

4. Connect a USB 5v power supply to the USB port marked as 'POWER+GPS'

PCB

5. Install the GPS base antenna - it should have clear view to the sky in all directions without any obstacles. For best results install GPS antenna on the roof. Alternatively, if you have an open area (without trees and other obstacles), you can install the base antenna on a tripod.

400px PCB

NOTE: The robot mower will get and save all position coordinates relative to the base antenna (East, North) - do not move the base antenna after recording the virtual perimeter.

RTK rover

WARNING: Handle your GPS modules with care, it is an expensive piece of hardware. If you have any doubt, or if you are unsure, please ask in the Ardumower forum for help.

1. Make sure you have the simpleRTK2B module marked as 'ROVER' in your hands (look at simpleRTK2B PCB label at backside!)

2. Connect XBee LongRange dipole antenna

3. Connect GPS multifrequency patch antenna

4. Connect PCB1.3_GPS_GND to simpleRTK2B GND

5. Connect PCB1.3_GPS_5V to simpleRTK2B 5V_IN

6. Connect PCB1.3_GPS_TX to simpleRTK2B TX1

7. Connect PCB1.3_GPS_RX to simpleRTK2B RX1

8. Connect simpleRTK2B IOREF to simpleRTK2B 5V_OUT (to choose signal voltage level 5v)

PCB

9. Install XBee antenna and GPS antenna on the Ardumower

PCB

Rover configuration (messages)

NOTE: If you purchased your RTK-GPS modules at Marotronics, these modules should be pre-configured and you can skip this section.

1. IMPORTANT: Make sure the Ardumower is turned off!

2. Connect SimpleRTK ROVER module USB port marked as 'POWER+GPS' to your PC.

3. Download ublox u-Center and start it: https://www.u-blox.com/en/product/u-center

4. Choose 'Receiver->Connection' and choose your rover module COM port.

Ucenter choose port.png

5. In this step we want to turn off all broadcast messages except one. Choose 'View->Configuration View'. Choose configuration message 'MSG (Messages)' and select one message after the other in the list (0A-37 MON-HW3, 0A-09 MON-HW, ..., etc.). For each message, make sure the selected message is turned off for UART1. Do NOT change anything for the ports UART2, USB etc. - only turn off all messages for UART1. Example for message '01-22 NAV-CLOCK' that has been deactivated for UART1:

Ucenter disable messages.png

Repeat this step for all messages in the listbox and turn off all messages for UART1.

6. Finally, activate message '01-3C NAV-RELPOSNED' for UART1 (this is the only message we want to be broadcast).

Ucenter nav relposned.png

7. Choose configuration message 'PRT (Ports)', choose 'UART1', and set baudrate to 115200 for UART1:

Ucenter baudrate.png

8. Choose configuration message 'RATE (Rates)' and set measurement period to 200ms (5 Hz):

Ucenter rate.png

9. Choose configuration message 'CFG (Configuration)' and click on 'Send' to make the configuration in the rover persistent when the rover module is powered off.

Ucenter save config.png

10. Verify that the configuration is actually persistent in the rover module - disconnect the rover module and reconnect. Then go through all previous steps and verify that the configuration is still present.

11. IMPORTANT: Disconnect USB cable from rover module!

Firmware (Arduino Code)

In this section you will upload the Arduino code ('Sunray Firmware') to your Ardumower.

1. Download Ardumower Sunray Firmware and unzip it: https://github.com/Ardumower/Sunray/archive/master.zip

2. Open the Arduino sketch 'sunray.ino'.

3. Start Arduino IDE, and upload the sketch to your Arduino Due on the Ardumower PCB1.3.

2. After uploading, start your Ardumower - after a short while you should hear a 'beep'. Ardumower is now ready for your commands!

Phone App

In this section you will download the App to your phone (Android or iOS) which is used to configure your mower.

1. Download Viewer App:

  For Android, download Evothings Viewer: https://play.google.com/store/apps/details?id=com.evothings.evothingsviewer
  For iOS, download CGTek Viewer: https://apps.apple.com/de/app/cgtek-viewer/id1135118284

2. Start App and enter the connection URL as show below and press 'Connect':

PCB

3. The App should start as shown below:

PCB

NOTE: The robot mower will get and save all position coordinates relative to the base antenna (East, North) - do not move the base antenna after recording the virtual perimeter.

Odometry test

Both, the robot's motor odometry and GPS-RTK are used to localized the robot. Therefore, it is important to verify that the odometry is working correctly as shown below. Start the phone app and follow the steps below to verify that your mower odometry is configured correctly.

PCB

GPS (invalid, float, fix)

1. Once your base module is sending satellite reference data to your rover module (via the XBee LongRange modules), the LED 'XBEE->GPS' on the rover will start to blink. Verify that by turning OFF and then again ON the base module!

2. When the rover has NOT yet found its precise position, the rover LED 'GPS FIX' will be OFF and the App shows 'invalid'. When the rover has found its position, the rover LED 'GPS FIX' will be ON and the App shows 'fixed'

Depending on the robot's location (e.g. near trees), it may take some time to get a RTK FIX solution. Also, it appears this FIX can get lost quickly in the first minutes (e.g. near trees). However, after several minutes running time, the FIX is more robust (even near trees). So, for best position results, let the GPS 'warm-up' some minutes at a location with good sky view.

Pcb1 3 rtk rover led.png

Discussion / forum thread

If you have any doubt, or if you are unsure, please ask in the Ardumower forum for help.

  1. https://forum.ardumower.de/threads/sunray-firmware-goes-rtk.23690/