Nghiên cứu thiết kế robot camera crane trong lĩnh vực quay phim điện ảnh truyền hình

114 15 0
Nghiên cứu thiết kế robot camera crane trong lĩnh vực quay phim điện ảnh truyền hình

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA NGUYỄN MINH QUÂN ĐỀ TÀI: NGHIÊN CỨU THIẾT KẾ ROBOT CAMERA CRANE TRONG LĨNH VỰC QUAY PHIM ĐIỆN ẢNH TRUYỀN HÌNH LUẬN VĂN CAO HỌC CHUYÊN NGÀNH: CHẾ TẠO MÁY NĂM 2003 MỤC LỤC PHẦN MỞ ĐẦU CHƯƠNG I: KHẢO SÁT TỔNG QUAN ROBOT CAMERA CRANE 1.1 Yêu cầu công việc quay phim 11 1.2 Phân loại .14 1.3 Tìm hiểu số yêu cầu trang bị loại cáp truyền tín hiệu công việc quay phim 31 CHƯƠNG II: NGHIÊN CỨU PHƯƠNG ÁN THIẾT KẾ ROBOT CAMERA CRANE THEO YÊU CẦU CỦA ĐÀI TRUYỀN HÌNH VIỆT NAM II.1 Yêu cầu nghiên cứu thiết keá .32 II.2 Xây dựng phương án thiết kế cấu tạo robot camera crane (RCC) 33 II.3 Các toán tổng hợp động học 45 CHƯƠNG III: HỆ THỐNG ĐIỀU KHIỂN III.1 Giới thiệu chế độ vận hành 61 III.2 Lựa chọn nguồn đầu động thiết kế mạch điều khiển theo chế độ hoạt động yêu cầu 62 CHƯƠNG IV: LẬP TRÌNH ĐIỀU KHIỂN VÀ MÔ PHỎNG CHUYỂN ĐỘNG THỰC CỦA CAMERA CRANE IV.1 Giới thiệu thư viện đồ họa OpenGL 83 IV.2 Giao diện điều khiển robot camera crane 90 KẾT LUẬN 91 TAØI LIỆU THAM KHẢO 92 PHUÏ LUÏC 94 LUAÄN VĂN CAO HỌC Thầy hướng dẫn: PGS TS.LÊ HOÀI QUỐC PHẦN MỞ ĐẦU A Đặt vấn đề Sơ lược trình phát triển Robot crane hay robot dạng máy trục, loại robot quen thuộc phổ biến giới Robot crane ứng dụng nhiều lónh vực: - Trong môi trường hoạt động an toàn, độc hại như: Bốc dỡ container cảng tự động để vận chuyển xếp hàng hóa kho, vận chuyển nguyên vật liệu, chất thải ngành công nghiệp, hạt nhân, … (thường robot crane dạng cổng trục, cầu trục); Thao tác vệ sinh, bảo trì bên cao ốc lau kính, sơn tường, … (thường robot crane dạng cần cẩu đặt đỉnh cao ốc, gọi gondolar, có chức phối hợp chuyển động nâng hạ khâu tác động cuối phận thao tác bảo trì, vệ sinh cao ốc); Hàn, cắt, gia công vật liệu … (thường robot crane kết cấu dạng Stewart Platform) Hình 0.1: Robot crane RMGC dạng cổng trục để bốc xếp container cảng HVTH: Nguyễn Minh Quân LUẬN VĂN CAO HỌC Thầy hướng dẫn: PGS TS.LÊ HOÀI QUỐC Hình 0.1 robot crane RMGC (Rail Mounted Gantry Crane), có hai vùng hoạt động: vùng hoạt động tự động hoàn toàn khu vực trữ container vùng hoạt động theo chế độ điều khiển thủ công (manual) khu vực giao nhận container (nơi mà xe mang container vào) Cụm nhấc container RMGC trang bị cảm biến laser để nhận biết xác vị trí container Cảm biến phát chiều cao ô xếp (stack) lắp dầm cổng để tự động xác định chiều cao ô xếp Thông tin chiều cao ô xếp so sánh với giá trị đo cảm biến để va chạm container di chuyển container vị trí cố định Hình 0.2: Loại robot crane có tên “Skybot” Israel, thực việc lau kính bề mặt nhà, nhận diện đối tượng thông qua hệ thống “computer vision” HVTH: Nguyễn Minh Quân LUẬN VĂN CAO HỌC Thầy hướng dẫn: PGS TS.LÊ HOÀI QUỐC Hình 0.3: Robot crane có kết cấu dạng Stewart Platform ứng dụng mài chi tiết - Trong lónh vực điện ảnh truyền quay phim, chụp ảnh, đặc biệt công việc dựng phim phim trường ảo, … (thường camera quay phim điều khiển hoàn toàn tự động theo kiểu điều khiển trục robot, phục vụ studio chuyên dựng phim theo kiểu phim trường ảo Các loại robot camera đặt giá đỡ cố định di động, thông dụng loại đặt cần trục – gọi Robot Camera Crane Nội dung trình bày rõ phần phân loại robot camera crane chương I Quá trình hình thành phát triển kỹ thuật quay phim: a Sự đời camera : Với cải tiến phát triển kỹ thuật máy chụp ảnh, Camera phát minh nguyên lý loại máy chụp ảnh nhanh, liên tục với tốc độ khoảng 24 hình/giây, gọi quay phim Khi chiếu lại với tốc độ trên, hình ảnh tạo chuổi hình ảnh động liên tục mà mắt người xem không cảm nhận thay đổi Hình 0.4: Một camera quay phim HVTH: Nguyễn Minh Quân hình Từ đời, camera trở LUẬN VĂN CAO HỌC Thầy hướng dẫn: PGS TS.LÊ HOÀI QUỐC thành công cụ thiếu việc ghi hình để phục vụ cho nhiều mục đích nhiều lónh vực khác đời sống xã hội Nếu xét riêng điện ảnh truyền hình, nói trình phát triển lónh vực song hành với phát triển kỹ thuật camera Tầm quan trọng ứng dụng kỹ thuật quay phim mà camera mang lại vô to lớn b Sự phát triển từ camera đến camera crane (cần trục quay phim): Nhu cầu mặt người xã hội đòi hỏi ngày cao theo phát triển xã hội Công nghệ quay phim phục vụ điện ảnh truyền hình yêu cầu thiết bị người quay phim phải đáp ứng nhiệm vụ kỹ thuật phức tạp hơn, nhằm mục đích tạo thước phim có ý nghóa giá trị cao, lột tả nội dung đa dạng yêu cầu thể cho người xem Để giải vấn đề này, nội dung cần thực người quay phim phải có khả thực quay vị trí, góc quay khó để đáp ứng ý đồ người đạo diễn, đặc biệt cảnh quay từ độ cao lớn Camera crane đời từ Thoạt Hình 0.5: Một camera crane quay phim sân gold HVTH: Nguyễn Minh Quân tiên, vào khoảng năm LUẬN VĂN CAO HỌC Thầy hướng dẫn: PGS TS.LÊ HOÀI QUỐC đầu kỷ trước, người ta lợi dụng loại xe cẩu để đưa camera người quay phim lên độ cao cần thiết để quay phim có nhu cầu Dần sau, cần trục cải tiến lắp loại đế có bánh xe chuyên dùng để đáp ứng yêu cầu đưa người quay phim lên cao, gọi camera crane Sau đó, với phát triển kỹ thuật điều khiển, điện tử, người ta sản xuất cần trục chuyên dùng mang camera, người điều khiển dứng bên mà không cần phải trực tiếp mang camera lên cao, tránh rủi ro, nguy hiểm cho người vận hành Đồng thời, camera vươn xa hơn, có tầm quét ảnh rộng quay góc quay khó … c Robot camera crane – Một dạng camera crane hoạt động tương tự robot công nghiệp – bước phát triển kỹ thuật camera crane, nhằm phục vụ cho mục đích xây dựng phim trường ảo, đáp ứng nhu cầu thực tế nhà làm phim Đài Truyền hình + Tìm hiểu phim trường ảo: Đó phim trường mà phần diễn viên diễn xuất ghi hình phông sắc (thường phông màu xanh) Phần cảnh thật (không có diễn viên diễn xuất) quay riêng nơi khác Sau đó, hai cảnh quay chọn lọc, lồng ghép, thêm vào kỹ xảo sản phẩm phim ảnh hòan chỉnh với bố cục bao gồm đầy đủ nội dung phần diễn xuất diễn viên cảnh vật thật, giống hệt phim diễn viên đóng quay lần phim trường thật + Trong điện ảnh, truyền hình, việc áp dụng phim trường ảo mang lại lợi ích sau : • Tránh rủi ro, tai nạn nguy hiểm cho diễn viên cascadeur phải diễn cảnh nguy hiểm phim trường thật • Dể thực việc lồng ghép phần kỹ xảo cho phim HVTH: Nguyễn Minh Quân LUẬN VĂN CAO HỌC Thầy hướng dẫn: PGS TS.LÊ HOÀI QUỐC • Kinh tế so với cách sử dụng phim trường thật nhờ giảm chi phí thuê diễn viên, thuê phận phục vụ liên quan, chi phí dàn dựng thu hình phí tổn thời gian đầu tư làm phim + Các trang bị kỹ thuật cho việc xây dựng phim trường ảo: Với tiện ích kể công nghệ sản xuất phim sử dụng phim trường ảo, để thực hiện, nhà làm phim cần có loại thiết bị camera có khả thực chuyển động quay phim tự động theo chương trình lập trước theo ý đồ đạo diễn Nhờ quay riêng biệt nội dung diễn viên diễn xuất phần bố cục cảnh lồng ghép, người đạo diễn chủ động việc chọn ảnh, thực kỹ xảo, nâng cao chất lượng phim Thiết bị camera quay phim tự động kể dạng đơn giản giá di động cố định có mang camera trình bày, loại có tính hạn chế sử dụng Dạng chuyên dụng đáp ứng yêu cầu kỹ thuật quay phim theo công nghệ phim trường ảo Robot camera crane, loại robot có tính hoạt động tương tự robot công nghiệp với tay máy cần trục mang camera, tự động quay phim nhiều vị trí phức tạp khác + Các chức robot camera crane là: • Tự động điều khiển trình quay phim theo chương trình lập trước • Tự động điều khiển camera bám theo đối tượng ghi hình chế độ: Tự động hiệu chỉnh chuyển động trục gá mang camera để bù cho lượng thay đổi tầm hướng cần trục (Tracking Compensation) nhằm đưa ống kính hướng vào đối tượng Tự động hiệu chỉnh trục gá mang Camera bám theo đối tượng đối tượng di chuyển HVTH: Nguyễn Minh Quân LUẬN VĂN CAO HỌC Thầy hướng dẫn: PGS TS.LÊ HOÀI QUỐC Tuy nhiên, nước ta, việc nghiên cứu ứng dụng robot crane vào lónh vực nói mẻ Kỹ thuật phim trường ảo bắt đầu vài thử nghiệm nhiều trở ngại chưa có đầy đủ thiết bị cần thiết, việc trang bị robot camera crane Trong đó, việc nhập thiết bị từ nước tốn đôi lúc không đáp ứng yêu cầu kỹ thuật sử dụng theo điều kiện đặc thù cụ thể Mặt khác, gặp nhiều khó khăn việc chủ động sửa chữa, cải tiến thiết bị sau để đáp ứng thay đổi thực tế hoạt động Chỉ tính riêng đài truyền hình nước nay, nhu cầu trang bị loại camera crane để phục vụ quay phim, đưa tin ảnh thời hàng ngày, … robot camera crane để dựng phim với kỹ thuật phim trường ảo nhu cầu lớn Ngoài ra, hãng phim, studio… có không đòi hỏi công việc tương tự cần trang bị robot camera crane d Yêu cầu thực tế đặt cho việc nghiên cứu : Trước thực tế đó, Đài Truyền Hình Việt Nam (VTV) đơn vị truyền hình có qui mô, tầm cỡ lớn nước, tiên phong đặt vấn đề với Bộ môn Kỹ thuật Điều Khiển Tự Động thuộc Khoa Cơ Khí Trường Đại Học Bách Khoa TP Hồ Chí Minh nghiên cứu chế tạo ứng dụng robot camera crane phục vụ nhu cầu quay phim theo kỹ thuật phim trường ảo Đài Nội dung yêu cầu nghiên cứu ứng dụng đặt là: 1- Chế tạo robot camera crane quay phim với không gian rộng, có tầm tổng quát lớn , vị trí, góc quay khó mà người quay phim trực tiếp thực khó khăn nguy hiểm camera phải đặt vị trí có độ cao lớn Để giải yêu cầu này, giải pháp lựa chọn để thực là: Nghiên cứu thiết kế chế tạo robot camera crane với tay cần dài cố định, có đặc điểm, tính kỹ thuật phù hợp để thực chế độ quay phim khác gồm: HVTH: Nguyễn Minh Quân LUẬN VĂN CAO HỌC Thầy hướng dẫn: PGS TS.LÊ HOÀI QUỐC • Chế độ vận hành thủ công, • Chế độ vận hành tự động, • Chế độ vận hành bán tự động với khả tự động bám mục tiêu cho trước Hình 0.6: Một dạng Camera crane có cần dài cố định cỡ lớn 2- Chế tạo robot camera crane có khả thực chuyển động, thao tác quay phim theo quỹ đạo, chế độ quay hoàn toàn tự động, hoạch định trước theo ý đồ người thực hiện, chủ yếu phục vụ trường quay nhà Giải pháp lựa chọn để thực yêu cầu : Nghiên cứu thiết kế chế tạo robot camera crane với tay cần có độ dài trung bình thay đổi tầm vươn để thực quay phim hoàn toàn tự động theo chương trình với quỹ đạo định trước khả bám mục tiêu Từ yêu cầu thực tế đặt giải pháp thực nêu trên, nghiên cứu thử nghiệm ứng dụng thành công nội dung kể Đài Truyền Hình Việt Nam, sản phẩm “Robot camera crane” mở rộng ứng dụng đến tất Đài truyền hình khác nước, studio, nhà hát kịch, sân vận động, … phục vụ thiết thực cho nhu cầu đời sống tinh thần ngày nâng cao tầng lớp công chúng HVTH: Nguyễn Minh Quân LUẬN VĂN CAO HỌC Thầy hướng dẫn: PGS TS.LÊ HOÀI QUỐC this.btCancel = new System.Windows.Forms.Button(); this.btScanning = new System.Windows.Forms.Button(); this.btTracking = new System.Windows.Forms.Button(); this.btManual = new System.Windows.Forms.Button(); this.tabControl1.SuspendLayout(); this.tpSimulator.SuspendLayout(); this.gbValue.SuspendLayout(); this.gbBaseControl.SuspendLayout(); this.gbHeadControl.SuspendLayout(); this.tpOptions.SuspendLayout(); this.gbCraneSizes.SuspendLayout(); this.gbControlMode.SuspendLayout(); this.SuspendLayout(); // // btBaseUp // this.btBaseUp.Location = new System.Drawing.Point(8, 32); this.btBaseUp.Name = "btBaseUp"; this.btBaseUp.Size = new System.Drawing.Size(80, 32); this.btBaseUp.TabIndex = 1; this.btBaseUp.Text = "Up"; this.btBaseUp.Click += new System.EventHandler(this.btBaseUp_Click); // // tabControl1 // this.tabControl1.Controls.Add(this.tpRealControl); this.tabControl1.Controls.Add(this.tpSimulator); this.tabControl1.Controls.Add(this.tpOptions); this.tabControl1.Location = new System.Drawing.Point(640, 0); this.tabControl1.Name = "tabControl1"; this.tabControl1.SelectedIndex = 0; this.tabControl1.Size = new System.Drawing.Size(248, 616); this.tabControl1.TabIndex = 2; // // tpRealControl // this.tpRealControl.Location = new System.Drawing.Point(4, 22); this.tpRealControl.Name = "tpRealControl"; this.tpRealControl.Size = new System.Drawing.Size(240, 590); this.tpRealControl.TabIndex = 0; this.tpRealControl.Text = "Real Control"; // // tpSimulator // this.tpSimulator.Controls.Add(this.gbValue); this.tpSimulator.Controls.Add(this.gbBaseControl); this.tpSimulator.Controls.Add(this.gbHeadControl); this.tpSimulator.Location = new System.Drawing.Point(4, 22); this.tpSimulator.Name = "tpSimulator"; this.tpSimulator.Size = new System.Drawing.Size(240, 590); this.tpSimulator.TabIndex = 1; this.tpSimulator.Text = "Simulator"; // // gbValue // this.gbValue.Controls.Add(this.label4); HVTH: Nguyễn Minh Quân 98 LUẬN VĂN CAO HỌC Thầy hướng dẫn: PGS TS.LÊ HOÀI QUỐC this.gbValue.Controls.Add(this.tbAngle); this.gbValue.Controls.Add(this.label3); this.gbValue.Controls.Add(this.tbDistance); this.gbValue.Controls.Add(this.label2); this.gbValue.Controls.Add(this.label1); this.gbValue.Controls.Add(this.tbHeadLeftRightAngle); this.gbValue.Controls.Add(this.tbBaseLeftRightAngle); this.gbValue.Controls.Add(this.tbBHeadLeftRightAngle); this.gbValue.Controls.Add(this.tbBBaseLeftRightAngle); this.gbValue.Controls.Add(this.tbBHeadUpDownAngle); this.gbValue.Controls.Add(this.tbBBaseUpDownAngle); this.gbValue.Controls.Add(this.tbBaseUpDownAngle); this.gbValue.Controls.Add(this.tbHeadUpDownAngle); this.gbValue.Location = new System.Drawing.Point(8, 360); this.gbValue.Name = "gbValue"; this.gbValue.Size = new System.Drawing.Size(224, 232); this.gbValue.TabIndex = 7; this.gbValue.TabStop = false; this.gbValue.Text = "Value"; // // label4 // this.label4.Location = new System.Drawing.Point(136, 176); this.label4.Name = "label4"; this.label4.Size = new System.Drawing.Size(56, 16); this.label4.TabIndex = 19; this.label4.Text = "angle"; // // tbAngle // this.tbAngle.Location = new System.Drawing.Point(136, 192); this.tbAngle.Name = "tbAngle"; this.tbAngle.Size = new System.Drawing.Size(80, 20); this.tbAngle.TabIndex = 18; this.tbAngle.Text = ""; // // label3 // this.label3.Location = new System.Drawing.Point(8, 176); this.label3.Name = "label3"; this.label3.Size = new System.Drawing.Size(80, 16); this.label3.TabIndex = 15; this.label3.Text = "distance"; // // tbDistance // this.tbDistance.Location = new System.Drawing.Point(8, 192); this.tbDistance.Name = "tbDistance"; this.tbDistance.Size = new System.Drawing.Size(80, 20); this.tbDistance.TabIndex = 14; this.tbDistance.Text = ""; // // label2 // this.label2.Location = new System.Drawing.Point(8, 96); this.label2.Name = "label2"; HVTH: Nguyễn Minh Quân 99 LUẬN VĂN CAO HỌC Thầy hướng dẫn: PGS TS.LÊ HOÀI QUỐC this.label2.Size = new System.Drawing.Size(72, 16); this.label2.TabIndex = 13; this.label2.Text = "present"; // // label1 // this.label1.Location = new System.Drawing.Point(8, 16); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(72, 16); this.label1.TabIndex = 12; this.label1.Text = "before"; // // tbHeadLeftRightAngle // this.tbHeadLeftRightAngle.Location = new System.Drawing.Point(136, 152); this.tbHeadLeftRightAngle.Name = "tbHeadLeftRightAngle"; this.tbHeadLeftRightAngle.Size = new System.Drawing.Size(80, 20); this.tbHeadLeftRightAngle.TabIndex = 11; this.tbHeadLeftRightAngle.Text = ""; // // tbBaseLeftRightAngle // this.tbBaseLeftRightAngle.Location = new System.Drawing.Point(8, 152); this.tbBaseLeftRightAngle.Name = "tbBaseLeftRightAngle"; this.tbBaseLeftRightAngle.Size = new System.Drawing.Size(80, 20); this.tbBaseLeftRightAngle.TabIndex = 10; this.tbBaseLeftRightAngle.Text = ""; // // tbBHeadLeftRightAngle // this.tbBHeadLeftRightAngle.Location = new System.Drawing.Point(136, 72); this.tbBHeadLeftRightAngle.Name = "tbBHeadLeftRightAngle"; this.tbBHeadLeftRightAngle.Size = new System.Drawing.Size(80, 20); this.tbBHeadLeftRightAngle.TabIndex = 9; this.tbBHeadLeftRightAngle.Text = ""; // // tbBBaseLeftRightAngle // this.tbBBaseLeftRightAngle.Location = new System.Drawing.Point(8, 72); this.tbBBaseLeftRightAngle.Name = "tbBBaseLeftRightAngle"; this.tbBBaseLeftRightAngle.Size = new System.Drawing.Size(80, 20); this.tbBBaseLeftRightAngle.TabIndex = 8; this.tbBBaseLeftRightAngle.Text = ""; // // tbBHeadUpDownAngle // this.tbBHeadUpDownAngle.Location = new System.Drawing.Point(136, 40); this.tbBHeadUpDownAngle.Name = "tbBHeadUpDownAngle"; this.tbBHeadUpDownAngle.Size = new System.Drawing.Size(80, 20); this.tbBHeadUpDownAngle.TabIndex = 7; this.tbBHeadUpDownAngle.Text = ""; // // tbBBaseUpDownAngle // this.tbBBaseUpDownAngle.Location = new System.Drawing.Point(8, 40); this.tbBBaseUpDownAngle.Name = "tbBBaseUpDownAngle"; HVTH: Nguyễn Minh Quân 100 LUẬN VĂN CAO HỌC Thầy hướng dẫn: PGS TS.LÊ HOÀI QUỐC this.tbBBaseUpDownAngle.Size = new System.Drawing.Size(80, 20); this.tbBBaseUpDownAngle.TabIndex = 6; this.tbBBaseUpDownAngle.Text = ""; // // tbBaseUpDownAngle // this.tbBaseUpDownAngle.Location = new System.Drawing.Point(8, 120); this.tbBaseUpDownAngle.Name = "tbBaseUpDownAngle"; this.tbBaseUpDownAngle.Size = new System.Drawing.Size(80, 20); this.tbBaseUpDownAngle.TabIndex = 5; this.tbBaseUpDownAngle.Text = ""; // // tbHeadUpDownAngle // this.tbHeadUpDownAngle.Location = new System.Drawing.Point(136, 120); this.tbHeadUpDownAngle.Name = "tbHeadUpDownAngle"; this.tbHeadUpDownAngle.Size = new System.Drawing.Size(80, 20); this.tbHeadUpDownAngle.TabIndex = 3; this.tbHeadUpDownAngle.Text = ""; // // gbBaseControl // this.gbBaseControl.Controls.Add(this.btBaseUp); this.gbBaseControl.Controls.Add(this.btBaseDown); this.gbBaseControl.Controls.Add(this.btBaseLeft); this.gbBaseControl.Controls.Add(this.btBaseRight); this.gbBaseControl.Location = new System.Drawing.Point(8, 8); this.gbBaseControl.Name = "gbBaseControl"; this.gbBaseControl.Size = new System.Drawing.Size(224, 136); this.gbBaseControl.TabIndex = 5; this.gbBaseControl.TabStop = false; this.gbBaseControl.Text = "Base Control"; // // btBaseDown // this.btBaseDown.Location = new System.Drawing.Point(136, 32); this.btBaseDown.Name = "btBaseDown"; this.btBaseDown.Size = new System.Drawing.Size(80, 32); this.btBaseDown.TabIndex = 2; this.btBaseDown.Text = "Down"; this.btBaseDown.Click += new System.EventHandler(this.btBaseDown_Click); // // btBaseLeft // this.btBaseLeft.Location = new System.Drawing.Point(8, 88); this.btBaseLeft.Name = "btBaseLeft"; this.btBaseLeft.Size = new System.Drawing.Size(80, 32); this.btBaseLeft.TabIndex = 3; this.btBaseLeft.Text = "Left"; this.btBaseLeft.Click += new System.EventHandler(this.btBaseLeft_Click); // // btBaseRight // this.btBaseRight.Location = new System.Drawing.Point(136, 88); this.btBaseRight.Name = "btBaseRight"; this.btBaseRight.Size = new System.Drawing.Size(80, 32); this.btBaseRight.TabIndex = 4; HVTH: Nguyễn Minh Quân 101 LUẬN VĂN CAO HỌC Thầy hướng dẫn: PGS TS.LÊ HOÀI QUỐC this.btBaseRight.Text = "Right"; this.btBaseRight.Click += new System.EventHandler(this.btBaseRight_Click); // // gbHeadControl // this.gbHeadControl.Controls.Add(this.btHeadUpsetRight); this.gbHeadControl.Controls.Add(this.btHeadUpsetLeft); this.gbHeadControl.Controls.Add(this.btHeadDown); this.gbHeadControl.Controls.Add(this.btHeadUp); this.gbHeadControl.Controls.Add(this.btHeadRight); this.gbHeadControl.Controls.Add(this.btHeadLeft); this.gbHeadControl.Location = new System.Drawing.Point(8, 160); this.gbHeadControl.Name = "gbHeadControl"; this.gbHeadControl.Size = new System.Drawing.Size(224, 192); this.gbHeadControl.TabIndex = 6; this.gbHeadControl.TabStop = false; this.gbHeadControl.Text = "Head Control"; // // btHeadUpsetRight // this.btHeadUpsetRight.Location = new System.Drawing.Point(136, 144); this.btHeadUpsetRight.Name = "btHeadUpsetRight"; this.btHeadUpsetRight.Size = new System.Drawing.Size(80, 32); this.btHeadUpsetRight.TabIndex = 5; this.btHeadUpsetRight.Text = "Upset Right"; this.btHeadUpsetRight.Click += new System.EventHandler(this.btHeadUpsetRight_Click); // // btHeadUpsetLeft // this.btHeadUpsetLeft.Location = new System.Drawing.Point(8, 144); this.btHeadUpsetLeft.Name = "btHeadUpsetLeft";this.btHeadUpsetLeft.Size = new System.Drawing.Size(80, 32); this.btHeadUpsetLeft.TabIndex = 4; this.btHeadUpsetLeft.Text = "Upset Left"; this.btHeadUpsetLeft.Click += new System.EventHandler(this.btHeadUpsetLeft_Click); // // btHeadDown // this.btHeadDown.Location = new System.Drawing.Point(136, 88); this.btHeadDown.Name = "btHeadDown"; this.btHeadDown.Size = new System.Drawing.Size(80, 32); this.btHeadDown.TabIndex = 3; this.btHeadDown.Text = "Down"; this.btHeadDown.Click += new System.EventHandler(this.btHeadDown_Click); // // btHeadUp // this.btHeadUp.Location = new System.Drawing.Point(8, 88); this.btHeadUp.Name = "btHeadUp"; this.btHeadUp.Size = new System.Drawing.Size(80, 32); this.btHeadUp.TabIndex = 2; this.btHeadUp.Text = "Up"; this.btHeadUp.Click += new System.EventHandler(this.btHeadUp_Click); // // btHeadRight // this.btHeadRight.Location = new System.Drawing.Point(136, 32); HVTH: Nguyễn Minh Quân 102 LUẬN VĂN CAO HỌC Thầy hướng dẫn: PGS TS.LÊ HOÀI QUỐC this.btHeadRight.Name = "btHeadRight"; this.btHeadRight.Size = new System.Drawing.Size(80, 32); this.btHeadRight.TabIndex = 1; this.btHeadRight.Text = "Right"; this.btHeadRight.Click += new System.EventHandler(this.btHeadRight_Click); // // btHeadLeft // this.btHeadLeft.Location = new System.Drawing.Point(8, 32); this.btHeadLeft.Name = "btHeadLeft"; this.btHeadLeft.Size = new System.Drawing.Size(80, 32); this.btHeadLeft.TabIndex = 0; this.btHeadLeft.Text = "Left"; this.btHeadLeft.Click += new System.EventHandler(this.btHeadLeft_Click); // // tpOptions // this.tpOptions.Controls.Add(this.gbCraneSizes); this.tpOptions.Location = new System.Drawing.Point(4, 22); this.tpOptions.Name = "tpOptions"; this.tpOptions.Size = new System.Drawing.Size(240, 590); this.tpOptions.TabIndex = 2; this.tpOptions.Text = "Options"; this.tpOptions.Click += new System.EventHandler(this.tpOptions_Click); // // gbCraneSizes // this.gbCraneSizes.Controls.Add(this.btApply); this.gbCraneSizes.Controls.Add(this.textboxCraneLength); this.gbCraneSizes.Controls.Add(this.textboxCraneHigh); this.gbCraneSizes.Controls.Add(this.lbCraneLength); this.gbCraneSizes.Controls.Add(this.lbCraneHigh); this.gbCraneSizes.Location = new System.Drawing.Point(8, 8); this.gbCraneSizes.Name = "gbCraneSizes"; this.gbCraneSizes.Size = new System.Drawing.Size(224, 168); this.gbCraneSizes.TabIndex = 0; this.gbCraneSizes.TabStop = false; this.gbCraneSizes.Text = "Crane Contructions"; // // btApply // this.btApply.Location = new System.Drawing.Point(120, 128); this.btApply.Name = "btApply"; this.btApply.Size = new System.Drawing.Size(96, 32); this.btApply.TabIndex = 4; this.btApply.Text = "Apply"; this.btApply.Click += new System.EventHandler(this.btApply_Click); // // textboxCraneLength // this.textboxCraneLength.Location = new System.Drawing.Point(104, 56); this.textboxCraneLength.Name = "textboxCraneLength"; this.textboxCraneLength.Size = new System.Drawing.Size(104, 20); this.textboxCraneLength.TabIndex = 3; this.textboxCraneLength.Text = ""; // HVTH: Nguyễn Minh Quân 103 LUẬN VĂN CAO HỌC Thầy hướng dẫn: PGS TS.LÊ HOÀI QUOÁC // textboxCraneHigh // this.textboxCraneHigh.Location = new System.Drawing.Point(104, 24); this.textboxCraneHigh.Name = "textboxCraneHigh"; this.textboxCraneHigh.ReadOnly = true; this.textboxCraneHigh.Size = new System.Drawing.Size(104, 20); this.textboxCraneHigh.TabIndex = 2; this.textboxCraneHigh.Text = ""; // // lbCraneLength // this.lbCraneLength.Location = new System.Drawing.Point(8, 56); this.lbCraneLength.Name = "lbCraneLength"; this.lbCraneLength.Size = new System.Drawing.Size(88, 16); this.lbCraneLength.TabIndex = 1; this.lbCraneLength.Text = "Crane Length"; // // lbCraneHigh // this.lbCraneHigh.Location = new System.Drawing.Point(8, 24); this.lbCraneHigh.Name = "lbCraneHigh"; this.lbCraneHigh.Size = new System.Drawing.Size(96, 16); this.lbCraneHigh.TabIndex = 0; this.lbCraneHigh.Text = "Crane High"; // // camera craneDrawCtrl1 // this.camera craneDrawCtrl1.BaseLeftRightAngle = 0F; this.camera craneDrawCtrl1.BaseUpDownAngle = 0F; this.camera craneDrawCtrl1.CraneHigh = 1.5F; this.camera craneDrawCtrl1.CraneLength = 8F; this.camera craneDrawCtrl1.HeadCompensationAngle = 0F; this.camera craneDrawCtrl1.HeadLeftRightAngle = 0F; this.camera craneDrawCtrl1.HeadUpDownAngle = 0F; this.camera craneDrawCtrl1.HeadUpsetAngle = 0F; this.camera craneDrawCtrl1.Location = new System.Drawing.Point(0, 0); this.camera craneDrawCtrl1.Name = "camera craneDrawCtrl1"; this.camera craneDrawCtrl1.Size = new System.Drawing.Size(640, 368); this.camera craneDrawCtrl1.SpaceAngle = 0F; this.camera craneDrawCtrl1.TabIndex = 3; this.camera craneDrawCtrl1.XSpace = 0F; this.camera craneDrawCtrl1.YSpace = -2F; this.camera craneDrawCtrl1.ZSpace = -20F; // // camera craneDrawCtrl2 // this.camera craneDrawCtrl2.BaseLeftRightAngle = 0F; this.camera craneDrawCtrl2.BaseUpDownAngle = 0F; this.camera craneDrawCtrl2.CraneHigh = 1.5F; this.camera craneDrawCtrl2.CraneLength = 8F; this.camera craneDrawCtrl2.HeadCompensationAngle = 0F; this.camera craneDrawCtrl2.HeadLeftRightAngle = 0F; this.camera craneDrawCtrl2.HeadUpDownAngle = 0F; this.camera craneDrawCtrl2.HeadUpsetAngle = 0F; this.camera craneDrawCtrl2.Location = new System.Drawing.Point(0, 368); this.camera craneDrawCtrl2.Name = "camera craneDrawCtrl2"; this.camera craneDrawCtrl2.Size = new System.Drawing.Size(640, 368); this.camera craneDrawCtrl2.SpaceAngle = 90F; HVTH: Nguyễn Minh Quân 104 LUẬN VĂN CAO HỌC Thầy hướng dẫn: PGS TS.LÊ HOÀI QUỐC this.camera craneDrawCtrl2.TabIndex = 4; this.camera craneDrawCtrl2.XSpace = 0F; this.camera craneDrawCtrl2.YSpace = -20F; this.camera craneDrawCtrl2.ZSpace = 0F; // // gbControlMode // this.gbControlMode.Controls.Add(this.btExit); this.gbControlMode.Controls.Add(this.btCancel); this.gbControlMode.Controls.Add(this.btScanning); this.gbControlMode.Controls.Add(this.btTracking); this.gbControlMode.Controls.Add(this.btManual); this.gbControlMode.Location = new System.Drawing.Point(648, 624); this.gbControlMode.Name = "gbControlMode"; this.gbControlMode.Size = new System.Drawing.Size(232, 104); this.gbControlMode.TabIndex = 5; this.gbControlMode.TabStop = false; this.gbControlMode.Text = "Control Mode"; // // btExit // this.btExit.Location = new System.Drawing.Point(120, 64); this.btExit.Name = "btExit"; this.btExit.Size = new System.Drawing.Size(104, 24); this.btExit.TabIndex = 4; this.btExit.Text = "Exit"; this.btExit.Click += new System.EventHandler(this.btExit_Click); // // btCancel // this.btCancel.Location = new System.Drawing.Point(8, 64); this.btCancel.Name = "btCancel"; this.btCancel.Size = new System.Drawing.Size(104, 23); this.btCancel.TabIndex = 3; this.btCancel.Text = "Cancel"; this.btCancel.Click += new System.EventHandler(this.btCancel_Click); // // btScanning // this.btScanning.Location = new System.Drawing.Point(160, 24); "btScanning"; this.btScanning.Size = new System.Drawing.Size(64, 23); this.btScanning.TabIndex = 2; this.btScanning.Text = "Scanning"; // // btTracking // this.btTracking.Location = new System.Drawing.Point(88, 24); this.btTracking.Name = "btTracking"; this.btTracking.Size = new System.Drawing.Size(56, 24); this.btTracking.TabIndex = 1; this.btTracking.Text = "Tracking"; this.btTracking.Click += new System.EventHandler(this.btTracking_Click); // // btManual // HVTH: Nguyễn Minh Quân this.btScanning.Name = 105 LUẬN VĂN CAO HỌC Thầy hướng dẫn: PGS TS.LÊ HOÀI QUỐC this.btManual.Location = new System.Drawing.Point(8, 24); this.btManual.Name = "btManual"; this.btManual.Size = new System.Drawing.Size(64, 24); this.btManual.TabIndex = 0; this.btManual.Text = "Manual"; // // MainForm // this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(888, 734); this.Controls.Add(this.gbControlMode); this.Controls.Add(this.camera craneDrawCtrl2); this.Controls.Add(this.camera craneDrawCtrl1); this.Controls.Add(this.tabControl1); this.Name = "MainForm"; this.Text = "Camera Crane Control"; this.tabControl1.ResumeLayout(false); this.tpSimulator.ResumeLayout(false); this.gbValue.ResumeLayout(false); this.gbBaseControl.ResumeLayout(false); this.gbHeadControl.ResumeLayout(false); this.tpOptions.ResumeLayout(false); this.gbCraneSizes.ResumeLayout(false); this.gbControlMode.ResumeLayout(false); this.ResumeLayout(false); } #endregion /// /// The main entry point for the application /// [STAThread] static void Main() { try { Application.Run(new MainForm()); } catch ( Exception e ) { MessageBox.Show(e.Message + "\n" + e.StackTrace); } } private void btBaseUp_Click(object sender, System.EventArgs e) { if(camera craneDrawCtrl1.BaseUpDownAngle >= 50) return; if(camera craneDrawCtrl2.BaseUpDownAngle >= 50) return; double beforeBaseUpDownAngle=camera craneDrawCtrl1.BaseUpDownAngle; double beforeBaseLeftRightAngle=camera craneDrawCtrl1.BaseLeftRightAngle; double beforeHeadUpDownAngle=camera craneDrawCtrl1.HeadUpDownAngle; double beforeHeadLeftRightAngle=camera craneDrawCtrl1.HeadLeftRightAngle; camera craneDrawCtrl1.BaseUpDownAngle += 1.0f; camera craneDrawCtrl2.BaseUpDownAngle += 1.0f; HeadCompensate(); if(bTracking) Tracking(beforeBaseUpDownAngle, beforeBaseLeftRightAngle, HVTH: Nguyeãn Minh Quân 106 LUẬN VĂN CAO HỌC Thầy hướng dẫn: PGS TS.LÊ HOÀI QUỐC beforeHeadUpDownAngle, beforeHeadLeftRightAngle, camera craneDrawCtrl1.BaseUpDownAngle, camera craneDrawCtrl1.BaseLeftRightAngle); camera craneDrawCtrl1.Refresh(); camera craneDrawCtrl2.Refresh(); tbBaseUpDownAngle.Text = camera craneDrawCtrl1.BaseUpDownAngle.ToString(); tbBaseLeftRightAngle.Text = camera craneDrawCtrl1.BaseLeftRightAngle.ToString(); tbHeadUpDownAngle.Text = camera craneDrawCtrl1.HeadUpDownAngle.ToString(); tbHeadLeftRightAngle.Text = camera craneDrawCtrl1.HeadLeftRightAngle.ToString(); tbBBaseUpDownAngle.Text = beforeBaseUpDownAngle.ToString(); tbBBaseLeftRightAngle.Text = beforeBaseLeftRightAngle.ToString(); tbBHeadUpDownAngle.Text = beforeHeadUpDownAngle.ToString(); tbBHeadLeftRightAngle.Text = beforeHeadLeftRightAngle.ToString(); } private void btBaseDown_Click(object sender, System.EventArgs e) { if(camera craneDrawCtrl1.BaseUpDownAngle = 150) return; double beforeBaseUpDownAngle=camera craneDrawCtrl1.BaseUpDownAngle; double beforeBaseLeftRightAngle=camera craneDrawCtrl1.BaseLeftRightAngle; double beforeHeadUpDownAngle=camera craneDrawCtrl1.HeadUpDownAngle; double beforeHeadLeftRightAngle=camera craneDrawCtrl1.HeadLeftRightAngle; camera craneDrawCtrl1.BaseLeftRightAngle += 2.0f; camera craneDrawCtrl2.BaseLeftRightAngle += 2.0f; if(bTracking) Tracking(beforeBaseUpDownAngle, beforeBaseLeftRightAngle, beforeHeadUpDownAngle, beforeHeadLeftRightAngle, camera craneDrawCtrl1.BaseUpDownAngle, camera craneDrawCtrl1.BaseLeftRightAngle); camera craneDrawCtrl1.Refresh(); camera craneDrawCtrl2.Refresh(); tbBaseUpDownAngle.Text = camera craneDrawCtrl1.BaseUpDownAngle.ToString(); tbBaseLeftRightAngle.Text = camera craneDrawCtrl1.BaseLeftRightAngle.ToString(); tbHeadUpDownAngle.Text = camera craneDrawCtrl1.HeadUpDownAngle.ToString(); tbHeadLeftRightAngle.Text = camera craneDrawCtrl1.HeadLeftRightAngle.ToString(); tbBBaseUpDownAngle.Text = beforeBaseUpDownAngle.ToString(); tbBBaseLeftRightAngle.Text = beforeBaseLeftRightAngle.ToString(); tbBHeadUpDownAngle.Text = beforeHeadUpDownAngle.ToString(); tbBHeadLeftRightAngle.Text = beforeHeadLeftRightAngle.ToString(); } private void btBaseRight_Click(object sender, System.EventArgs e) { if(camera craneDrawCtrl1.BaseLeftRightAngle

Ngày đăng: 16/04/2021, 03:43

Mục lục

  • BIA.pdf

  • MUC LUC.pdf

  • Bao cao tn Toan bo_ 2-11-03 .pdf

Tài liệu cùng người dùng

Tài liệu liên quan