Browse Source

测试先不用Loiter手动避障,不启用时切换到自动避障

mission-4.1.18
zbr 3 years ago
parent
commit
4018c34930
  1. 4
      ArduCopter/UserCode.cpp
  2. 2
      ArduCopter/zr_flight.cpp

4
ArduCopter/UserCode.cpp

@ -57,6 +57,10 @@ if(avoid.get_zr_mode() > 0 && (control_mode == Mode::Number::AUTO || control_mod @@ -57,6 +57,10 @@ if(avoid.get_zr_mode() > 0 && (control_mode == Mode::Number::AUTO || control_mod
if(far_from_home){
enable_avoid = true;
}
}else if(control_mode == Mode::Number::LOITER && !avoid.get_avoid_action() ){
if(far_from_home){
enable_avoid = true;
}
}
if(last_flag != enable_avoid){
if(enable_avoid){

2
ArduCopter/zr_flight.cpp

@ -317,7 +317,7 @@ void Copter::avoid_action(uint8_t area,uint8_t state,float dist) @@ -317,7 +317,7 @@ void Copter::avoid_action(uint8_t area,uint8_t state,float dist)
gcs().send_text(MAV_SEVERITY_INFO,"NOTICE:人为控制,已离开障碍");
}
if(tnow - rtl_wait_time > (uint32_t)(g.zr_avd_wait * 1000)){
if(avoid.get_zr_mode() == 1){
if(avoid.get_zr_mode() == 2){
action = PROXY_WAIT;
gcs().send_text(MAV_SEVERITY_INFO,"NOTICE:等待超时,原地降落");
set_mode(Mode::Number::LAND,ModeReason::AVOIDANCE);

Loading…
Cancel
Save