HowerMower

Hallo Paddy,
eine Frage zuerst , packen die Räder des Hoverboards auch die unebene Wiese und kleine Steigungen? Ich hab so die Erfahrung gemacht, das oft bei den Mähern die Radprofile viel zu mickrig sind, verkleben mit Lehm und dann immer wieder durchrutschen.
Aber ich bewundere diese, Deine Konstruktion. Einfach toll und ich nehme an , die Antriebe machen absolut keinen Lärm.
 
Hallo,

ob die Räder gut auf dem Rasen fahren wird die Saison hoffentlich zeigen. Bei meinem ersten Prototyp letzten Sommer war es kein Problem. Ich muss aber auch sagen, mein Rasen ist ziemlich eben, es gibt praktisch keine Steigung. Es gibt die Räder aber auch mit Offroad Profil und zur Not kann man den Reifen auch abziehen. Da könnte man was passendes mit Profil aus TPU drucken, falls notwendig. Wir werden sehen :)

Leise ist der Antrieb auf jeden Fall. Das einzige Geräusch was ich im Haus beim testen höre ist das abrollen des Stützrad und das rappeln bei Fliesenfugen.
 
Ich frage deshalb weil mein gekaufter Mäher , ein Yard Force SA 900 ECO, also für ca 900 qm, zwei Motore hatte die sehr stark jammerten. Bis ich dahinter gekommen bin, daß schon die Motore die Erzeuger der Geräusche waren, aber eigentlich die Räder drauf die Lautsprecher waren die die Töne verstärkten. So hab ich mir mehrer Räder mit starkem Gripp gedruckt, zuerst mit PLA und dann aber mit TPU , und jetzt kann ich sagen, ich bin mit dem "Lärm " soweit zufrieden. Wobei es nicht ganz egal ist welche Räder zum momentanen Wetter passen. Unsere Wiese ist sehr wetter abhängig brauchbar zu mähen. Wenn es länger trocken ist, ist alles kein Problem, aber wenn es einige Tage regnet, dann verwandelt sich der Untergrund unter dem Rasen in eine schlammige Pfütze, dann brauch´s ordentlichen Gripp der Räder um aus den Ecken wieder herauszukommen. Da schmieren sich die Räder einfach zu und rutschen dann übers Gras, wenn der Mäher dann überhaupt wieder aus einem Eck herauskommt.
Zu Jahresende , so Ende September, ist dann ein Moor eingegangen, bzw er hat blockiert, und der Ersatzmotor war dann aber sowieso viel leiser. Also hätte ich mir vielleicht die ganze Räderdruckerei ersparen können. Aber so ist das Leben.
Der YF mit verschiedenen Ersatzrädern. Wobei man ein Rad mit zugeschmierten Profil sieht.
LG Georgio
 

Attachments

  • SAM_2945.JPG
    SAM_2945.JPG
    715.4 KB · Views: 9
  • SAM_2941.JPG
    SAM_2941.JPG
    648.1 KB · Views: 9
Last edited:
First test run of Hovermower on a sunny day.
Works good so far but still lot of work. First I need to get rid of poor wifi signal in garden. I have one router and two repeater acting in a mesh in my house.
But this seems not to be working well outside. Maybe I need some kind of wifi bridge to cover the garden. Any ideas?

LD06 works great outside even in bright sun. I use rtabmap_ros together with realsense stereo camera for slam. It works but consumes much ressources. Maybe I'll start with gmapping first and use the camera only to detect obstacles.

One major topic is coverage path planning and I hope to get this working as well.

For more details, have a look at the video description

 
Take a Look at the GWN7660 Access Points. I have 2 Off them and have WiFi in the whole Garden, near 2000 qm
 
Hallo,
leider bin ich seitdem nicht oft dazu gekommen, weiter zu arbeiten.
Kurzer Zwischenstand soll es dennoch von meiner Seite geben.

1. ich habe einen neuen Access Point von UniFi in Betrieb genommen. Ehrlich, eine FritzBox + 2 Repeater im Mesh bringen nicht mal halb so viel wie ein UniFi.
2. Ich habe ein Paket gefunden, dass die path coverage übernimmt. Erste Tests scheinen OK zu sein, hat einige Bugs, aber im Grunde könnte das eine Basis sein
3. eine WebUI ist gerade im werden. Da ich jetzt mehr im Garten experimentiere, muss ich mobil den Roboter steuern können. Zum Glück gibt es bereits fertige JS Bibliotheken für ROS.
4. Ich teste gerade verschiedene mapping Lösungen. gmapping (nur Lidar), Google cartographer (Lidar + IMU) und rtabmap (visuelle Odometrie mit Stereo Kamera + Lidar). Zudem verschiedene Pfadplanner, etwa teb_local_planner vs. dwa_planner. Die werden genommen, um Hindernisse zu umfahren. Das liebe ich mittlerweile an ROS, einfach Pakete installieren und los geht's.
5. aktuell räume ich meine eigene ROS Software auf. Der Code wird klarer strukturiert und in einzelne Klassen unterteilt.
6. aktuell arbeite ich daran, dass Bumper und Perimeter als Punkte in dem Navigation Stack berücksichtigt und als Hindernisse erkannt werden.

Noch viel zu tun und der Rasen wächst schnell. Da muss der gute alte Ardumower wohl noch die Saison aushelfen
 
Today I did a first test run with path coverage. It still needs lot of fine tuning but in general, it seems to be possible at all.
The repository I used for path coverage seems to be a good basis


Path coverage for ROS can be found here
 
For this test, I compare how different mapping packages influence the path coverage of a given area.
I tried to run all tests on the same area.

At first glance, it seems gmapping did the best job as it covered the area as fastest.
rtabmap did a really good job even if it tooked the most time. Expect from the beginning and the end, it runs most smooth. The lag at beginning might be caused move_base wasn't able to solve the path as it was too close to obstacle.

All tests show really time consuming oscillation when rotate. I didn't see this when I set a goal manually. However, this seems to be the main cause why path coverage didn't worked as expected. Until now, I don't know which causes this oscillation but it might be the following:
- rotate too fast result in lost of lidar position
- pid settings of Hoverboard motors
- goal tolerances of move_base are set too fine

 
As I didn't get reliable and repeatable results with the actual setup and because I get noticed about OpenMower project, I started to combine OpenMower project (which also relies on ROS) with my ROSMower. I like the way they implemented the behavior of the robot and also the way they do the path coverage. As they use a dedicated commercial mower, I had to build some wrappers to incorporate my hardware.

Also I payed for the expensive way of RTK-GPS. I really tried without and I had some success, but it is not accurate enough in my opinion.

Now my house is equipped with RTK base station and my rover with rtk solution as well. Both communicates by wifi. So if you're interested in the least expensive RTK solution, purchase two Ardusimple RTK board with ublox patch antenna directly at ardusimple.com. Inclusive tax and shipment, you still have to pay up to 450€. I don't use any radios, instead I use wifi of rover and used an old raspberry pi for base station.

After long fighting with myself, I paid for it. But don't believe my problems has been solved. It is still not a plug and play solution. I had to tweak the settings to get a good and reliable signal. Also it is not that easy to find a proper antenna placement on rover. Space is limited, you know, and you have good luck to pick up reflecting signals, electronic noise and others.

After first frustrating tests, I started some semi-scientific test this week and want to share my results with you. Maybe it is helpful for some of you.


If you're lazy and don't want to read all this stuff there, the best candidate seems to be a small, round steel can of 120mm diameter, 60mm height. Turn it around and place antenna on top of it.

Next step is to build a mount for antenna, check base station again to get a reliable GPS fix.
 
Somehow, many people are having problems with their robots at the moment.
Can you actually estimate what you have invested so far?
 
Making only small progress. After I noticed the OpenMower project, a ROS based mower, I started to migrate my build to incorporate with their software as things like path coverage are done there. Also they have build some behavior trees, which I was missing so far.

But this meant, I had to purchase an Ardusimple Kit (two). I really tried without RTK-GPS but it is not feasable for me to solve localization with visual odometry only.
But even with RTK-GPS, things are not trivial at all. I use robot_localization package, which isn't used by OpenMower project as they build their odometry source different than it is commonly solved in ROS.

However, after several test, I was able to get it up and running. The root cause was IMU heading. If I use absolute orientation, things get worse. But by using only yaw velocity, I was able to localize correctly.

 
Somehow, many people are having problems with their robots at the moment.
Can you actually estimate what you have invested so far?
Too much to be honest. RTK kit was approx 450€ + 100€ Lidar + 120€ stereo camera (found cheap on aftermarket) + print material + 0€ for Hoverboard
 
Last edited:
Making some progress. HoverMower now uses OpenMower ROS package for mowing. But I had to change some things, especially robot localization. I've written a node which translates ublox/navrelposned messages to nav_msgs/odometry. This gets fused with robot_localization package.

But still fighting with oscillation.

Mowing perimeter with slic3r_coverage_planner
 
After hundrets of hours of testing, developing and testing again, I got my HoverMower up and running. Sadly the season is mostly done for this year. I use ros package of OpenMower project (behavior tree, floor coverage planner), RTK-GPS, robot_localization with dual EKF fusion and navsat_transform node. Navigation stack consists of move_base_flex and teb local planner. Lots of issues I was fighting in past are solved so far and most of them were caused by poor IMU calibration. Still lot of things to do but I'm happy so far.

I'll try to build a web UI during winter
 
Eine Menge Arbeit, aber das Ergebnis sieht ja vielversprechend aus. Kannst du nochmal kurz auflisten welche Hardware du aktuell verbaut hast um auf das Ergebnis zu kommen, falls es nicht schon irgendwo steht?
 
Used components to reach the actual state
- NVidia Jetson (or RPi) as main controller
- Hoverboard motors, PCB and battery
- IMU, BNO085 in my case
- RTK GPS base and rover module from Ardusimple
- Arduino Nano for low level tasks like battery monitor, mow motor control
- BLDC motor and driver from JKONGMOTOR as mow motor
- Meanwell Dc Dc converter to get 5V 10A
- PS4 controller to train the mowing area

That's all you need to get this up and running.

Other components like stereo camera and lidar are not used now, but at least lidar will come back soon to detect obstacles and avoid collision. If enough CPU ressources are available, I'll add camera again as well for obstacle detection
 
Back
Top