TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ - VIỄN THÔNG
BÁO CÁO
THỰC TẬP KỸ THUẬT
ĐỀ TÀI :
Giáo viên hướng dẫn : TS. Đỗ Trọng Tuấn
Sinh viên: Lương Minh Nguyên
MSSV: 20111931
Lớp: ĐTVT 10 - K56
Viện: Điện Tử - Viễn Thông
Hà Nội, 8/2014
MỤC LỤC
2
Lương Minh Nguyên - Báo cáo kết quả thực tập kỹ thuật
A. LỜI NÓI ĐẦU
Môn học Thực Tập Kĩ Thuật (ET3270) nằm trong chương trình đào tạo của
Viện Điện tử - Viễn thông trường Đại học Bách Khoa Hà Nội. Môn học mới được
đưa vào chương trình K55 nhằm tạo điều kiện cho sinh viên tiếp xúc với môi trường
làm việc thực tế ở các công ty ngay từ hè năm thứ ba để sinh viên có thể thấy rõ hơn
về công việc thực tế mình sẽ làm sau này. Việc được tạo điều kiện thực tập sớm
chắc chắn sẽ giúp sinh viên có những hiểu biết tốt hơn về những lĩnh vực mình
đang được học trong trường, cũng như được học hỏi thêm những kỹ năng rất cần
thiết khi đi làm.
Em xin gửi lời cảm ơn đến Ban lãnh đạo Viện Điện Tử Viễn Thông - Trường
Đại học Bách Khoa Hà Nội đã tạo điều kiện cho chúng em được tham gia khóa thực
tập doanh nghiệp này, nó thực sự đã cung cấp cho sinh viên chúng em những kiến
thức rất bổ ích về cả chuyên ngành và kỹ năng mềm để sau này có thể tham gia vào
công việc một cách chủ động và dễ dàng hơn.
Để hoàn thành tốt khóa thực tập này, chúng em đã nhận được sự quan tâm,
ủng hộ và giúp đỡ nhiệt tình từ thầy giáo Đỗ Trọng Tuấn cùng các bạn sinh viên
khác trong phòng nghiên cứu. Em xin gửi lời cảm ơn chân thành và sâu sắc nhất tới
thầy hướng dẫn TS. Đỗ Trọng Tuấn, thầy đã hướng dẫn chúng em tận tình, chu đáo
không chỉ về kiến thức, kỹ thuật chuyên môn, cách tiếp cận và thực hiện đề tài mà
còn dạy cho chúng em những bài học quý giá về con người, công việc, cũng như
những hướng phát triển cho tương lai. Em xin chân thành cảm ơn các anh chị, các
bạn sinh viên trong phòng nghiên cứu đã giúp đỡ, hỗ trợ cho em rất nhiều trong quá
trình thực tập ở phòng nghiên cứu.
Trong quá trình thực tập, do kiến thức còn hạn chế nên còn nhiều thiếu xót,
em rất mong sẽ nhận được nhiều ý kiến góp ý từ các thầy cô và các bạn.
3
Lương Minh Nguyên - Báo cáo kết quả thực tập kỹ thuật
B. NỘI DUNG
CHƯƠNG 1: GIỚI THIỆU VỀ VIỆN ĐIỆN TỬ - VIỄN THÔNG VÀ PHÒNG
NGHIÊN CỨU ASE LABORATORY
1.1. Giới thiệu về Viện Điện tử - Viễn Thông
Đại học Bách khoa Hà Nội là trường đại học kỹ thuật đa ngành, được thành
lập tại Hà Nội ngày 15 tháng 10 năm 1956. Trường luôn là một trong những trường
đại học kỹ thuật hàng đầu của nền giáo dục Việt Nam. Quá trình hình thành, xây
dựng và phát triển của viện Điện Tử - Viễn Thông cũng gắn liền với trường Đại
Học Bách Khoa Hà Nội.
Viện Điện tử - Viễn thông hiện nay có trên 118 cán bộ, giảng viên. Trong đó,
số cán bộ giảng dạy là 80 đều có trình độ trên đại học, với 13 PGS và 45 Tiến sỹ.
Hằng năm, Viện Điện tử - Viễn thông đào tạo khoảng 500 sinh viên chính qui, 200
học viên cao học và 10 nghiên cứu sinh. Viện đào tạo theo 5 chuyên đề gồm: điện
tử kĩ thuật máy tính, thông tin truyền thông, điện tử y sinh, điện tử hàng không vũ
trụ và kĩ thuật truyền hình.
Cùng với quá trình đổi mới và phát triển của Trường ĐH Bách khoa Hà Nội,
Viện Điện tử - Viễn thông đang tích cực triển khai các hoạt động đổi mới trên toàn
bộ các lĩnh vực: Đào tạo, Nghiên cứu khoa học và xây dựng cơ sở vật chất. Chương
trình đào tạo được đổi mới toàn diện theo hướng hiện đại và hội nhập. Đa dạng hóa
các loại hình đào tạo. Mở rộng các chương trình đào tạo đặc biệt (Kỹ sư tài năng,
chương trình tiên tiến), phát triển đào tạo sau đại học (Cao học, Nghiên cứu sinh).
Kết hợp đào tạo lý thuyết và kỹ năng thực hành. Gắn chặt đào tạo và nghiên cứu
khoa học. Hoạt động nghiên cứu khoa học, hợp tác trong và ngoài nước được phát
triển mạnh mẽ. Trang thiết bị, cơ sở vật chất cho học tập, thực hành và nghiên cứu
được tăng cường và ngày càng hoàn thiện.Cơ chế quản lý mới theo hướng tự chủ, tự
chịu trách nhiệm đang được triển khai từng bước. Một môi trường học tập, làm việc
và nghiên cứu khoa học thuận lợi, thân thiện đã được tạo lên, có sức hấp dẫn đối với
sinh viên và cán bộ khoa học có trình độ cao.
4
Lương Minh Nguyên - Báo cáo kết quả thực tập kỹ thuật
1.2. Giới thiệu về Bộ môn Điện Tử Hàng Không – Vũ Trụ và phòng
nghiên cứu ASE Laboratory
Từ năm 1986, Khoa Vô tuyến điện, nay là Viện ĐT-VT, đã bắt đầu triển khai
giảng dạy các môn học liên quan đến chuyên ngành Điện tử Hàng không - Vũ trụ và
có chiến lược đào tạo nguồn nhân lực, chuẩn bị về tổ chức để thành lập chuyên
ngành Điện tử HK-VT. Cụ thể tiến trình công tác chuẩn bị như sau:
• 1986: Khoa Vô tuyến điện cử cán bộ giảng dạy và nghiên cứu về lĩnh vực
định vị dẫn đường.
• Năm học 1987 - 1988: Bắt đầu đào tạo môn Định vị dẫn đường, gửi sinh
viên thực tập và cung cấp nguồn nhân lực cho ngành hàng không và một số ngành
liên quan.
• 1994: Mở mã ngành Điện tử Hàng không (06.02)
• 2005: Dự thảo thành lập bộ môn chuyên ngành Điện tử Hàng Không.
• 2010: Bộ môn Điện tử HK-VT đã được phê duyệt trong đề án thành lập
Viện ĐT-VT. Thành lập tổ công tác tiến hành các bước chuẩn bị cần thiết về
chuyên môn, tổ chức, nhân sự, khảo sát nhu cầu xã hội và xây dựng đề án thành lập
bộ môn.
• Từ năm 2011: Xây dựng chương trình và đào tạo chuyên đề 4 “Kỹ thuật
Điện tử Hàng không vũ trụ” cho khóa 52 (số lượng sinh viên 21), khóa 53 (số lượng
53 sinh viên).
• Năm 2012, Bộ môn ĐT HK-VT được thành lập nhằm đáp ứng nhu cầu đào
tạo nguồn nhân lực chất lượng cao trong lĩnh vực Hàng không – Vũ trụ cũng như
mở ra hướng nghiên cứu chuyên ngành mới cho Viện Điện tử - Viễn thông trong
lĩnh vực này.
Đội ngũ cán bộ của bộ môn trẻ, tâm huyết, được đào tạo chính quy trong
nước và ngoài nước:Ý, Nhật Bản, Áo, Thái Lan, Ấn Độ. Bộ môn có quan hệ quốc tế
với nhiều cơ quan nghiên cứu uy tín của nước ngoài như Đại học Torino (Cộng hòa
Ý), Viện công nghệ hệ thống thông minh – Đại học Klagenfurt (Cộng hòa Áo) ,
5
Lương Minh Nguyên - Báo cáo kết quả thực tập kỹ thuật
Viện khoa học tích hợp tiên tiến, Đại học Chiba (Nhật Bản), Trung tâm nghiên cứu
truyền thông không dây Torino Wireless (Italia), Học viện AIT (Thái Lan), Phòng
nghiên cứu thông tin di động Học viện công nghệ Tokyo (Nhật Bản) v.v Hoạt
động nghiên cứu khoa học và đào tạo của bộ môn gắn liền với thực tiễn, có hợp tác
với đơn vị trong và ngoài trường và các doanh nghiệp.
Phòng nghiên cứu ASE Laboratory:
Cùng với việc thành lập bộ môn Điện tử Hàng không – Vũ trụ, phòng nghiên
cứu ASE Laboratory được đưa vào hoạt động. Hướng nghiên cứu của phòng nghiên
cứu: tích hợp công nghệ định vị dẫn đường, truyền thông vô tuyến/di động trong
thiết kế, triển khai các hệ thống, thiết bi, ứng dụng thời gian thực. Hiện tại, phòng
nghiên cứu có 42 thành viên bao gồm sinh viên các khóa K54, K55, K56, K57, học
viên cao học, nghiên cứu sinh, dưới sự hướng dẫn, quẩn lí trực tiếp của TS. Đỗ
Trọng Tuấn.
Trong quá trình thực tập tại phòng nghiên cứu, em được giao thực hiện đề tài
“Thiết kế, phát triển phần mềm trạm mặt đất giám sát và điều khiển thiết bị bay
không người lái UAV qua giao thức MAVLink”. Mục tiêu của đề tài là phát triển
phần mềm Mission Planner nhằm giám sát trình bay của UAV. Trên thiết bị bay
UAV có gắn bo mạch APM sẽ gửi các thông số kĩ thuật về trạm mặt đất qua giao
thức MAVLink, giúp giám sát trình bay của UAV một cách hiệu quả, và qua đó ta
có thể điều khiển được quỹ đạo bay của UAV bằng máy tính theo ý muốn của mình.
Đề tài thuộc đề tài nghiên cứu khoa học cấp thành phố, thực hiện cảnh báo
cháy, hỗ trợ cứu hộ cứu nạn trong phòng cháy chữa cháy trên địa bàn thành phố Hà
Nội.
6
Lương Minh Nguyên - Báo cáo kết quả thực tập kỹ thuật
7
Lương Minh Nguyên - Báo cáo kết quả thực tập kỹ thuật
Hình 2.1: Sơ đồ hệ thống UAV
CHƯƠNG 2. NỘI DUNG THỰC TẬP
2.1. Giới thiệu phòng nghiên cứu ASE Laboratory
Phòng nghiên cứu ASE Laboratory được hình thành cùng với bộ môn Điện
tử Hàng không – Vũ trụ. Lĩnh vực nghiên cứu của phòng nghiên cứu là tích hợp
công nghệ định vị dẫn đường, truyền thông vô tuyến - di động trong thiết kế, triển
khai các hệ thống, thiết bị, ứng dụng thời gian thực.
Trưởng phòng nghiên cứu: TS. Đỗ Trọng Tuấn.
Thành viên: 42 thành viên.
K54: 2 thành viên.
K55: 11 thành viên.
K56: 11 thành viên.
K57: 11 thành viên.
Học viên cao học, nghiên cứu sinh
Địa chỉ: Phòng C9-410, Trường Đại học Bách Khoa Hà Nội, Số 1, Đại Cồ
Việt, Hai Bà Trưng, Hà Nội.
Hướng nghiên cứu đề tài: cảnh báo cháy, thực hiện công tác hỗ trợ cứu hộ
cứu nạn phòng cháy chữa cháy trên địa bàn thành phố Hà Nội.
Các nhóm chuyên môn của ASE-lab:
o Nhóm UAV: chuyên tìm hiểu, nghiên cứu về thiết bị bay không
người lái UAV
8
Lương Minh Nguyên - Báo cáo kết quả thực tập kỹ thuật
Hình 2.2: UAV 8 cánh
Hình 2.3: UAV 16 cánh
o Nhóm Cảm biến: Tìm hiểu, nghiên cứu thiết bị đầu cuối, phát hiện
và cảnh báo cháy
9
Lương Minh Nguyên - Báo cáo kết quả thực tập kỹ thuật
Hình 2.4: Hệ thống cảnh báo cháy
Hình 2.5: Màn hình thiết bị cảnh báo cháy
o Nhóm Android: Nghiên cứu, chế tạo xe tự hành phục vụ công tác hỗ
trợ phòng cháy chữa cháy
10
Lương Minh Nguyên - Báo cáo kết quả thực tập kỹ thuật
Hình 2.6: Hiện trường thực nghiệm xe tự hành
o Nhóm website: thiết kế, phát triển website của lab
Hình 2.7: Giao diện web của lab ASE
11
Lương Minh Nguyên - Báo cáo kết quả thực tập kỹ thuật
2.2. Nội dung thực tập
2.2.1. Đặt vấn đề
Thời gian gần đây, trên địa bàn Hà Nội liên tục xảy ra các vụ hỏa hoạn lớn :
Hình 2.8: Một vụ cháy tại TP. Hà Nội
Nguyên nhân chính của các vụ cháy trên là do hiện trường xảy ra cháy
thường ở trong các khu chung cư cao tầng nên vòi phun nước không vươn tới được
hoặc nằm sâu trong các ngõ, hẻm có đường xá giao thông chật hẹp dẫn đến các xe
cứu hỏa không thể đến gần. Bên cạnh đó, hệ thống phòng cháy chữa cháy cùng cơ
sở hạ tầng phục vụ công tác phòng cháy chữa cháy tại chỗ còn thiếu thốn nhiều.
Người dân còn chưa được tiếp xúc nhiều với thiết bị phòng cháy chữa cháy cũng
như được đào tạo về cách xử lý tình huống khi có hỏa hoạn. Các vụ hỏa hoạn luôn
để lại thiệt hại nghiêm trọng về con người và tài sản, đồng thời cũng gây ra nhiều
khó khăn và nguy hiểm trong công tác cứu nạn của lực lượng cảnh sát phòng cháy
chữa cháy.
Để giúp cho công tác cứu hộ cứu nạn khi xảy ra hỏa hoạn dễ dàng hơn,
phòng nghiên cứu đã có ý tưởng thiết kế, chế tạo một sản phẩm thiết bị bay không
12
Lương Minh Nguyên - Báo cáo kết quả thực tập kỹ thuật
người lái UAV để thực hiện nhiều chức năng. Máy bay X4 mini sẽ có gắn các thiết
bị như camera, cảm biến độ cao… để thực hiện chức năng giám sát khu vực cháy,
gửi hình ảnh về đám cháy, người bị nạn mắc kẹt trên các tòa nhà cao tầng…cho lực
lượng phòng cháy chữa cháy để lên kế hoạch cứu hộ cứu nạn phù hợp. Máy bay
X16 có khả năng mang đồ,trọng tải 6 đến 10 kg, sẽ mang những vật dụng cần thiết
như khăn ướt, mặt nạ cứu hộ…bay lên trên tòa nhà và thả vào cho các nạn nhân, để
họ sử dụng để duy trì sự tỉnh táo cho tới khi lực lượng cứu hộ tới giúp…
Các thông số hoạt động cơ bản của UAV
X4 mini:
- Trần bay: Trên 50m
- Thời gian hoạt động liên tục: 15 phút
- Gửi dữ liệu hình ảnh qua camera tương tự về trạm mặt đất
X16:
- Trần bay: Trên 50m
- Thời gian hoạt động liên tục: 15 phút
- Tải trọng mang vật: 6 – 10 kg
2.2.2. Phương thức hoạt động
Hình 2.9: Phương thức hoạt động của hệ thống
Bước đầu, khi các khối cảm biến đặt trong các tòa nhà đo được nồng độ
khói, nhiệt độ vượt quá mức quy định về an toàn thì sẽ báo về trung tâm, trung tâm
sẽ điều phối lực lượng và phương tiện cứu hộ cứu nạn tới, bao gồm cả nhóm UAV.
13
Lương Minh Nguyên - Báo cáo kết quả thực tập kỹ thuật
Trạm mặt đất
UAV
Mission planner arduino
MAVLink
Đầu tiên, nhóm sẽ bay X4 mini để quan sát đám cháy và khu vực xảy ra đám cháy
rồi gửi thông tin, hình ảnh về trạm mặt đất, qua đó giúp lực lượng cứu hộ cứu nạn
đề ra phương án hành động tốt nhất. Tiếp đến sẽ dùng X16 mang vật là khăn ướt và
mặt nạ khói lên tòa nhà cho những người gặp nạn bên trên. Để có thể truyền thông
tin từ UAV về máy tính dưới trạm mặt đất phải thông qua phân mềm trạm mặt đất
Mission Planner. Phần mềm Mission Planner cho phép APM trên UAV và máy tính
trao đổi thông tin cho nhau, qua đó các thông tin, hình ảnh mà UAV thu được sẽ
được truyền về mặt đất, hỗ trợ các nhân viên lực lượng phòng cháy chữa cháy một
cách hiệu quả nhất.
2.2.3: Tổng quan về phần mềm trạm mặt đất Mission Planner
Phần mềm được viết bằng ngôn ngữ C#, sử dụng công nghệ Windows Form
với công cụ lập trình là Microsoft Visual Studio 2010
Vị trí của phần mềm trong hệ thống
Hình 2.10: Vị trí của phần mềm trong hệ thống
Giao diện phần mềm
14
Lương Minh Nguyên - Báo cáo kết quả thực tập kỹ thuật
Hình 2.11: Giao diện phần mềm Mission Planner
Hình 2.12: Bổ sung chức năng điều khiển vi sai cho phần mềm Mission Planner
Mission Planner là phần mềm trạm mặt đất dùng để giám sát và điều khiển
trình bay của UAV, thông qua việc nhận và gửi bản tin qua giao thức MAVLink.
Cách thức download, cài đặt và build code Mission Planner
Download và cài đặt Mission Planner
15
Lương Minh Nguyên - Báo cáo kết quả thực tập kỹ thuật
B1: Truy cập vào />Hình 2.13: Giao diện trang web />B2: Vào download chọn Mission Planner, chọn download
Hình 2.14: Download phần mềm
Download và build code Mission Planner
B1: Truy cập vào web . Click vào communiti chọn
developers. Tiếp theo chọn mục Projects list rồi chọn code
16
Lương Minh Nguyên - Báo cáo kết quả thực tập kỹ thuật
Hình 2.15: Giao diện web download code
B2: Chọn download zip và tải code về máy
Hình 2.16: Download code Mission Planner
Build code Mission Planner
B1: Giải nén file Mission Planner đã download về
17
Lương Minh Nguyên - Báo cáo kết quả thực tập kỹ thuật
B2: Chạy phần mềm Microsoft Visual Studio
B3: Chọn open project. Dẫn đến file Mission Planner vừa giải nén rồi chọn
Mission Planner.csproj
B4: Debug star debugging
Nếu trong quá trình debug treo màn hình và có thông báo “Managed
Debugging Assistant ‘LoaderLock’ has detected a problem ……”
Ta vào chọn Debug => Exceptions => Managed Debugging Assistants => bỏ
chọn ‘Loader Lock’
B5: Sau khi sửa xong, màn hình có giao diện
Hình 2.17: Giao diện khi build code Mission Planner
Sẽ xuất hiện lỗi thư viện, ta phải tiến hành Add thư viện. Ta click chuột vào phần
References. Chuột phải để remove những thư viện có dấu chấm than vàng. Ta tiến
hành add thêm thư viện do code đã cũng cấp. chuột phải vào references chọn
add reference. Chọn sang hội thoại browse chọn phần lib. Tìm tên thư viện vừa xóa
( thư viện có đuôi .dll) rồi ok. Cứ làm như thế bao giờ hết dấu chấm than vàng thì
thôi.
18
Lương Minh Nguyên - Báo cáo kết quả thực tập kỹ thuật
B6: Debug lại
Hình 2.18: Giao diện khi Debug thành công
Các phần code cho các chức năng chính
Load port:
// load danh sach cong com
private void cbbcom_DropDown(object sender, EventArgs e)
{
string[] ports = SerialPort.GetPortNames(); // lay ten cac cong com
co the ket noi
cbbcom.Items.Clear(); // xoa du lieu tu truoc
cbbcom.Items.AddRange(ports); // add danh sach cong com vao
cbb.
}
// chon cong com
private void cbbcom_SelectedIndexChanged(object sender, EventArgs e)
{
if (com.IsOpen) // neu cong com dang ket noi thi off
{
com.Close();
}
// con khong thi
com.PortName = cbbcom.SelectedItem.ToString(); // chon cong
com
}
Load baudrate
19
Lương Minh Nguyên - Báo cáo kết quả thực tập kỹ thuật
//chon baudrate
private void cbbbaudrate_SelectedIndexChanged(object sender,
EventArgs e)
{
if (com.IsOpen)
{
com.Close();
}
com.BaudRate = Convert.ToInt32(cbbbaudrate.Text);
// chon cung giong nhu cong com. cbbbaudrate kieu string nen ta phai
truy nhap vao truong text ep kieu sang int32
}
Kết nối cổng com
if (!com.IsOpen)
{
com.Open();
btnconnect.Text = "DISCONECT";
lbconnection.Text = "CONNECTED";
lbconnection.ForeColor = Color.Green;
}
else
{
timer1.Stop();
wrlog.Close();
com.Close();
btnconnect.Text = "CONNECT";
lbconnection.Text = "DISCONNECTED";
lbconnection.ForeColor = Color.Red;
}
Hàm xử lý dữ liệu
public void data_receiver(object sender, SerialDataReceivedEventArgs e)
{
try
{
int num = com.BytesToRead;
for (int i = 0; i < num; i++)
{
byte data = (byte)com.ReadByte();
switch (state)
{
case 0: if (data == 0xFE)
{
//MessageBox.Show("bat dau nhan du llieu");
state++;
20
Lương Minh Nguyên - Báo cáo kết quả thực tập kỹ thuật
}; break;
case 1: datalength = data;
{
state++;
} break;
case 2: nummessage = data; { state++; } break;
case 3: systemid = data; state++; break;
case 4: componentid = data; state++; break;
case 5: messageid = data; state++; break;
case 6: buffer[datacounter] = data;
datacounter++;
if (datacounter >= 28)
state++;
break;
case 7:
{
//switch (messageid)
//{case 0x1E:
time_boot_ms = (UInt32)(getdatavalue(4, 4));
lat_ = (Int32)(getdatavalue(8, 4));
lng_ = (Int32)(getdatavalue(12, 4));
alt_ = (Int32)(getdatavalue(16, 4));
relative_alt = (Int32)(getdatavalue(20, 4));
vx = (Int16)(getdatavalue(22, 2));
vy = (Int16)(getdatavalue(24, 2));
vz = (Int16)(getdatavalue(26,2));
hdg = (Int16)(getdatavalue(28, 2));
state++;
}
break;
case 8: cka = data; state++; break;
case 9: { ckb = data; state++; } break;
cka = 0; ckb = 0; datacounter = 0; state = 0; break;
}
}
}
catch (Exception ex)
{
cka = 0; ckb = 0;
datacounter = 0; state = 0;
}
}
Hàm hiển thị dữ liệu lên GMAP
// xoa du lieu da ket noi lan truoc
if (route != null)
route.Points.Clear();
else
{
route = new GMapRoute(trackpoint, "track");
routes.Routes.Add(route);
21
Lương Minh Nguyên - Báo cáo kết quả thực tập kỹ thuật
}
if (hometocurrent != null)
hometocurrent.Points.Clear();
else
{
hometocurrent = new GMapRoute(listpoint_home_current,
"home direct");
home_overlay.Routes.Add(hometocurrent);
hometocurrent.Stroke.Color = Color.Green;
hometocurrent.Stroke.Width = 5;
}
routes.Markers.Clear();
markers_overlay.Markers.Clear();
// xoa xong
// cap nhat lai home cho duong noi thang home - current
home_point = new PointLatLng(lat_, lng_);
hometocurrent.Points.Add(home_point);
hometocurrent.Points.Add(home_point);
// danh dau home len ban do
marker = new GMapMarkerGoogleGreen(home_point);
marker.ToolTip = new GMapToolTip(marker);
marker.ToolTipMode = MarkerTooltipMode.Always;
marker.ToolTipText = "home";
markers_overlay.Markers.Add(marker);
Hướng phát triển trong tương lai
Do nhu cầu của công tác hỗ trợ cứu nạn, thiết bị bay không người lái UAV rất cần
thiết, tuy nhiên khi đám cháy xảy ra, nhiệt độ, áp suất…không khí đều rất cao và
không ổn định, thiết bị UAV khi tiếp xúc gần có thể sẽ dẫn tới hỏng hóc, rơi. Ngoài
ra khi bay, cần có hành lang an toàn, tránh bay quá gần các tòa nhà, cây cối Để
tránh được các tác nhân trên, nhóm đã nghiên cứu, phát triển và hoàn thiện phần
mềm chỉ ra hành lang bay an toàn cho thiết bị UAV, qua đó giúp người điều khiển
dễ dàng điều khiển thiết bị UAV một cách an toàn.
Khung hình bên trong là phạm vi tòa nhà, khung hình bên ngoài là khoảng cách tối
đa mà thiết bị UAV cách xa tòa nhà để đảm bảo có thể tiếp nhận thông tin hình ảnh
tốt nhất về đám cháy. Điểm point màu xanh là vị trí của thiết bị UAV.
22
Lương Minh Nguyên - Báo cáo kết quả thực tập kỹ thuật
Hình 2.19: Thông báo an toàn khi UAV bay trong phạm vi cho phép
Hình 2.20: Cảnh báo nguy hiểm khi UAV bay ngoài phạm vi cho phép
Code các hàm quan trọng
Vẽ phạm vi tòa nhà và hành lang bay an toàn
23
Lương Minh Nguyên - Báo cáo kết quả thực tập kỹ thuật
namespace Test_Gmap
{
public partial class Form1 : Form
{
GMapOverlay overlay;
GMapPolygon polygon, //Hình chữ nhật bên trong
polygon2; //Hình chữ nhật bên ngoài
GMarkerGoogle maker;
List<PointLatLng> point_list, point_list2;
PointLatLng currentpoint;
public Form1()
{
InitializeComponent();
gMapControl1.MapProvider = GMapProviders.GoogleMap;
gMapControl1.Position = new PointLatLng(21.0059202, 105.8422284);
// tọa độ trường BK
gMapControl1.Zoom = 20;
overlay = new GMapOverlay("overlay");
point_list = new List<PointLatLng>();
polygon = new GMapPolygon(point_list, "polygon");
overlay.Polygons.Add(polygon);
point_list2 = new List<PointLatLng>();
polygon2 = new GMapPolygon(point_list2, "polygon2");
overlay.Polygons.Add(polygon2);
gMapControl1.Overlays.Add(overlay);
}
private void gMapControl1_MouseDown(object sender, MouseEventArgs e)
{
currentpoint = gMapControl1.FromLocalToLatLng(e.X, e.Y);
//Vẽ hình bên trong
if (polygon.Points.Count < 4)
{
polygon.Points.Add(currentpoint);
gMapControl1.UpdatePolygonLocalPosition(polygon);
}
//Vẽ hình bên ngoài
else if (polygon2.Points.Count < 4)
{
polygon2.Points.Add(currentpoint);
24
Lương Minh Nguyên - Báo cáo kết quả thực tập kỹ thuật
gMapControl1.UpdatePolygonLocalPosition(polygon2);
}
Kiểm tra xem thiết bị UAV có trong phạm vi an toàn không
{
maker = new GMarkerGoogle(currentpoint,
GMarkerGoogleType.green_dot);
if (overlay.Markers.Count > 0)
overlay.Markers.Clear();
overlay.Markers.Add(maker);
// nếu điểm nằm ngoài hình 1 và trong hình 2 thì an toàn
label1.Visible = true;
if (polygon2.IsInside(currentpoint) == true &
polygon.IsInside(currentpoint) == false)
{
label1.ForeColor = Color.Green;
label1.Text = "An toàn!";
}
// còn lại là nguy hiểm
else
{
label1.ForeColor = Color.Red;
label1.Text = "Nguy hiểm!!!";
}
}
2.3. Một số nội dung thực tập phụ khác
Trong thơi gian thực tập trên ASE-lab, em đã được tham gia các buổi thực
nghiệm thực tế cùng các thành viên của lab, kiểm nghiệm khả năng bay của UAV,
khả năng trao đổi thông tin, hình ảnh từ UAV về trạm mặt đất…Qua đó em giúp em
hiểu rõ hơn về tổng quan hệ thống mình đang tham gia xây dựng và phát triển.
25
Lương Minh Nguyên - Báo cáo kết quả thực tập kỹ thuật