Raindancer Firmware

Bernard schrieb:
But maybe try to use hardstop instead of MotorStopFast in mseqDockingStation

Yes but it's better to use Sonar like in my firmware.
In the past you post about sonar , Why have you stop to dev this type of sensor ?

For the start i am agree with you ,But actually your areaX start from where ?(not the station?).
 
Zuletzt bearbeitet von einem Moderator:
But maybe try to use hardstop instead of MotorStopFast in mseqDockingStation

Yes but it's better to use Sonar like in my firmware.
In the past you post about sonar , Why have you stop to dev this type of sensor ?

For the start i am agree with you ,But actually your areaX start from where ?(not the station?).[/quote][/quote]
 
"Why have you stop to dev this type of sensor ?"
I want to quote metabo: "Work. Don't Play!" It's only sunshine hardware. My aim is to make a high available mower. If you want to insert it, no problem. Please follow the rule, that hardware is only availabe through hardware.h and do it in this way, that if you want to transfer the code to another MCU it is easy to do. Changes for transfering should only be done in the hardware section. And no evaluation logic for the Sonarsensors should be done in the hardware. Therefore it is a wrong way to put the complete newPing Library to the hardware section. Programm it as service and put the hardware access into hardware.h Maybe a new interface for external interrupts should be created. I don't realised it at the moment because I use only the two encoder interrupts.

"But actually your areaX start from where ?"
It's like I told you in my last post. areaX starts currently only from the userinterface. Every time I want to mowing, I send the command area,3 or area,19 through my mobile phone. The robot runs through the station. Put your robot on the perimeter wire an put in area,3 and see what happens. There should be no charging station in the way.
If you want to programm it for your charging station, create a new beahviour in BHTroot and a new tab card like BHTGoOutChargingStation. Drive back 1m, rotate 90degrees CC and then start mowing. Start it through the UI. Yuo can use areax as a copy template. If this works you learnd a lot about programming the BHT and UI.
It needs a little bit of time to think in a BHT and not in a statemachine. Document it first before programming. And put to every node the conditions, when the node retuns true, false or running. That helps alot.

And please do in in a way, that you can merge you programm with the repository in the way, thay I use my code also.

If you don't know how to start tell me please.
 
Now I have improved the bumper behaviour near the perimeter. Seldom the mower run in my pass through chargingstation and then were confused and has problems to find out the correct way. Badest thing was, the mower runs in the chargingstation and drove over the perimeter. Then rotates and then drove forward some cm. Until know I was not handle this special behaviour. But now it is possible.

https://youtu.be/jthut7ZLNho
 
I can't find my old post but
Here the video with the behaviour of the sonar.
When the sonar detect Something the mower brake and never touch the obstacle, the bumper is only here in case of the sonar fail to detect and is more hard.
https://youtu.be/zjQJ1htO5H8
 
Hi.
Here the PI and GPS wiring for PCB1.3:
GPS is connected to the PI, PI use serialUSB and is powered after a DC/DC 5A on P17.No other board.
20180623_150103.jpg


Her the video,Sorry for the quality but it's the first test after very fast Dev. https://youtu.be/sPTiaO-kWs4
All the terminal message are saved and Gps position or video can be recorded.
Attachment: https://forum.ardumower.de/data/media/kunena/attachments/3545/20180623_150103.jpg/
 
Zuletzt bearbeitet von einem Moderator:
Hi Bernard, nice startup. With what did you programm it? Phyton, Java, ...?
Maybe you can send the code although I have no PI jet.
 
The code use Python and i am sure is really easy for you.
The more complex with the PI was to adapt the WIFI Acces Point and read 100 forum to find info on the correct Raspbian version.
For Raindancer you have already build all the command with the terminal so the interface is really easy.

Now need a long time test to see if all can stay perfectly stable.

I erase all what is not needed in raindancer and post the code .
 
Hi Roland,

Is it possible to use console ui via arduino ide serial console? I see something there but can't send any commands. Arduino central working on phone but typing is... and screen is so small :)
Then settings in config.h. Is there same variables in all chassis? (just different values) I mean that no matter which I choose if changing all values to match my chassis.
How the Pi is involved with this firmware? is there some interface code for pi also?

Code:
HardwareSetup started
I2c reset started
I2c reset OK
adcman setup pin: AD2
adcman setup pin: AD9
adcman setup pin: AD8
adcman setup pin: AD7
adcman setup pin: AD7
adcman setup pin: AD1
adcman setup pin: AD0
adcman setup pin: AD3
adcman setup pin: AD5
adcman setup pin: AD4
I2C scanning...
I2C device found at address 30  0x1e  probably HMC5883L
I2C device found at address 80  0x50  probably AT24C32
I2C device found at address 83  0x53  probably ADXL345B
I2C device found at address 104  0x68  probably DS1307
I2C device found at address 105  0x69  probably MPU6050/9150 or L3G4200D
I2C device found at address 119  0x77  probably BMP180
I2C scan done
Set L encoder not reverse
Set R encoder not reverse
Reset motor left fault
Reset motor right fault
Reset motor mow fault
HardwareSetup finished
perimeterSensoren Setup Startet
REFERENCE_SIGNAL:1,1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,-1,1,-1,1,-1,-1,1,-1,-1,1,-1,1,1,-1,1,-1,1,-1,1,-1,1,1,-1,-1,1,1,-1,-1,1,1,-1,1,-1,1,1,-1,-1,1,-1,-1,1,1,-1,1,1,-1,-1,1,-1,-1,1,-1,1,-1,1,1,-1,1,-1,-1,1,-1,-1,1,1,-1,1,-1,-1,1,1,-1,1,-1,1,-1,1,-1,1,-1,1,1,-1,-1,1,-1,-1,1,-1,1,-1,-1,1,-1,-1,1,1,-1,1,1,-1,-1,1,
GENERATE_DIFF_SIGNAL:0,0,-1,0,0,1,-1,0,1,-1,1,-1,0,1,0,-1,1,0,-1,0,1,0,-1,1,0,-1,1,-1,1,-1,0,1,-1,0,1,-1,1,0,-1,1,-1,1,-1,1,-1,1,0,-1,0,1,0,-1,0,1,0,-1,1,-1,1,0,-1,0,1,-1,0,1,0,-1,1,0,-1,0,1,-1,0,1,-1,1,-1,1,0,-1,1,-1,0,1,-1,0,1,0,-1,1,-1,0,1,0,-1,1,-1,1,-1,1,-1,1,-1,1,0,-1,0,1,-1,0,1,-1,1,-1,0,1,-1,0,1,0,-1,1,0,-1,0,1,
referenceSignalFFT_r Oversample	512:
0	0	0	0	0	0	0	0	-10	-10	-10	-10	0	0	0	0	0	0	0	0	10	10	10	10	-10	-10	-10	-10	0	0	0	0	10	10	10	10	-10	-10	-10	-10	10	10	10	10	-10	-10	-10	-10	0	0	0	0	10	10	10	10	0	0	0	0	-10	-10	-10	-10	10	10	10	10	0	0	0	0	-10	-10	-10	-10	0	0	0	0	10	10	10	10	0	0	0	0	-10	-10	-10	-10	10	10	10	10	0	0	0	0	-10	-10	-10	-10	10	10	10	10	-10	-10	-10	-10	10	10	10	10	-10	-10	-10	-10	0	0	0	0	10	10	10	10	-10	-10	-10	-10	0	0	0	0	10	10	10	10	-10	-10	-10	-10	10	10	10	10	0	0	0	0	-10	-10	-10	-10	10	10	10	10	-10	-10	-10	-10	10	10	10	10	-10	-10	-10	-10	10	10	10	10	-10	-10	-10	-10	10	10	10	10	0	0	0	0	-10	-10	-10	-10	0	0	0	0	10	10	10	10	0	0	0	0	-10	-10	-10	-10	0	0	0	0	10	10	10	10	0	0	0	0	-10	-10	-10	-10	10	10	10	10	-10	-10	-10	-10	10	10	10	10	0	0	0	0	-10	-10	-10	-10	0	0	0	0	10	10	10	10	-10	-10	-10	-10	0	0	0	0	10	10	10	10	0	0	0	0	-10	-10	-10	-10	10	10	10	10	0	0	0	0	-10	-10	-10	-10	0	0	0	0	10	10	10	10	-10	-10	-10	-10	0	0	0	0	10	10	10	10	-10	-10	-10	-10	10	10	10	10	-10	-10	-10	-10	10	10	10	10	0	0	0	0	-10	-10	-10	-10	10	10	10	10	-10	-10	-10	-10	0	0	0	0	10	10	10	10	-10	-10	-10	-10	0	0	0	0	10	10	10	10	0	0	0	0	-10	-10	-10	-10	10	10	10	10	-10	-10	-10	-10	0	0	0	0	10	10	10	10	0	0	0	0	-10	-10	-10	-10	10	10	10	10	-10	-10	-10	-10	10	10	10	10	-10	-10	-10	-10	10	10	10	10	-10	-10	-10	-10	10	10	10	10	-10	-10	-10	-10	10	10	10	10	0	0	0	0	-10	-10	-10	-10	0	0	0	0	10	10	10	10	-10	-10	-10	-10	0	0	0	0	10	10	10	10	-10	-10	-10	-10	10	10	10	10	-10	-10	-10	-10	0	0	0	0	10	10	10	10	-10	-10	-10	-10	0	0	0	0	10	10	10	10	0	0	0	0	-10	-10	-10	-10	10	10	10	10	0	0	0	0	-10	-10	-10	-10	0	0	0	0	10	10	10	10
referenceSignalFFT_i Oversample	512:
0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
referenceSignalFFT_r after FFT	512:
-28	-52	-24	16	-15	-65	-54	-14	-4	-70	39	-28	50	-69	-27	61	96	26	123	108	9	11	51	87	64	-32	274	69	78	274	-37	301	124	247	178	-61	-43	136	-69	576	-744	60	-306	-459	-642	414	157	-191	513	224	217	-441	-336	320	-206	-224	53	-196	100	262	-384	-254	304	276	-98	-299	-62	3	291	-415	-270	172	25	266	92	-29	127	220	86	-225	-304	90	-23	-78	243	-23	65	-53	255	-185	53	-164	-106	-92	59	-62	63	-72	-20	-22	-75	-22	-49	-6	-42	-38	-3	-4	-8	-18	-14	-26	-18	-9	4	0	0	-5	-6	0	-1	-3	-2	-1	-2	-2	-2	-2	0	0	0	0	0	-2	-3	-2	0	-3	1	-5	9	-8	2	7	3	-13	13	10	-1	2	10	-4	-13	-9	42	8	-27	70	-25	49	85	47	103	-79	-78	-48	10	116	-142	-3	-84	-202	-138	145	63	-35	80	-9	154	-100	-98	150	-55	15	42	-22	-65	-39	-81	-139	153	36	-97	-62	87	-95	34	-155	-129	40	39	97	-6	91	-21	9	133	-81	-52	10	34	66	2	-137	-28	-21	7	4	29	-92	-88	-82	87	4	78	2	-21	34	-46	-3	6	-6	-23	-17	6	2	-4	-1	3	-18	-5	2	5	-3	7	-4	-2	0	1	0	-1	0	0	1	0	0	0	0	0	0	-1	-1	-2	-2	0	0	-1	-4	6	-3	5	1	-6	-18	1	-2	-3	1	5	-19	-24	-6	4	-3	-46	32	-23	1	78	5	86	-83	-87	-92	27	2	8	-20	-26	-135	2	68	35	11	-53	-80	135	9	-20	92	-4	98	39	42	-126	-154	36	-94	90	-62	-96	37	152	-139	-81	-39	-64	-22	43	16	-54	149	-97	-100	156	-7	80	-34	65	144	-137	-203	-85	-3	-143	117	11	-48	-78	-78	105	46	85	52	-22	70	-27	8	43	-8	-10	-2	13	4	0	12	14	-10	4	9	2	-6	12	-5	2	-2	1	-1	-2	-1	0	2	0	0	0	0	0	0	0	0	-1	-2	0	5	-3	-3	3	4	8	-5	-17	-23	-13	-16	-5	-2	-2	-36	-39	-1	-48	-18	-73	-20	-19	-71	65	-59	61	-89	-100	-160	56	-182	258	-49	72	-16	246	-71	-15	95	-300	-219	94	224	134	-26	101	271	30	176	-261	-409	297	7	-55	-294	-97	280	311	-249	-380	269	107	-194	57	-215	-196	325	-325	-437	229	233	520	-182	168	424	-636	-449	-296	65	-739	584	-61	144	-36	-56	189	252	126	306	-29	278	80	77	280	-20	71	101	56	26	24	123	125	46	99	82	-19	-51	77	-10	50	-46	3	12	-27	-34	-2	47	6	-10
referenceSignalFFT_i after FFT	512:
0	-67	-31	-16	-39	-51	-72	-63	-3	-4	-26	-68	79	-38	45	7	-65	-173	5	-19	-30	-1	29	-132	-167	-42	19	-22	-271	178	-127	2	384	19	403	-384	-392	-399	110	9	27	-82	-104	-502	2	234	118	34	-176	-264	419	26	-64	268	-14	275	105	110	-342	-409	89	-243	222	-154	-235	85	351	-320	-187	-89	-144	-50	89	32	-115	300	-195	-198	298	-16	149	-65	114	257	-244	-356	-147	-8	-239	192	16	-78	-126	-123	160	68	126	73	-34	99	-41	10	58	-14	-16	-5	15	3	-2	14	17	-16	3	9	0	-9	13	-7	0	-4	-1	-2	-5	-3	-2	-1	-1	-2	0	1	1	0	0	0	1	-1	1	3	-4	-1	2	3	6	-3	-14	-18	-11	-13	-4	0	-2	-27	-30	-1	-35	-13	-52	-14	-13	-48	43	-39	40	-58	-63	-101	35	-111	155	-29	42	-9	140	-39	-8	52	-161	-115	50	115	68	-12	49	130	14	82	-119	-184	132	4	-23	-124	-40	114	124	-98	-146	103	41	-70	21	-75	-67	110	-107	-141	73	72	159	-53	49	121	-175	-120	-78	18	-185	143	-14	34	-8	-13	40	52	25	59	-5	51	14	13	45	-2	11	14	8	3	4	15	14	6	10	8	-1	-4	6	0	4	-2	1	1	0	0	0	2	1	0	0	1	1	0	1	3	2	1	1	4	-2	2	-3	6	3	-5	-9	-3	-13	-13	-2	-1	-7	-12	-9	6	-43	-12	-13	-48	7	-58	-24	-51	-39	14	10	-31	16	-141	187	-16	80	124	178	-118	-44	56	-156	-70	-69	142	112	-108	70	79	-19	72	-38	-99	147	99	-122	-112	41	127	27	-2	-129	187	124	-80	-13	-128	-45	14	-63	-112	-46	118	161	-49	12	43	-138	12	-39	30	-153	112	-34	102	66	59	-38	40	-42	49	14	15	53	14	36	4	30	29	1	3	6	14	11	20	15	5	-4	-1	-1	3	4	-2	1	2	1	-1	0	1	1	0	0	1	1	0	2	4	5	3	1	5	0	7	-10	9	-2	-7	-4	18	-17	-11	4	-2	-12	7	18	13	-57	-9	40	-100	37	-72	-127	-69	-156	124	125	79	-13	-189	239	7	146	355	244	-257	-114	66	-147	17	-296	197	196	-300	115	-28	-88	48	143	88	184	320	-353	-86	234	154	-218	244	-86	411	347	-108	-105	-277	19	-268	65	-25	-417	266	175	-33	-115	-229	-3	508	112	84	-27	-15	-116	398	396	381	-410	-16	-385	-9	113	-181	270	23	-31	44	159	122	-44	-9	28	9	-18	166	60	-14	-43	38	-90	68	28	8	-5	31	48	16	10	-6	11	46
referenceSignal Amplitude Spectrum	512:
28	84	39	22	41	82	90	64	5	70	46	73	93	78	52	61	115	174	123	109	31	11	58	158	178	52	274	72	282	326	132	301	403	247	440	388	394	421	129	576	744	101	323	680	642	475	196	194	542	346	471	441	342	417	206	354	117	224	356	485	394	351	376	316	254	310	356	320	345	424	306	179	92	267	147	301	232	295	310	225	338	111	116	268	344	356	160	53	349	266	55	181	164	153	170	92	140	102	39	101	85	24	75	15	44	38	15	5	8	22	22	30	18	12	4	9	13	8	6	4	1	3	5	3	2	2	2	2	0	1	1	0	0	2	3	2	1	4	4	5	9	8	6	7	14	22	17	16	4	2	10	27	32	9	54	15	58	71	28	68	95	61	110	98	100	111	36	160	210	29	93	202	196	150	63	62	179	115	161	152	119	150	73	130	44	84	135	188	154	139	154	129	104	129	151	136	149	186	135	80	44	122	67	142	109	141	151	108	167	53	59	137	175	182	82	27	185	143	32	98	88	83	95	52	81	59	21	61	48	13	45	6	25	22	10	3	5	15	14	18	11	8	5	5	9	4	4	2	1	1	1	0	0	2	1	0	0	1	1	0	1	3	2	2	1	4	2	4	6	6	5	5	10	18	13	13	3	1	8	22	25	8	43	12	47	57	24	58	81	51	94	84	87	97	31	141	187	25	84	183	178	136	56	57	164	106	151	142	113	141	70	125	43	83	131	183	151	136	151	128	104	132	154	139	152	191	139	82	44	128	70	149	115	150	162	118	179	59	66	150	194	203	93	30	209	161	35	112	102	97	111	60	94	71	26	71	59	16	56	8	31	29	13	5	6	18	17	22	15	10	4	6	12	5	4	2	1	2	2	1	0	2	1	0	0	1	1	0	2	4	5	3	1	7	3	7	10	9	8	8	17	29	21	19	6	2	12	36	42	13	74	20	83	101	41	101	142	90	167	152	160	178	57	262	351	49	162	355	346	266	114	115	334	219	310	298	237	301	153	272	92	182	297	418	349	320	357	306	253	319	379	348	389	491	363	222	119	350	196	421	331	437	475	353	548	184	203	481	636	677	316	106	739	584	131	423	397	385	451	252	405	306	116	331	281	80	281	48	174	158	71	27	36	123	126	172	115	83	47	63	118	68	57	46	5	33	55	37	10	47	12	47
perimeterSensoren Setup Finished
TbumperSensor::setup()
Programming GPS Module
Programming GPS Module finished
TBehaviour::reset
Blackboard:reset
Relay Off
!04,SET BEHAV -> BH_NONE
!03,Motor L measure offset
!03,0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0   offset: 0.000000
!03,Motor R measure offset
!03,0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0   offset: 0.000000
!03,Mow Motor measure offset
!03,0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0   offset: 0.000000
Check if in charging station
NO Charging station detected
MANUAL MODE ACTIVATED
!03,ChargeSystem measure offsetCV
!03,7 5 1 3 2 2 1 3 7 9 5 3 2 6 5 3   offsetCV: 0.002418
!03,ChargeSystem measure offsetCC
!03,3 2 1 3 8 9 4 3 1 2 2 3 0 1 7 8   offsetCC: 0.001612
WATCHDOG ENABLED
Setup finished. Loop is running.
Version 1.0.0 Raindancer

Press H for help.
 
Hi Jussip

How the Pi is involved with this firmware? is there some interface code for pi also?
The interface is normaly in the Github page and you can test it except the Timer and Plot not finish to Dev (or maybe Roland have work on it ?)
But again you need the raspbian desktop to make it run because it use Tkinter to show you the GUI.
It's easier with VNC and your PC with a large screen and keyboard to send data using the console.


Then settings in config.h. Is there same variables in all chassis?
from line 56 to 250 it's Ardumower setting, from 251 to 444 it's Paranello chassis and 445 to 634 it's Raindancer.
You can simply copy and past all the Ardumower setting (for example) and create your own chassis setting using a particular name
Then in line 51 to 54 set to true only your new chassis


By.
 
OK I am really sorry but it disapear from GitHub :oops: ???
Here the Zip.

Copy the directory Pirain into your pi/Documents and start the main.py
The Pi is connected on Due NativeUSB port.
Hope the Zero W have enought power ?
Video (Picamera) and manual are OK, so if Wifi is good in your garden you can MOW from your Sofa :p :p

CCORaindancer.zip

Attachment: https://forum.ardumower.de/data/media/kunena/attachments/3545/CCORaindancer.zip/
 
Zuletzt bearbeitet von einem Moderator:
"Is it possible to use console ui via arduino ide serial console?"
Yes. You have to send CR/LF at the end.

The Raindancer FW was developed for using a terminal interface because of the simplicity and the KISS principle. (Keep it simple and stupid)
The terminal will be automatically switch between PC or BT.
Yes, on the phone is it a little bit small, but I configured first the mower with the usb cable or tablet and then use the mobilephone for errorhandling or commands.
If you change parameter in the config.h you have to compile the code again. There was a time, where I changed this, so that you can change values on the fly. But removed it, because if you
have configured the parameter once, it is not used anymore. Maybe I have bring it back in later.


"Then settings in config.h. Is there same variables in all chassis?"
Yes, but with different values.


@Bernard "OK I am really sorry but it disapear from GitHub"
It's my fault. I didin't developed the interface further and you also did not do any changes the last 6 month. Therefore I deleted it, because I didn't want to release software for Raindancer, which is not finished or
respectively will not developed further.
 
Zero has same processor and memory than raspi 1, so no power really.
I was missing that CR/LF part when trying, thanks.
 
Ok, got it working :) I think that timer runs only in Pi and I have to setup service to start something if wanted it to be always on.. right? main.py or something else? Where it gets time&date?
 
Oben