Browse Source

避障调整,手动避障bug修复,自动避障有效值判断

zr-sdk-4.1.16
zbr 3 years ago
parent
commit
05f139794e
  1. 5
      ArduCopter/zr_flight.cpp
  2. 10
      all.sh
  3. 4
      libraries/AC_Avoidance/AC_Avoid.cpp
  4. 1
      libraries/AC_Avoidance/AC_Avoid.h

5
ArduCopter/zr_flight.cpp

@ -166,8 +166,9 @@ void Copter::do_avoid_action(){ @@ -166,8 +166,9 @@ void Copter::do_avoid_action(){
AP_Proximity *proximity = AP::proximity();
if(proximity == nullptr)
return;
bool get_new_dist = proximity->get_horizontal_distance(0,proxy_dist);
if(get_new_dist == false){
bool get_new_dist = proximity->get_horizontal_distance(315,proxy_dist);
bool data_failed = proximity->sensor_failed();
if(get_new_dist == false || data_failed){
proxy_dist = avoid.get_zr_avd_max() + 1.0;
}
#endif

10
all.sh

@ -1,20 +1,20 @@ @@ -1,20 +1,20 @@
./waf configure --board rs100
./waf clean
./waf copter
cp ./build/rs100/bin/arducopter.apj /mnt/f/_01-work/100\=data/固件/zr-v4/wsl/致睿rs100-v4.0.16-RC3.px4
cp ./build/rs100/bin/arducopter.apj /mnt/f/_01-work/100\=data/固件/zr-v4/wsl/致睿rs100-v4.0.16-RC5.px4
./waf configure --board rs100h
./waf clean
./waf copter
cp ./build/rs100h/bin/arducopter.apj /mnt/f/_01-work/100\=data/固件/zr-v4/wsl/致睿rs100h-v4.0.16-RC3.px4
cp ./build/rs100h/bin/arducopter.apj /mnt/f/_01-work/100\=data/固件/zr-v4/wsl/致睿rs100h-v4.0.16-RC5.px4
./waf configure --board d100
./waf clean
./waf copter
cp ./build/d100/bin/arducopter.apj /mnt/f/_01-work/100\=data/固件/zr-v4/wsl/中海达d100-v4.0.16-RC3.px4
cp ./build/d100/bin/arducopter.apj /mnt/f/_01-work/100\=data/固件/zr-v4/wsl/中海达d100-v4.0.16-RC5.px4
./waf configure --board d100h
./waf clean
./waf copter
cp ./build/d100h/bin/arducopter.apj /mnt/f/_01-work/100\=data/固件/zr-v4/wsl/中海达d100h-v4.0.16-RC3.px4
cp ./build/d100h/bin/arducopter.apj /mnt/f/_01-work/100\=data/固件/zr-v4/wsl/中海达d100h-v4.0.16-RC5.px4
./waf configure --board zr-hexa
./waf clean
./waf copter
cp ./build/zr-hexa/bin/arducopter.apj /mnt/f/_01-work/100\=data/固件/zr-v4/wsl/六轴m66-v4.0.16-RC3.px4
cp ./build/zr-hexa/bin/arducopter.apj /mnt/f/_01-work/100\=data/固件/zr-v4/wsl/六轴m66-v4.0.16-RC5.px4

4
libraries/AC_Avoidance/AC_Avoid.cpp

@ -98,9 +98,7 @@ void AC_Avoid::adjust_velocity(float kP, float accel_cmss, Vector2f &desired_vel @@ -98,9 +98,7 @@ void AC_Avoid::adjust_velocity(float kP, float accel_cmss, Vector2f &desired_vel
_avoid_action = false;
return;
}
if(_enable_aviod == false){
return;
}
// limit acceleration
const float accel_cmss_limited = MIN(accel_cmss, AC_AVOID_ACCEL_CMSS_MAX);

1
libraries/AC_Avoidance/AC_Avoid.h

@ -164,7 +164,6 @@ private: @@ -164,7 +164,6 @@ private:
AP_Int16 _zr_on_dist;
AP_Int16 _zr_max_climb;
bool _proximity_enabled = true; // true if proximity sensor based avoidance is enabled (used to allow pilot to enable/disable)
bool _enable_aviod; // 离开Home点一点高度和距离后有效
bool _far_form_home; // 离开Home点一定高度和距离后有效
bool _avoid_action;

Loading…
Cancel
Save