|
|
|
@ -251,7 +251,7 @@ void Copter::avoid_action(uint8_t area,uint8_t state,float dist)
@@ -251,7 +251,7 @@ void Copter::avoid_action(uint8_t area,uint8_t state,float dist)
|
|
|
|
|
// if(need_turn_yaw){
|
|
|
|
|
// action = PROXY_CLIMB;
|
|
|
|
|
max_climb_alt = current_loc.alt+avoid.get_zr_avd_max_climb(); |
|
|
|
|
gcs().send_text(MAV_SEVERITY_INFO,"NOTICE:准备爬升,Now:%d,MAX:%d,",current_loc.alt,max_climb_alt); |
|
|
|
|
gcs().send_text(MAV_SEVERITY_INFO,"NOTICE:准备爬升,Now:%.2f,MAX:%.2f,",current_loc.alt/100.0f,max_climb_alt/100.0f); |
|
|
|
|
|
|
|
|
|
// }else{
|
|
|
|
|
// action = PROXY_RTL;
|
|
|
|
@ -282,7 +282,7 @@ void Copter::avoid_action(uint8_t area,uint8_t state,float dist)
@@ -282,7 +282,7 @@ void Copter::avoid_action(uint8_t area,uint8_t state,float dist)
|
|
|
|
|
if(current_loc.alt > max_climb_alt){ |
|
|
|
|
action = PROXY_NEED_CTL; |
|
|
|
|
ctl_wait_time = AP_HAL::millis(); |
|
|
|
|
gcs().send_text(MAV_SEVERITY_CRITICAL,"超出爬升高度限制:%d,请手动控制",current_loc.alt); |
|
|
|
|
gcs().send_text(MAV_SEVERITY_CRITICAL,"超出爬升高度限制:%.2f,请手动控制",current_loc.alt/100.0f); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
if(area == PROXY_OUTRANGE){ |
|
|
|
@ -323,7 +323,7 @@ void Copter::avoid_action(uint8_t area,uint8_t state,float dist)
@@ -323,7 +323,7 @@ void Copter::avoid_action(uint8_t area,uint8_t state,float dist)
|
|
|
|
|
action = PROXY_WAIT; |
|
|
|
|
gcs().send_text(MAV_SEVERITY_INFO,"NOTICE:人为控制,已离开障碍"); |
|
|
|
|
} |
|
|
|
|
if(tnow - ctl_wait_time > 30000){ |
|
|
|
|
if(tnow - ctl_wait_time > g.zr_avd_wait * 1000){ |
|
|
|
|
action = PROXY_WAIT; |
|
|
|
|
gcs().send_text(MAV_SEVERITY_INFO,"NOTICE:等待超时,原地降落"); |
|
|
|
|
set_mode(Mode::Number::LAND,ModeReason::AVOIDANCE); |
|
|
|
|