i plan to build a Crop Sprayer, Hexcopter with pixhawk. current problem is how to remember the current location when liquid gone and return to land? after refilling liquid the copter can work start at the remember point automatically.
anyone have this kind of experience?
+1
i also have this problem…
Hello,I have same problem,
I build the separate micro controller circuit that share the battery failsafe between tank empty alarm and low battery,then in RTL set the final ALT to 3 meter that avoid it land in end of RTL and disarm, then manually land without disarm the copter so refilling the tank and take off switch to auto mode , the copter resume the previous mission.
its very good idea that in the new version,the sprayer feature will be extended
such as :
1-turn off the pump with low Aux output in any failsafe to avoid the undesired spray
2- define the special Aux or ADC for liquid level sensor and RTL for refilling
unfortunately, my idea dose not working about Separate circuit for sharing battrey failsafe for refilling the tank.
when the failsafe occurred (new circuit disconnect battery sample from input power adc for 15 sec) the failsafe is activate but when refilling tank without disarm (because of resume Auto mode) the failsafe is not cleared, the new failsafe such as new tank refilling or real low battery and Radio failsafe can not occur,So my Idea is not usable.
Randy,Please guide about spray feature that need for real working that mentioned in previous post.
"
1-turn off the pump with low Aux output in any failsafe to avoid the undesired spray
2- define the special Aux or ADC for liquid level sensor and RTL for refilling
"
Hi, do you know how to code pixhawk?
Hi babak, did you have any luck solving your problem ?
@ Pouria
Hi, Yes, I used the Python Script for control the copter in guided mode for Spray feature and save the break point Coordinates.
Isn’t there a better option to pause, fill and resume the mission?
We are trying to find the way to do it with some manual work, stop the mission by changing to loiter, then make a new waypoint, then RTL, then place the new WP in the correct possition, and then resume mission, but it is really dificult or impossible.
Can we test this Python Script?
hello
now the resume is possible in Ardupilot code but hen disArm it is cleared.
the best way is that using python script that read read copter position in infinite loop that when any failsafe or tank empty occurred it save the Lat and Lon and switch to RTL , after starting the new flight Script switch the copter to Guided mode with saved point in memory, then when rich to position, switch to Auto and set the way point number to after point .
our script is not a single simple module, it is big program for sprayer drone .
hello
now the resume is possible in Ardupilot code but when disArm it is cleared.
the best way is that using python script that read copter position in infinite loop that when any failsafe or tank empty occurred it save the Lat and Lon and switch to RTL , after starting the new flight Script switch the copter to Guided mode with saved point in memory, then when rich to position, switch to Auto and set the way point number to after point .
our script is not a single simple module, it is big program for sprayer drone .
@babak_ea do you still have this script?
I used dronekit for connect to drone, my program based on the main Loop , that check the few sub functions such as any failsafe, empty Tank detector (based on Hall effect sensor) and press buttons detector, also check the two simple keys for two manual functions, first for pause and play the copter actions like Stop & Start ( used Loiter mode for pause in any mode of copter)
second for RTL mode . in the start of program user can select manual sparying in loiter mode or load the map with QGC and select Auto mode .
if any failsafe or tank empty detect, save the position of copter and write to SD card, So in new start of program check the previous flying ,if Breaking position is valid script ask you, do you want to continue it? , if user confirm it, copter flying to previous Break point as Guided mode , After pass this point, change to requested mode.