Welcome, Guest
Username: Password: Remember me
25 Feb 2017
Das neue Board ist ab sofort HIER ERHÄLTLICH
Aufbauvideos im WIKI findet Ihr hier.
  • Page:
  • 1

TOPIC: Perimeter Tutorial Videos

Perimeter Tutorial Videos 1 week 2 days ago #13774

  • Roland
  • Roland's Avatar Topic Author
  • Offline
  • User
  • User
  • Posts: 336
  • Thank you received: 136
Hi, in order I just programmed the new perimeter recognition routine in my Raindancer firmware I decided to do a tutorial about how the perimeter recognition works. I used the english language in order there are a lot of people who don't speak german. But I speak english maybe 3 times a year and this was really a challenge and you will hear it :lol:

Today I recorded the videos about the theoretical part. Not really perfect and because I don't earn any money with that it must not be perfect. But I hope it helps people to understand the function of the perimeter recognition.
Before I start the practical part, it would be nice if some people can can take a look to the videos and give me feedback if you understand what I say and what I want to explain. Hopefullly it is not too boring. I have to speak very slowly :unsure:





The following user(s) said Thank You: nero76, Kurzschuss, wolodk, gk, Bernard

Please Log in or Create an account to join the conversation.

"There’s a way to do it better - find it" ― Thomas A. Edison
Last Edit: by Roland.

Perimeter Tutorial Videos 1 week 1 day ago #13783

  • Bernard
  • Bernard's Avatar
  • Offline
  • User
  • User
  • Posts: 362
  • Thank you received: 62
Hi Roland.
Great work and many thanks to have explain in english.
No problem to understand your english.
I have never paid attention to the fact that when the sender send 1 1 1 the coil detect only the first rising edge
Why did you want to use a long signal because the arduino is not very fast and maybe it's take time to read it.
In my test at 0.3m/s the mower need to have a new value each 20 ms to have a correct PID tracking
Again congratulation.
The following user(s) said Thank You: Roland

Please Log in or Create an account to join the conversation.

Perimeter Tutorial Videos 1 week 19 hours ago #13785

  • Roland
  • Roland's Avatar Topic Author
  • Offline
  • User
  • User
  • Posts: 336
  • Thank you received: 136
Hi Bernard,

thank you for the feedback.
Lets calculate some numbers.

The sender signal is 128bit long. Each bit has a duration of 104uS.

128*0,104mS=13,312ms
This means, the duration of one period is 13ms.

On the Due side, I sample 512 bit each 26uS.
512*0,026ms=13,312mS
This means, to sample a signal needs 13ms.

This sampling runs PARALLEL to the normal code. The ADC samples each value and the DMA bus writes it down direct to the memory.

In order I use two coils, I sample one coil and calculate the other coil.
Furthermore I don't do the calculation of the matched filter in the time domain like the Ardumower do.
Alexander found a really fast FFT conversion routine in the internet and and we build a matched filter routine in the frequency domain which needs round about 4ms to calculate the matched filter of 512bit. We splitted this routine in order it will not block the main loop. And now we have a really well timed matched filter routine.

Each coil is now calculated every 35ms.
At the moment when I only run my service routines I got 30000 loops/sec and when I activate the Behaviour Tree I get 20000 loops/sec. I have to see if I can hold this values in the future when I have finished the complete code.

The reason using a longer signal is, that finding a longer signal is more accurate and we get a much better result in the recognition process.
I don't use a SMAG. If I lost the signal, the mower stops. Therefore it is very important to have a good signal.

The matched filter in the frequency domain I will explain later in a video.
Until now I have finished two more videos.



Please Log in or Create an account to join the conversation.

"There’s a way to do it better - find it" ― Thomas A. Edison
Last Edit: by Roland.

Perimeter Tutorial Videos 6 days 7 hours ago #13798

  • Roland
  • Roland's Avatar Topic Author
  • Offline
  • User
  • User
  • Posts: 336
  • Thank you received: 136




Take also a look to this Video where a matched filter is simulated in the time domain:

Please Log in or Create an account to join the conversation.

"There’s a way to do it better - find it" ― Thomas A. Edison
Last Edit: by Roland.

Perimeter Tutorial Videos 3 days 23 hours ago #13827

  • Roland
  • Roland's Avatar Topic Author
  • Offline
  • User
  • User
  • Posts: 336
  • Thank you received: 136


The following user(s) said Thank You: Bernard

Please Log in or Create an account to join the conversation.

"There’s a way to do it better - find it" ― Thomas A. Edison

Perimeter Tutorial Videos 2 days 17 hours ago #13830

  • Bernard
  • Bernard's Avatar
  • Offline
  • User
  • User
  • Posts: 362
  • Thank you received: 62
Hi Roland.
Very good result.
I read your other post concerning your firmware and when i see your video it seam that you didn't use thee arduino Ide.
In th past I have tested the free version of VS Studio arduino plugin (breakpoint for debuggîng) but can't find better thing than arduino ide.
A very helpfull thing would be to explain exactly how you use it or link on tutorial (but not only "Hello Word" one )

Remark on the video when there are code or debug view I can't see it on Youtube. Maybe a bigger police help.

Congratulation for all your video.

Please Log in or Create an account to join the conversation.

Perimeter Tutorial Videos 2 days 14 hours ago #13831

  • Roland
  • Roland's Avatar Topic Author
  • Offline
  • User
  • User
  • Posts: 336
  • Thank you received: 136
Hi Bernard,

thanks again for the feedback.

I use www.visualmicro.com/ which I bought (but you don't have to buy it) with visual Studio 2015 (free version). At the beginning I use Debug mode but I didn't need it. Therfore I only compile in Release mode.
This software has 2 big advantages:
a) See the left tree. There you can sort your files in a logic manner
b) You have the full capability of intellisense and errorhandling of VS2015

If you use it first, it looks a little bit overhelming because of the complexity of VS2015.
But it is not because you don't need much of the menues.
When I have time, I will make a small video how I use it.

Remark on the video when there are code or debug view I can't see it on Youtube. Maybe a bigger police help.

The videos are in HD. You have to open the videos directly in Youtube (left click and copy URL). When the Video then starts it need some seconds after you see the full quality.
The Ardumower server decreases the video quality.

In the first post you wrote:

Why did you want to use a long signal

When I came back from vacation, my robot are not able to recognize the perimeter signal correctly anymore. I have not found the error jet.
Therefore I program an UNO for testing. Here I have a to use the original Ardumower signal. Take a look how the result of the matched filter looks like:



The matched filter output of the new 128 bit signal is much better.

Very strange, the server also decreases the quality of the picture I attached.
Attachments:

Please Log in or Create an account to join the conversation.

"There’s a way to do it better - find it" ― Thomas A. Edison
Last Edit: by Roland.

Perimeter Tutorial Videos 2 days 11 hours ago #13832

  • Bernard
  • Bernard's Avatar
  • Offline
  • User
  • User
  • Posts: 362
  • Thank you received: 62
Hi Roland.
I know Visual Studio, so no problem.
I have on my PC Vmicro and VS2012 so i test again , and yes it's perfectly working .
Video:
Sorry for YouTube it was in 480P but in HD it's perfect.
Picture:
For the picture in the Forum i have the same issu, i made a scancube 360Deg Ultra Hd picture of the PCB1.3 but i can't share it.
Only by WeTransfert.
Perimeter:
I have 2 test Platform (Paranelo with PCB1.3 and DUE and DENNA with PCB1.2 and DUE )and use my version of Azurit with sunray ADCMAN (Again thank to Alexander) and the original 24 Bits perimeter can be refresh each 13ms,and since 1 year i use it a lot without any error or problem but if you have Something more accurate why not ??
Firmware
I actualy work on my version of Azurit (MPU6050 with DMP and Separate Compass ) for Lane mowing but difficult to find Something perfectly accurate.
Hope you can find Something more efficient and wait for your "testing or working" firmware.


By.

Please Log in or Create an account to join the conversation.

Perimeter Tutorial Videos 2 days 9 hours ago #13836

  • Roland
  • Roland's Avatar Topic Author
  • Offline
  • User
  • User
  • Posts: 336
  • Thank you received: 136

Hope you can find Something more efficient

I am not in in competition with Sunray. I believe in chaotic mowing if the lawn area is not too big (up to 2000-3000 square meters). The reason for this is the look of the lawn. If you mow it from all angles a lot of times it looks much better. I mean real lawn not weed lawn. Therefore my aim is to build a mower which works at any weather like the Automower because it has to mow my lawn two to three times a day. And chaotic means not to only turn a random angle at the perimeter. There is also a plan behind this. Ans this is chaotic :lol: My code worked this year very good. But I think I can improve it. I use the concept of services and behaviour tree in the code. The code is very easy to change and to extend if one understand the concept. But using exact cards of the environment could be a problem. Here maybe another processor is needed. At the moment I have round about 50000 bytes free.

My lawn ends direct at a street. If I would use a smag the robot could run on the street if there would be an error at the perimeter. The signal must be perfect on all areas on the lawn without any compromise.

Here some pictures of my lawn this year and how I love it too see. Since May of this year I have not used a conventional mower.



Attachments:

Please Log in or Create an account to join the conversation.

"There’s a way to do it better - find it" ― Thomas A. Edison
Last Edit: by Roland.

Perimeter Tutorial Videos 2 days 7 hours ago #13838

  • Bernard
  • Bernard's Avatar
  • Offline
  • User
  • User
  • Posts: 362
  • Thank you received: 62
Hi Roland
I am not in in competition with Sunray
I never speak about Sunray i use only Azurit and the random mowing.
I view in working condition a lot of robot mower and only the bosh Indego algorithm is impressive for me.
But many of them use simply random move and it's work well.
By.

Please Log in or Create an account to join the conversation.

Perimeter Tutorial Videos 1 day 23 hours ago #13842

  • Roland
  • Roland's Avatar Topic Author
  • Offline
  • User
  • User
  • Posts: 336
  • Thank you received: 136
Hi Bernard,

looks like I mixed it up because I saw your robot mowing lane by lane.. Sorry.

For vmicro it is important to use the latest version. I found a bug in the software which is fixed now.

Please Log in or Create an account to join the conversation.

"There’s a way to do it better - find it" ― Thomas A. Edison
Last Edit: by Roland.

Perimeter Tutorial Videos 1 day 17 hours ago #13845

  • Bernard
  • Bernard's Avatar
  • Offline
  • User
  • User
  • Posts: 362
  • Thank you received: 62
Hi Roland
Very beautifull lawn (Perfectly cut;) ).
And chaotic means not to only turn a random angle at the perimeter. There is also a plan behind this. Ans this is chaotic

I don't understand exactly what you mean.

I use a RL1000 since 2007 that is to say for 10 years without any problem exept changing battery, (The mowing pattern is a mix of Lane and Random and the efficience is really better that the only random). The mowing width 53CM help a lot for lane mowing.
It's why i want to try to do
Mixed of :
Lane mowing
Random Mowing
Arround Perimeter at 50 cm to 1 ml and maybe a better signal can help in this case.

For me the mapping like SUNRAY is very good but i don't have the knowledge to manage it (maybe you or Alexander or someone else ?)

I only want to share information and help when i can but never competition also.

By

Please Log in or Create an account to join the conversation.

Last Edit: by Bernard.

Perimeter Tutorial Videos 1 day 10 hours ago #13856

  • Roland
  • Roland's Avatar Topic Author
  • Offline
  • User
  • User
  • Posts: 336
  • Thank you received: 136

Lane mowing
Random Mowing
Arround Perimeter at 50 cm to 1 ml and maybe a better signal can help in this case.


Yes this I mean with a plan behind this.
I have currently two mow pattern. Each which will be executed a random number in a row. And the angle is also random in a narrow intervall.

Have you some more precise information about the mow pattern of the RL1000? Maybe we can improve the the pattern together.
But first I have to do the basics.



I came from vacation and my robot doesn't recognice the perimeter anymore. It tooks me the whole tuesday an two afterwork times to find the problem. The problem I found was, that the NANO clone has changed the frequency. The signal comes not out with 104uS. Maybe the crystal changed the output a little bit. That speaks against a long signal. But I will see. The new Nano is an Arduino original now and it works perfectly again. I changed also the recognition routine on the Nucle 446RE like described in the tutorial.
Attachments:

Please Log in or Create an account to join the conversation.

"There’s a way to do it better - find it" ― Thomas A. Edison
  • Page:
  • 1
Time to create page: 0.333 seconds