86
CHƢƠNG 8 : KẾT QUẢ THỰC NGHIỆM THIẾT BỊ BAY TRONG CÔNG TÁC PCCC
Trong tháng 8/2014 thiết bị bay đƣợc nghiên cứu chế tạo đã đƣợc tham gia thử nghiệm trong đợt tập huấn PCCC của phòng CS PCCC Sơn Tây – Hà Nội Kịch tham gia hỗ trợ PCCC đƣợc thực hiện theo chƣơng 2
Hình 8.1: Toà nhà khi chƣa xảy ra đám cháy và khi bị khói bao phủ
Lực lƣợng chữa cháy triển khai các thiết bị chữa cháy cơ động nhƣ bình bột, bình CO2 v.v… tiến hành dập các ngọn lửa nhỏ, mở đƣờng vào bên trong tòa nhà. Trong lúc này, khói vẫn tiếp tục bốc lên, làm hạn chế tầm nhìn, hạn chế khả năng cứu hộ. Các xe chữa cháy đƣợc đƣa tới sát vị trí tịa nhà. Hệ thống cấp nƣớc vòi phun đƣợc triển khai.
87
Hình 8.3: Hình ảnh đám cháy truyền về từ thiết bị bay (quan sát tại trạm mặt đất) Sau khi thiết bị bay cất cánh, tăng dần độ cao, thiết bị bay bắt đầu thực hiện nhiệm vụ trinh sát, thu thập tình hình thực tế, hình ảnh video và gửi trực tiếp và trạm mặt đất. Nhƣ trong hình 7.8 hình ảnh thu đƣợc tại trạm mặt đất thấy các nạn nhân của đám cháy đang chạy lên tầng thƣợng và đang tìm cách thốt xuống mặt đất trong khi khói do đám cháy sinh ra đã bao phủ hồn tồn tồ nhà.
Hình 8.4: Trinh sát tình hình thực tế của đám cháy
Phát hiện nạn nhân đang đứng trên sân thƣợng tòa nhà, ngƣời điều khiển cho thiết bị bay tiến vào. Camera đƣợc điều khiển nhìn xuống dƣới để xác định vị trí thả vật cứu hộ thuận lợi.
88
Sau khi quan sát đã đến điểm thả đồ từ trạm mặt đất, thiết bị bay bắt đầu thả đồ cứu hộ cứu nạn.
Hình 8.5: Hình ảnh quan sát đã tới vị trí thả đồ( khoanh trịn màu đỏ)
89
KẾT LUẬN
Trong tình hình cơng tác PCCC đang đƣợc đẩy mạnh và nâng cao cả vể chất lƣợng lẫn số lƣợng các phƣơng tiện PCCC luận văn đã đóng góp một sản phẩm hữu ích, đƣợc kiểm nghiệm và đánh giá qua thực tế triển khai tại Sơn Tây- Hà Nội
Trên cơ sở vận dụng các phƣơng pháp nghiên cứu, luận văn đạt đƣợc những kết quả chủ yếu nhƣ sau:
Thứ nhất, hoàn thành mạch điều khiển cho thiết bị bay, đây là thiết bị điện tử quan trọng nhất trên thiết bị bay
Thứ hai, đƣa ra và kiểm nghiệm bộ điều khiển PID hai lớp cùng các hệ số phù hợp cho thiết bị bay. Xác định và đánh giá các thông số truyền thông thời gian thực
Thứ ba, luận văn đề xuất kết hợp hệ thống định vị vệ tinh GPS với hệ thống định vị quán tính INS nhằm tăng cƣờng chất lƣợng tín hiệu đầu vào cho thiết bị bay. Đây là bƣớc quan trọng để thiết bị bay có thể hoạt động với độ tin cậy cao.
90
TÀI LIỆU THAM KHẢO
[1] Đỗ Trọng Tuấn et al. (2013). “Nghiên cứu, thiết kế, chế tạo phƣơng tiện bay hỗ trợ cơng tác phịng cháy chữa cháy trên địa bàn thành phố Hà Nội”, mã số
01C – 02/04/2013 – 2, Sở KHCN thành phố Hà Nội.
[2] Eric N. Johnson, Michael A. Turbe, Allen D. Wu, Suresh K. Kannan and James C. Neidhoefer, “Flight Test Results of Autonomous Fixed-Wing UAV Transitions to and from Stationary Hover”, AIAA Guidance, Navigation, and
Control Conference and Exhibit 21 - 24 August 2006, Keystone, Colorado.
[3] Francois Hugon, Robert F. Hartley, Brian DeRosa, Christopher Carvalho, (2012), “ArduPilot 2.0 Simulink Block Set”, Embry-Riddle Aeronautical University Savannah, Georgia, Embry-Riddle Aeronautical University Daytona Beach, Floria.
[4] Guillaume J. J. D., (2009). Fault-tolerant Flight Control and Guidance Systems: Practical Methods for Small Unmanned Aerial Vehicles. Springer.
[5] Harbick, K., Montgomery, J. F., and Sukhatme, G. S., (2004), “Planar Spline Trajectory Following for an Autonomous Helicopter”, Journal of Advanced Computational Intelligence – Computational Intelligence in Robotics and Automation, Vol. 8, No. 3, 2004, pp. 237–242.
[6] Randal Beard, Derek Kingston, Morgan Quigley, Deryl Snyder, Reed Christiansen, Walt Johnson, Timothy McLain,and Michael A. Goodrich, “Autonomous Vehicle Technologies for Small Fixed-Wing UAVs”, Journal of
Aerospace computing, inormation and communication, Vol. 2, January 2005.
[7] Samir B., Roland S., (2007). “Full Control of a Quadrotor”. Proc. of the 2007
IEEE/RSI International Conference on IROS, San Diego, CA, USA, ISBN 1-
4244-0912-8, pp. 153-158.
[8] Vikas Kumar N, (2004), “Intergration of Inertial Navigation System and Global Positioning System Using Kalman Filtering”, Department of Aerospace engineering indian institite of Technology, Bombay, Mumbai.
91
PHỤ LỤC
Code thuật tốn PID mơ phỏng
float CalcPitchPID(float dt ,float *Total_Error_Pitch , float Setpoint , float Input , float Gyros_OutputPitch , float KpPitch , float KiPitch , float KdPitch )
{
float Output;
float Error_Pitch;
/*Compute all the working error variables*/ Error_Pitch = Setpoint - Input;
*(Total_Error_Pitch)=*(Total_Error_Pitch)+Error_Pitch; Output = KpPitch*Error_Pitch + *(Total_Error_Pitch)* KiPitch*dt+ KdPitch*Gyros_OutputPitch*(-1);
return Output; }
float CalcRollPID(float dt ,float *Total_Error_Roll , float Setpoint , float Input , float Gyros_OutputRoll , float KpRoll , float KiRoll , float KdRoll )
{
float Output; float Error_Roll;
/*Compute all the working error variables*/ Error_Roll = Setpoint - Input;
*(Total_Error_Roll)=*(Total_Error_Roll)+Error_Roll; Output = KpRoll*Error_Roll + *(Total_Error_Roll)* KiRoll*dt+ KdRoll*Gyros_OutputRoll*(-1);
return Output; }
float CalcYawPID(float dt ,float *Total_Error_Yaw , float Setpoint , float Input , float KpYaw , float KiYaw , float KdYaw )
{
float Output; float Error_Yaw;
/*Compute all the working error variables*/ Error_Yaw = Setpoint - Input;
*(Total_Error_Yaw)=*(Total_Error_Yaw)+Error_Yaw; Output = KpYaw*Error_Yaw + *(Total_Error_Yaw)* KiYaw*dt+ KdYaw*Error_Yaw/dt;
return Output; }
92
float CalcRollGyroPID(float dt ,float *Total_Error_GyroRoll , float Setpoint , float Input , float KpGyroRoll , float KiGyroRoll , float KdGyroRoll )
{
float Output;
float Error_GyroRoll;
/*Compute all the working error variables*/ Error_GyroRoll = Setpoint - Input;
*(Total_Error_GyroRoll)=*(Total_Error_GyroRoll)+Error_G yroRoll; Output = KpGyroRoll*Error_GyroRoll + *(Total_Error_GyroRoll)* KiGyroRoll*dt+ KdGyroRoll*Error_GyroRoll/dt; return Output; }
float CalcPitchGyroPID(float dt ,float
*Total_Error_GyroPitch , float Setpoint , float Input , float KpGyroPitch , float KiGyroPitch , float KdGyroPitch ) {
float Output;
float Error_GyroPitch;
/*Compute all the working error variables*/ Error_GyroPitch = Setpoint - Input;
*(Total_Error_GyroPitch)=*(Total_Error_GyroPitch)+Error _GyroPitch; Output = KpGyroPitch*Error_GyroPitch + *(Total_Error_GyroPitch)* KiGyroPitch*dt+ KdGyroPitch*Error_GyroPitch/dt; return Output; }
output_pitch = CalcPitchPID(t, &total_error_pitch ,
setpointPitch , angles[2] ,-gyro[0] , KpPitch , KiPitch , KdPitch );
output_roll = CalcRollPID(t, &total_error_roll ,
setpointRoll , angles[1] ,gyro[1] , KpRoll , KiRoll , KdRoll );
output_pitch = CalcPitchGyroPID(t ,&total_error_gyropitch , output_pitch , gyro[0] , KpGyroPitch , KiGyroPitch , KdGyroPitch );
output_roll = CalcRollGyroPID(t,&total_error_gyroroll, output_roll, -gyro[1] , KpGyroRoll , KiGyroRoll , KdGyroRoll