TÓM TẮT NỘI DUNG ĐỀ TÀI
Đề tài “ Điều khiển scorbot – ev qua mạng bằng cần điều khiển” nghiên cứu việc điều khiển robot từ xa qua mạng máy tính (LAN, WAN, INTERNET) sử dụng cần điều khiển và camera quan sát. Hệ thống này gồm 2 phần chính:
Phần 1: Điều khiển Scorbot – Ev bằng cần điều khiển sử dụng phần mềm autohotkey. Điều khiển robot trong chế độ trục và chế độ tọa độ XYZ. Dùng cần điều khiển kết nối với máy tính thay thể điều khiển bằng bàn phím máy tính giúp cho việc điều khiển dễ dàng và hiệu quả hơn.
Phần 2: Điều khiển Scorbot – Ev qua mạng máy tính sử dụng phần mềm remote desktop. Khi đó robot được nối với một máy tính có camera quan sát và truyền hình ảnh qua mạng đến một máy tính khác, người điều khiển quan sát hình ảnh robot và dùng cần điều khiển điều khiển hoạt động của robot qua mạng.
MỞ ĐẦU
Từ khi ra đời, các robot không ngừng được cải tiến và hoàn thiện để ngày càng giúp ích cho con người. Chúng dần thay thế con người trong những công việc nặng nhọc, trong những môi trường độc hại, . mà con người không thể làm việc. Muốn vậy hoặc là cần có các robot đủ thông minh để hoạt động độc lập, chúng có thể tự làm việc theo một chương trình nhất định, nhưng cũng phải xử lý được những tình huống xảy ra không dự đoán trước được. Hoặc là các robot có khả năng liên lạc từ xa để con người có thể điều khiển chúng mà không phải có mặt trong môi trường không mong muốn.
Những robot tự vận hành phải được trang bị những sensor, những bộ cảm biến nhạy cảm để chúng có thể xác định được điều kiện cũng như trạng thái của môi trường mà chúng làm việc từ đó mới có khả năng thích nghi và đáp ứng được với những điều kiện đó. Phần mềm viết cho những robot này cực kì phức tạp và công phu tạo cho chúng một bộ óc đủ thông minh để có thể tự hoạt động.
Đối với những robot có khả năng điều khiển từ xa, cần phải có một hệ thống được trang bị các thiết bị để theo dõi hoạt động của robot, chẳng hạn một camera thu hình ảnh của robot. Hệ thống cũng cần phải có phần tạo ra các tín hiệu điều khiển, robot sẽ phải được trang bị để có khả năng nhận các tín hiệu điều khiển này và thực hiện. Phương tiện để liên lạc từ xa với các robot thông qua mạng Internet/LAN. Đã có nhiều nghiên cứu và xây dựng thành công các hệ thống như vậy.
Một bài toán đặt ra là cần phải quan sát được một robot di động, rồi căn cứ vào hình ảnh nhận được để điều khiển robot. Yêu cầu quan trọng nhất của hệ thống là phải điều khiển và quan sát được từ xa và phải đáp ứng được tính thời gian thực. Để dễ dàng điều khiển robot ta không thể dùng bàn phím của máy tính mà yêu cầu có một thiết bị điều khiển dễ dàng và linh hoạt hơn. Chúng ta sẽ sử dụng cần điều khiển để điều khiển robot đượct thuận lợi và hiệu quả cao hơn.
49 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 3245 | Lượt tải: 3
Bạn đang xem trước 20 trang tài liệu Khóa luận Điều khiển scorbot – Ev qua mạng bằng cần điều khiển, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
gười bạn đã luôn ủng hộ và trợ giúp tôi trong suốt thời gian làm luận văn.
TÓM TẮT NỘI DUNG ĐỀ TÀI
Đề tài “ Điều khiển scorbot – ev qua mạng bằng cần điều khiển” nghiên cứu việc điều khiển robot từ xa qua mạng máy tính (LAN, WAN, INTERNET) sử dụng cần điều khiển và camera quan sát. Hệ thống này gồm 2 phần chính:
Phần 1: Điều khiển Scorbot – Ev bằng cần điều khiển sử dụng phần mềm autohotkey. Điều khiển robot trong chế độ trục và chế độ tọa độ XYZ. Dùng cần điều khiển kết nối với máy tính thay thể điều khiển bằng bàn phím máy tính giúp cho việc điều khiển dễ dàng và hiệu quả hơn.
Phần 2: Điều khiển Scorbot – Ev qua mạng máy tính sử dụng phần mềm remote desktop. Khi đó robot được nối với một máy tính có camera quan sát và truyền hình ảnh qua mạng đến một máy tính khác, người điều khiển quan sát hình ảnh robot và dùng cần điều khiển điều khiển hoạt động của robot qua mạng.
MỞ ĐẦU
Từ khi ra đời, các robot không ngừng được cải tiến và hoàn thiện để ngày càng giúp ích cho con người. Chúng dần thay thế con người trong những công việc nặng nhọc, trong những môi trường độc hại,... mà con người không thể làm việc. Muốn vậy hoặc là cần có các robot đủ thông minh để hoạt động độc lập, chúng có thể tự làm việc theo một chương trình nhất định, nhưng cũng phải xử lý được những tình huống xảy ra không dự đoán trước được. Hoặc là các robot có khả năng liên lạc từ xa để con người có thể điều khiển chúng mà không phải có mặt trong môi trường không mong muốn.
Những robot tự vận hành phải được trang bị những sensor, những bộ cảm biến nhạy cảm để chúng có thể xác định được điều kiện cũng như trạng thái của môi trường mà chúng làm việc từ đó mới có khả năng thích nghi và đáp ứng được với những điều kiện đó. Phần mềm viết cho những robot này cực kì phức tạp và công phu tạo cho chúng một bộ óc đủ thông minh để có thể tự hoạt động.
Đối với những robot có khả năng điều khiển từ xa, cần phải có một hệ thống được trang bị các thiết bị để theo dõi hoạt động của robot, chẳng hạn một camera thu hình ảnh của robot. Hệ thống cũng cần phải có phần tạo ra các tín hiệu điều khiển, robot sẽ phải được trang bị để có khả năng nhận các tín hiệu điều khiển này và thực hiện. Phương tiện để liên lạc từ xa với các robot thông qua mạng Internet/LAN. Đã có nhiều nghiên cứu và xây dựng thành công các hệ thống như vậy.
Một bài toán đặt ra là cần phải quan sát được một robot di động, rồi căn cứ vào hình ảnh nhận được để điều khiển robot. Yêu cầu quan trọng nhất của hệ thống là phải điều khiển và quan sát được từ xa và phải đáp ứng được tính thời gian thực. Để dễ dàng điều khiển robot ta không thể dùng bàn phím của máy tính mà yêu cầu có một thiết bị điều khiển dễ dàng và linh hoạt hơn. Chúng ta sẽ sử dụng cần điều khiển để điều khiển robot đượct thuận lợi và hiệu quả cao hơn.
Mô hình đề tài được chỉ ra dưới đây:
Đây là một đề tài đơn giản nhưng nếu được mở rộng thì sẽ có nhiều ứng dụng trong thực tế:
Điều khiển robot trong các nhà máy có môi trường độc hại mà con người không thể tiếp cận và làm việc được.
Mạng máy tính ngày càng trở nên phổ biến và mang lại nhiều lợi ích cho con người giúp công việc con người trở nên tiện lợi và năng động hơn. Điều khiển robot trong xí nghiệp một cách tự động, không cần công nhân viên điều khiển trực tiếp mà điều khiển qua mạng internet khi đây chúng ta có thể ngồi ở một nơi nào đó điều khiển nhiều máy móc cùng một lúc.
Một hệ thống bảo vệ trong một toà nhà: Trong một toà nhà có thể đặt nhiều camera, các hình ảnh thu từ các camera được truyền trực tiếp về một trung tâm quan sát, từ trung tâm này người bảo vệ có thể điều khiển các trạm gác có các camera đó theo dõi.
Kết hợp với xử lý ảnh để tạo ra một robot có khả năng nhận biết các vật thể, tìm đường, từ đó ứng dụng cho việc phân loại sản phẩm, cảnh báo tự động...
CHƯƠNG I
ĐIỀU KHIỂN SCORBOT BẰNG CẦN ĐIỀU KHIỂN
1.1. TỔNG QUAN VỀ SCORBOT – ER VPLUS.
1.1.1. Về cấu trúc:
SCORBOT – ER Vplus là loại robot thẳng đứng, với 5 khớp quay, với kẹp được gắn vào, robot có 6 bậc tự do. Thiết kế này cho phép robot có thể làm việc trong một không gian rộng.
Sự chuyển động của các khớp chỉ ra ở bảng dưới:
STT
Tên khớp
Chuyển động
Góc làm việc tối đa
Số thứ tự motor
1
Khớp đế (Base)
Quay thân robot
3100
1
2
Khớp vai (Shoulder)
Nâng và hạ cánh tay trên robot
+1300/-350
2
3
Khớp tay (Elbow)
Nâng và hạ cánh tay robot
+-1300
3
4
Khớp cổ (Wrist Pitch)
Nâng và hạ bộ chấp hành cuối (Đầu kẹp)
+-1300
4+5
5
Cổ xoay (Wrist Roll)
Quay bộ chấp hành cuối
Không giới hạn
4+5
+ Đầu kẹp ( Gripper) có khả năng mở kẹp tối đa là 75mm.
1.1.2. Không gian làm việc:
Độ dài và góc làm việc của các khớp làm cho không gian làm việc SCORBOT – ER Vplus có dạng là một hình cầu gần như khép kín ở tâm robot. Hình chiếu của không gian này xuống bề mặt đế của robot là một vòng tròn gần gần kín có bán kính là 610mm. Độ cao cực đại của không gian làm việc là 1040mm.
1.1.3. Các motor, bộ giải mã, và các công tắc:
+ Motor: 5 khớp và kẹp của robot được điều khiển bởi các motor phụ một chiều. Chiều quay của motor được xác định bởi cực của hiệu điện thế điều khiển. Cực dương của hiệu điện thế một chiều làm cho motor quay theo một chiều, trong khi cực âm lại làm cho motor quay theo chiều ngược lại. Mỗi motor được gắn với một bộ giải mã để điều khiển khép kín.
+ Bộ giải mã: Việc xác định vị trí và chuyển động của mỗi trục được đo bằng một bộ giải mã quang - điện. Nó tác động đến các motor, motor lái các trục. Bộ giải mã sẽ tạo ra số các tín hiệu xung tỉ lệ với sự chuyển động của trục quay khi robot hoạt động. Tần số của tín hiệu chỉ ra chiều của chuyển động. Bộ điều khiển đọc các tín hiệu này và xác định phạm vi và chiều của trục chuyển đông.
+ Các công tắc: 5 công tắc được gắn trên cánh tay của robot thông báo cho bộ điều khiển các vị trí xác định trước.
1.1.4. Bộ điều khiển:
Danh mục
Đặc điểm kỹ thuật
Ghi chú
Nhiệt độ môi trường làm việc
20 – 400
CPU
68010
EPROM
384KB
RAM
System: 64KB
User: 128KB
Truyền thông
Cổng nối tiếp: RS232
Đầu vào
16 đầu vào (có LED chỉ thị);
Chế độ NPN and PNP logic
Đầu ra
12 đầu ra (có LED chỉ thị)
Chế độ NPN and PNP logic
Tối đa 24VDC
4 relay output (có LED chỉ thị)
Ngôn ngữ lập trình
ACL
SCORBASE LEVER5
Hệ thống cùng làm việc
XYZ
Các khớp
LED chỉ thị
Nguồn chính
Vào/Ra
Nguồn phụ
Khẩn cấp
Kết nối
Lối và/ lối ra
Cấp nguồn
D9 connector
Trục lái
Kẹp
RS232
Teach pendant
Robot
RS232 bổ trợ
D9 connector
D9 connector
D25 connector
D25 connector
D50 connector
D37 connector
Teach Pendant
30 phím chức năng
LCD 2 dòng, 16 ký tự / dòng
1.1.5. Hoạt động của robot:
+ Phần mềm:
ACL: Advamced Control Language, là ngôn ngữ lập trình được phát triển bởi Eshed Robotec, ACL là chương trình được đặt ở trong EPROMs với Controler-A, và có thể truy nhập từ một vài đầu cuối chuẩn hay là máy tính PC bởi giao tiếp RS232.
Những đặc điểm của ACL:
Người dùng trực tiếp điều khiển trục robot.
Chương trình người sử dụng của hệ thống robot.
Điều khiển dữ liệu vào/ra.
Chương trình thực thi đồng thời, đồng bộ và có liên kết với nhau.
Quản lý file đơn giản.
ATS: Advanced Terminal Software, là giao diện để điều khiển ACL. ATS làm việc trên máy tính PC và cho phép truy cập vào ACL từ máy tính.
Những đặc điển của ATS:
Hình thể điều khiển có cấu trúc ngắn gọn.
Định nghĩa được các thiết bị ngoại vi.
Nhiều phím tắt cho các lệnh vào.
Chỉnh sửa được chương trình.
Quản lý việc in ấn, phục hồi.
1.1.5.1. Chế độ trực tiếp:
Khi hệ thống ở chế độ trực tiếp, người sử dụng có thể điều khiển trực tiếp các trục, và điều khiển các lệnh thực thi như được nhập từ người sử dụng.
Khi ở chế độ trực tiếp màn xuất hiện ký tự đợi lệnh như thế này: >_
Khi hệ thống làm việc ở chế độ EDIT, lệnh được nhập vào trong một chương trình của người sử dụng, chương trình có thể được lưu và thực thi ở thời điểm sau.
1.1.5.2. Chế độ bằng tay:
Chế độ bằng tay cho phép điều khiển trực tiếp các trục của robot khi Teach Pendant không kết nối.
Khởi động chế độ bằng tay:
Khởi động DOS, ta xâm nhập vào thư mục ATS
Nếu bộ điều khiển kết nối với máy tính ở cổng COM1 (Mặc định), tại con trỏ lệnh ta gõ:
Ats
Nếu bộ điều khiển kết nối với máy tính ở cổng COM2, ta sẽ gõ:
Ats /c2
Khi đã tải song phần mềm, Màn hình chính ATS xuất hiện như sau:
Để khởi động chế độ bằng tay Ta giữ phím và bấm ký tự M:
Hệ thống sẽ trả lại một trong các cách sau:
MANUAL MODE!
>_
JOINT MODE
MANUAL MODE!
>_
XYZ MODE
Để thoát ra khỏi chế độ bằng tay, giữ phím và bấm ký tự M
EXIT MANUAL MODE…
>_
1.1.6. Hệ thống cùng làm việc:
SCORBOT – ER Vplus có thể làm việc và lập trình ở hai hệ thống cùng làm việc khác nhau là: Các khớp và toạ độ Cartesian (XYZ).
+ Toạ độ Cartesian, hay XYZ, hệ thống cùng làm việc này là một hệ thống hình học được sử dụng để định rõ vị trí của robot. Định nghĩa bởi khoảng cách của nó trên các trục toạ độ, từ các điểm ban đầu. Khi robot hoạt động thực thi trên chế độ XYZ, tất cả hay một vài trục chuyển động theo trục X, Y hay Z.
+ Chế độ làm việc khớp: Chế độ này định rõ vị trí của mỗi trục ở sự tính toán của các bộ giải mã. Khi các trục hoạt động, các bộ giải mã quản phát ra một dãy các tín hiệu điện có dòng cao, thấp. Các con số của tín hiệu là tỷ lệ với điểm của trục di chuyển. Bộ điều khiển đếm các tín hiệu và xác định khoảng cách một trục đã di chuyển. Khi sự di chuyển của robot được thực hiện ở chế độ trục, mỗi trục di chuyển theo lệnh. Nếu một vài thiết bi ngoại vi được kết nối đến hệ thống robot, vị trí của các trục luôn luôn có trạng thái ở bộ giải mã.
+ Để chọn hệ thống làm việc đồng thời từ bàn phím, bạn phải vào chế độ bằng tay.
Để khởi động hệ thống làm việc chế độ các khớp:
Press: j
JOINT MODE
Để khởi động hệ thống làm việc chế độ XYZ
Prees: x
XYZ MODE
1.2. ĐIỀU KHIỂN SCORBOR – ER VPLUS BẰNG CẦN ĐIỀU KHIỂN.
1.2.1. Điều khiển robot trong chế độ bằng tay:
Để điều khiển trực tiếp hoạt động của các khớp robot từ bàn phím, chế độ điều khiển bằng tay phải được khởi động.
Các phím chức năng dùng để điều khiển hoạt động của robot.
* Khi hệ hoạt động trong chế độ khớp:
Phím 1, Q Dịch chuyển axis 1 (Base).
Phím 2, W Dịch chuyển axis 2 (Shoulder).
Phím 3, E Dịch chuyển axis 3 (Elbow).
Phím 4, R Dịch chuyển axis 4 (Wrist Pitch).
Phím 5, T Dịch chuyển axis 5 (Wrist Roll ).
Phím 6, Y Đóng/ Mỡ đầu kẹp (axis 6).
* Khi trong chế độ XYZ:
Phím 1, Q Dịch chuyển đầu kẹp dọc theo trục X.
Phím 2, W Dịch chuyển đầu kẹp dọc theo trục Y.
Phím 3, E Dịch chuyển đầu kẹp dọc theo trục Z.
Phím 4, R Chuyển động khớp Pitch.
Khi muốn điều khiển robot ở chế độ khớp hoặc XYZ, hay chuyển đổi giữa 2 chế độ ta nhấn phím J (để kích hoạt chế độ khớp) hoặc phím X (để kích hoạt chế độ XYZ). Để đặt tốc độ cho robot ta nhấn phím S, nhập vào giá trị bằng số (từ 0 đến 100) sau đó bấm phím .
Chúng ta co thể soạn thảo chương trình điều khiển cho robot sử dụng hàm Edit trong chế độ lập trình (Edit mode) và đưa vào tên chương trình không qua 5 ký tự và sau đó bấm phím .
1.2.2. Phần mềm Autohotkey: (Version 1.0.47.00)
Giới thiệu:
Autohotkey là một phần mềm miễn phí, mã nguồn mỡ cho Windows. Các tính năng cơ bản:
- Tự động thực hiện các thao tác nhấn phím hay click chute. Bạn có thể viết macro cho chute hay bàn phím hoặc sử dụng chương trình ghi macro.
- Tạo phím nóng cho bàn phím, joystick và chute. Hầu như mọi phím, mọi nút hoăc tổ hợp nut nào cũng có thể trở thành phím nóng.
- Tự động kéo dài những chữ viết tắt. Ví dụ bạn viết “btw” chương trình sẽ tự động phát triển thành “by the way”.
- Tự tạo những form nhập dữ liệu, giao diện và thanh menu.
- Thay đổi các phím trên bàn phím, chuột, và trên cần điều khiển.
- Trả lời các tín hiệu từ bộ điều khiển từ xa.
- Chạy các bản(Scripts) ghi có sẵn và nâng cao chúng với các tính năng mới.
- Chạy bất kỳ bản ghi nào thành file EXE có thể chạy độc lập trên máy tính.
Để sử dụng chương trình bạn tạo một bản thao (cript), trong đó bạn có thể chứa các lệnh tạo phím nóng, các trạng thái phím, thời gian....Chương trình sẽ nạp các script vào nhớ theo dòng và mỗi dòng có thể dài đến 16.383 ký tự. Trong khi nạp, script sẽ được kiểm tra và tối ưu hoá. Các sai sót sẽ được hiển thị và ta phải sửa trước khi chạy.
1.2.3. Chương trình điều khiển:\
; AutoHotkey Version: 1.0.47.00
; Dieu khien theo toa do X - Y
#Persistent ; Keep this script running until the user explicitly exits it.
SetTimer, WatchAxis, 2008
return"{
WatchAxis:
GetKeyState, JoyX, JoyX ; Get position of X axis.
GetKeyState, JoyY, JoyY ; Get position of Y axis.
KeyToHoldDownPrev = %KeyToHoldDown% ; Prev now holds the key that was down before (if any).
if JoyX > 70
KeyToHoldDown = 1
else if JoyX < 30
KeyToHoldDown = q
else if JoyY > 70
KeyToHoldDown = 2
else if JoyY < 30
KeyToHoldDown = w
else
KeyToHoldDown =
if KeyToHoldDown = %KeyToHoldDownPrev% ; The correct key is already down (or no key is needed).
return ; Do nothing.
; Otherwise, release the previous key and press down the new key:
SetKeyDelay -1 ; Avoid delays between keystrokes.
if KeyToHoldDownPrev ; There is a previous key to release.
Send, {%KeyToHoldDownPrev% up} ; Release it.
if KeyToHoldDown ; There is a key to press down.
Send, {%KeyToHoldDown% down} ; Press it down.
Return
; Dieu khien theo toa do Z.
Joy1::
Send {3 down} ; Press the spacebar down.
SetTimer, WaitForJoy1, 200 ; Reduce the number 30 to 20 or 10 to send keys faster. Increase it to send slower.
return
WaitForJoy1:
if not GetKeyState("Joy1") ; The button has been released.
{
Send {3 up} ; Release the spacebar.
SetTimer, WaitForJoy1, off ; Stop monitoring the button.
return
}
; Since above didn't "return", the button is still being held down.
Send {3 down} ; Send another Spacebar keystroke.
return
Joy2::
Send {e down} ; Press the spacebar down.
SetTimer, WaitForJoy2, 200 ; Reduce the number 30 to 20 or 10 to send keys faster. Increase it to send slower.
return
WaitForJoy2:
if not GetKeyState("Joy2") ; The button has been released.
{
Send {e up} ; Release the spacebar.
SetTimer, WaitForJoy2, off ; Stop monitoring the button.
return
}
; Since above didn't "return", the button is still being held down.
Send {e down} ; Send another Spacebar keystroke.
return
; Dieu khien chuyen dong cua Pitch.
Joy3::
Send {4 down} ; Press the spacebar down.
SetTimer, WaitForJoy3, 200 ; Reduce the number 30 to 20 or 10 to send keys faster. Increase it to send slower.
return
WaitForJoy3:
if not GetKeyState("Joy3") ; The button has been released.
{
Send {4 up} ; Release the spacebar.
SetTimer, WaitForJoy3, off ; Stop monitoring the button.
return
}
; Since above didn't "return", the button is still being held down.
Send {4 down} ; Send another Spacebar keystroke.
return
Joy4::
Send {r down} ; Press the spacebar down.
SetTimer, WaitForJoy4, 200 ; Reduce the number 30 to 20 or 10 to send keys faster. Increase it to send slower.
return
WaitForJoy4:
if not GetKeyState("Joy4") ; The button has been released.
{
Send {r up} ; Release the spacebar.
SetTimer, WaitForJoy4, off ; Stop monitoring the button.
return
}
; Since above didn't "return", the button is still being held down.
Send {r down} ; Send another Spacebar keystroke.
Return
; Dieu khien dong mo dau kep.
Joy5::
Send {6 down} ; Press the spacebar down.
SetTimer, WaitForJoy5, 200 ; Reduce the number 30 to 20 or 10 to send keys faster. Increase it to send slower.
return
WaitForJoy5:
if not GetKeyState("Joy5") ; The button has been released.
{
Send {6 up} ; Release the spacebar.
SetTimer, WaitForJoy5, off ; Stop monitoring the button.
return
}
; Since above didn't "return", the button is still being held down.
Send {6 down} ; Send another Spacebar keystroke.
Return
Joy6::
Send {y down} ; Press the spacebar down.
SetTimer, WaitForJoy6, 200 ; Reduce the number 30 to 20 or 10 to send keys faster. Increase it to send slower.
return
WaitForJoy6:
if not GetKeyState("Joy6") ; The button has been released.
{
Send {y up} ; Release the spacebar.
SetTimer, WaitForJoy6, off ; Stop monitoring the button.
return
}
; Since above didn't "return", the button is still being held down.
Send {y down} ; Send another Spacebar keystroke.
return .
; Chuyen sang che do Khop
Joy7::
Send {x down} ; Press the spacebar down.
SetTimer, WaitForJoy7, 200 ; Reduce the number 30 to 20 or 10 to send keys faster. Increase it to send slower.
return
WaitForJoy7:
if not GetKeyState("Joy7") ; The button has been released.
{
Send {x up} ; Release the spacebar.
SetTimer, WaitForJoy7, off ; Stop monitoring the button.
return
}
; Since above didn't "return", the button is still being held down.
Send {x down} ; Send another Spacebar keystroke.
return .
; Chuyen sang che do XYZ
Joy8::
Send j down} ; Press the spacebar down.
SetTimer, WaitForJoy8, 200 ; Reduce the number 30 to 20 or 10 to send keys faster. Increase it to send slower.
return
WaitForJoy8:
if not GetKeyState("Joy8") ; The button has been released.
{
Send {j up} ; Release the spacebar.
SetTimer, WaitForJoy8, off ; Stop monitoring the button.
return
}
; Since above didn't "return", the button is still being held down.
Send {j down} ; Send another Spacebar keystroke.
Return .
1.2.4. Cần điều khiển (Joystick):
Joystick được dùng để điều khiển là sản phẩm của hãng Logitech. Cần điều khiển này có 1 núm điều khiển và 9 phím công tắc.
Khi sử dụng chương trình viết dựa trên phần mềm AutoHotkey (Version 1.0.47.00) Chương trình sẽ ánh xạ cần điều khiển đến một số phím dùng để điều khiển robot trên bàn phím. Nói cách khác Núm điều khiển của cần điều khiển sẽ thay thế các phím sau trên bàn phím:
Cần điều khiển
Bàn phím
Núm điều khiển
1, Q, 2, W
Joy1, Joy2
3, E
Joy 3, Joy4
4, R
Joy 5, Joy6
6, Y
Joy 7
X
Joy 8
J
1.2.5. Kết quả điều khiển:
CHƯƠNG II
ĐIỀU KHIỂN ROBOT QUA MẠNG
2.1. TỔNG QUAN VỀ MẠNG INTERNET.
2.1.1.Mô hình tổng quát của mạng Internet:
Như trong hình 1, kết cấu vật lý của mạng Internet gồm có mạng chính chứa các server cung cấp dịch vụ cho mạng, mạng nhánh bao gồm các trạm làm việc sử dụng dịch vụ do Internet cung cấp. "Đám mây Internet" hàm chứa vô vàn mạng chính, mạng nhánh và bao phủ toàn thế giới. Để một hệ thống phức tạp như vậy hoạt động trơn tru và hiệu quả thì điều kiện tiên quyết là mọi máy tính trong mạng, dù khác nhau về kiến trúc, đều phải giao tiếp với mạng theo cùng một luật. Đó là giao thức TCP/IP.
Quá trình truyền dữ liệu qua mạng Internet
Để có thể truyền qua mạng Internet, dữ liệu phải được xử lý qua nhiều tầng. Một mạng intranet theo chuẩn OSI thường có bảy tầng nhưng Internet chỉ có bốn tầng xử lý dữ liệu là:
* Tầng application
* Tầng transport còn gọi là tầng TCP (Transmission Control Protocol)
* Tầng network còn gọi là tầng IP (Internet Protocol)
* Tầng Datalink/Physical
Đầu tiên, dữ liệu được xử lý bởi tầng application. Tầng này có nhiệm vụ tổ chức dữ liệu theo khuôn dạng và trật tự nhất định để tầng application ở máy B có thể hiểu được. Điều này giống như khi bạn viết một chương trình thì các câu lệnh phải tuân theo thứ tự và cú pháp nhất định thì chương trình mới chạy được. Tầng application gửi dữ liệu xuống tầng dưới theo dòng byte nối byte. Cùng với dữ liệu, tầng application cũng gửi xuống các thông tin điều khiển khác giúp xác định địa chỉ đến, đi của dữ liệu.
Khi xuống tới tầng TCP, dòng dữ liệu sẽ được đóng thành các gói có kích thước không nhất thiết bằng nhau nhưng phải nhỏ hơn 64 KB. Cấu trúc của gói dữ liệu TCP gồm một phần header chứa thông tin điều khiển và sau đó là dữ liệu. Sau khi đóng gói xong ở tầng TCP, dữ liệu được chuyển xuống cho tầng IP.
Gói dữ liệu xuống tới tầng IP sẽ tiếp tục bị đóng gói lại thành các gói dữ liệu IP nhỏ hơn sao cho có kích thước phù hợp với mạng chuyển mạch gói mà nó dùng để truyền dữ liệu. Trong khi đóng gói, IP cũng chèn thêm phần header của nó vào gói dữ liệu rồi chuyển xuống cho tầng Datalink/Physical.
Khi các gói dữ liệu IP tới tầng Datalink sẽ được gắn thêm một header khác và chuyển tới tầng physical đi vào mạng. Gói dữ liệu lúc này gọi là frame. Kích thước của một frame hoàn toàn phụ thuộc vào mạng mà máy A kết nối.
Trong khi chu du trên mạng Internet, frame được các router chỉ dẫn để có thể tới đúng đích cần tới. Router thực ra là một module chỉ có hai tầng là Network và datalink/Physical. Các frame tới router sẽ được tầng Datalink/Physical lọc bỏ header mà tầng này thêm vào và chuyển lên tầng Network (IP). Tầng IP dựa vào các thông tin điều khiển trong header mà nó thêm vào để quyết định đường đi tiếp theo cho gói IP. Sau đó gói IP này lại được chuyển xuống tầng Datalink/Physical để đi vào mạng. Quá trình cứ thế tiếp tục cho đến khi dữ liệu tới đích là máy B.
Khi tới máy B các gói dữ liệu được xử lý theo quy trình ngược lại với máy A. Theo chiều mũi tên, đầu tiên dữ liệu qua tầng datalink/physical. Tại đây frame bị bỏ đi phần header và chuyển lên tầng IP. Tại tầng IP, dữ liệu được bung gói IP, sau đó lên tầng TCP và cuối cùng lên tầng application để hiển thị ra màn hình.
2.1.2. Hệ thống địa chỉ và cơ chế truyền dữ liệu trong mạng Internet:
Để một gói dữ liệu có thể đi từ nguồn tới đích, mạng Internet đã dùng một hệ thống đánh địa chỉ tất cả các máy tính nối vào mạng .
Những tên và địa chỉ này được gửi cho máy tính nhận dữ liệu.
Để phân tích hệ thống tên/địa chỉ, hãy bắt đầu từ thấp lên cao:
a. Địa chỉ vật lý, còn gọi là địa chỉ MAC
Sở dĩ có tên gọi như vậy là vì địa chỉ này gắn liền với phần cứng và đại diện cho một thiết bị. Thông thường địa chỉ vật lý được đặt ngay trên bảng mạch máy tính hay trên thiết bị kết nối trực tiếp với máy (modem, card mạng...)
Địa chỉ vật lý được sử dụng như sau:
Thiết bị nhận dữ liệu kiểm tra địa chỉ vật lý đích của gói dữ liệu ở tầng vật lý. Nếu địa chỉ đích này phù hợp địa chỉ vật lý của thiết bị thì gói dữ liệu sẽ được chuyển lên tầng trên, nếu không nó sẽ bị bỏ qua.
b. SAP:
Dùng để đại diện cho giao thức bên trên tầng MAC, ở đây là IP.
c. Địa chỉ mạng (network address)
Một thực thể trong mạng được xác định chỉ qua địa chỉ mạng mà không cần địa chỉ vật lý. Dữ liệu được truyền qua mạng chỉ dựa vào địa chỉ mạng. Khi nào dữ liệu tới mạng LAN thì địa chỉ vật lý mới cần thiết để đưa dữ liệu tới đích.
Việc tồn tại 2 loại địa chỉ là do các nguyên nhân:
* 2 hệ thống địa chỉ được phát triển một cách độc lập bởi các tổ chức khác nhau.
* Địa chỉ mạng chỉ có 32 bit sẽ tiết kiệm đường truyền hơn so với địa chỉ vật lý 48 bit.
* Khi mạch máy hỏng thì địa chỉ vật lý cũng mất.
* Trên quan điểm người thiết kế mạng thì sẽ rất hiệu quả khi tầng IP không liên quan gì với các tầng dưới.
Như trên đã nói, từ địa chỉ mạng có thể tìm được địa chỉ vật lý. Công việc tìm kiếm này được thực hiện bởi giao thức ARP (Address Resolution Protocol). Nguyên tắc làm việc của ARP là duy trì một bảng ghi tương ứng địa chỉ IP - địa chỉ vật lý. Khi nhận được địa chỉ IP, ARP sẽ dùng bảng này để tìm ra địa chỉ vật lý. Nếu không thấy, nó sẽ gửi một gói dữ liệu, gọi là ARP request, chứa địa chỉ IP vào mạng LAN. Nếu máy nào nhận ARP request và nhận ra địa chỉ IP của mình thì sẽ gửi lại một gói dữ liệu chứa địa chỉ vật lý của nó.
Vậy từ địa chỉ vật lý, một máy tính trong mạng có thể biết địa chỉ IP của mình hay không? Câu trả lời là có. Giao thức gọi là RARP (Reverse Address Resolution Protocol) thực hiện công việc này. Giả sử trong mạng có một máy cần biết địa chỉ IP của mình, nó gửi một gói dữ liệu cho tất cả các máy trong mạng LAN. Mọi máy trong mạng đều có thể nhận gói dữ liệu này, nhưng chỉ có RARP server mới trả lại thông báo chứa địa chỉ mạng của máy đó.
Trên thực tế, khi muốn nhập vào một địa chỉ Internet nào đó, bạn hay đánh vào dòng chữ như "WWW.hotmail.com" mà ít thấy những dòng địa chỉ số khô khốc. Vậy có điều gì mâu thuẫn? Chẳng sao cả, Internet đã dùng một hệ thống gọi là DNS (Domain Name System) để đặt tên cho một host và cung cấp một số giao thức để chuyển đổi từ địa chỉ chữ ra địa chỉ số và ngược lại. Cách tổ chức tên của DNS tuân theo dạng hình cây như hình 4.
Một máy tính trong mạng sẽ ứng với một nút của cây. Mỗi nút trên cây biểu diễn một miền (domain) trong hệ thống DNS; mỗi miền lại có một hay nhiều miền con. Tại mỗi miền này đều phải có máy chủ DNS tương ứng quản lý hệ thống tên trong miền đó.
Để hoạt động hiệu quả mỗi máy chủ DNS lưu trữ một cơ sở dữ liệu gồm các bản ghi chứa thông tin:
+ Tên của DNS cấp cao hơn
+ Địa chỉ IP
+ Địa chỉ dạng chữ tương ứng
Chỉ số của bản ghi được lấy từ địa chỉ IP tương ứng, nhờ đó từ địa chỉ IP có thể dễ dàng tìm ra địa chỉ chữ.
d. Protocol ID:
Chỉ ra giao thức của tầng giao vận. Trên Internet trường này là TCP hoặc UDP.e. Port:
Llà một số đặc trưng cho một chương trình chạy trên Internet. Ví dụ, chương trình lấy thư điện tử qua giao thức IMAP có port=143, truyền file có port =21, v.v...f. Username
Là tên người đăng kí sử dụng chương trình.
Địa chỉ logic:
Một bộ điều hợp mạng (network adapter) có một địa chỉ vật lý cố định và duy nhất. Địa chỉ vật lý là một con số cho trước gắn vào bộ điều hợp tại nơi sản xuất. Trong mạng cục bộ, những giao thức chỉ chú trọng vào phần cứng sẽ vận chuyển dữ liệu theo mạng vật lý nhờ sử dụng địa chỉ vật lý của bộ điều hợp. Có nhiều loại mạng và mỗi mạng có cách thức vận chuyển dữ liệu khác nhau. Ví dụ, một mạng Ethernet, một máy tính gửi thông tin trực tiếp tới bộ phận trung gian. Bộ điều phối mạng của mỗi máy tính sẽ lắng nghe tất cả các tín hiệu truyền qua lại trong mạng cục bộ để xác định thông tin nào có địa chỉ nhận giống của mình.
Tất nhiên, với những mạng rộng hơn, các bộ điều hợp không thể lắng nghe tất cả các thông tin. Khi các bộ phận trung gian trở nên quá tải với số lượng máy tính được thêm mới, hình thức hoạt động này không thể hoạt động hiệu quả.
Các nhà quản trị mạng thường phải chia vùng mạng bằng cách sử dụng các thiết bị như bộ định tuyến để giảm lượng giao thông. Trên những mạng có định tuyến, người quản trị cần có cách để chia nhỏ mạng thành những phần nhỏ (gọi là tiểu mạng) và thiết lập các cấp độ để thông tin có thể di chuyển tới đích một cách hiệu quả. TCP/IP cung cấp khả năng chia tiểu mạng thông qua địa chỉ logic. Một địa chỉ logic là địa chỉ được thiết lập bằng phần mềm của mạng. Trong TCP/IP, địa chỉ logic của một máy tính được gọi là địa chỉ IP. Một địa chỉ IP bao gồm: mã số (ID) mạng, dùng để xác định mạng; ID tiểu mạng, dùng để xác định vị trí tiểu mạng trong hệ thống; ID máy nguồn (chủ), dùng để xác định vị trí máy tính trong tiểu mạng.
Hệ thống tạo địa chỉ IP cũng cho phép quản trị mạng đặt ra hệ thống số của mạng một cách hợp lý để khi cần mở rộng có thể dễ dàng bổ sung và quản lý.
Định tuyến:
Bộ định tuyến là thiết bị đặc biệt có thể đọc được thông tin địa chỉ logic và điều khiển dữ liệu trên mạng tới được đích của nó.
Ở mức độ đơn giản nhất, bộ định tuyến phân chia tiểu vùng từ hệ thống mạng . Dữ liệu cần chuyển tới địa chỉ nằm trong tiểu vùng đó, nên không qua bộ định tuyến. Nếu dữ liệu cần tới máy tính nằm ngoài tiểu vùng của máy gửi đi (máy chủ), thì bộ định tuyến sẽ làm nhiệm vụ của mình. Trong những mạng có quy mô rộng lớn hơn, như Internet chẳng hạn, sẽ có vô vàn bộ định tuyến và cung cấp các lộ trình khác nhau từ nguồn tới đích.
TCP/IP bao gồm các giao thức có chức năng xác định cách các bộ định tuyến tìm lộ trình trong mạng.
Giải pháp địa chỉ dạng tên:
Mặc dù địa chỉ IP số có thể thân thiện hơn với địa chỉ vật lý của adapter mạng, nhưng IP được thiết kế chỉ đơn giản là nhằm tạo sự thuận tiện cho máy tính chứ không phải con người. Mọi người chắc chắn sẽ gặp phải khó khăn khi nhớ các địa chỉ như 111.121.131.146 hay 111.121.131.156. Vì thế, TCP/IP cung cấp một địa chỉ dạng ký tự tương ứng với địa chỉ số, những địa chỉ ký tự này được gọi là tên miền hay DNS (Dịch vụ tên miền). Một số máy tính đặc biệt được gọi là máy chủ quản lý tên miền lưu trữ các bảng hướng dẫn cách gắn tên miền với địa chỉ số.
Kiểm tra lỗi và kiểm soát giao thông:
Bộ giao thức TCP/IP cung cấp các thuộc tính đảm bảo mức độ tin cậy của việc vận chuyển dữ liệu trên mạng. Những thuộc tính này bao gồm việc kiểm tra lỗi trong quá trình vận chuyển (để xác định dữ liệu đã tới nơi chính là cái đã được gửi đi) và xác nhận việc thông tin đã được nhận. Lớp Vận chuyển của TCP/IP xác định các việc kiểm tra lỗi và xác nhận thông qua giao thức TCP. Nhưng giao thức ở cấp thấp hơn, Lớp Truy cập Mạng, cũng đóng một vai trò trong toàn bộ quá trình kiểm tra lỗi.
Hỗ trợ ứng dụng:
Bộ giao thức phải cung cấp giao diện cho ứng dụng trên máy tính để những ứng dụng này có thể tiếp cận được phần mềm giao thức và có thể vào mạng. Trong TCP/IP, giao diện từ mạng cho tới ứng dụng chạy trên máy ở mạng cục bộ được thực hiện thông qua các kênh logic gọi là cổng (port). Mỗi cổng có một số đánh dấu.
Nguyên tắc hoạt động của nó như sau:
1. Dữ liệu truyền từ một ứng dụng TCP/IP hoặc ứng dụng mạng thông qua một cổng TCP hay UDP tới giao thức lớp TCP hoặc UDP. Các chương trình có thể truy cập mạng qua TCP hoặc UDP, điều này phụ thuộc vào yêu cầu của chương trình.
* TCP là một giao thức định hướng kết nối. Các giao thức định hướng kết nối cung cấp khả năng kiểm soát giao thông và kiểm tra lỗi tinh vi hơn các giao thức không định hướng kết nối. TCP đảm bảo việc lưu chuyển của dữ liệu và đáng tin cậy hơn UDP, nhưng việc có thêm những chức năng này đồng nghĩa rằng TCP chậm hơn UDP.
* UDP là giao thức không định hướng kết nối. Nó nhanh hơn TCP, nhưng mức độ tin cậy thấp hơn.
2. Khi các gói dữ liệu đi tới cấp Internet, tại đây giao thức IP cung cấp thông tin địa chỉ logic và gắn thông tin đó vào gói dữ liệu.
3. Gói dữ liệu có IP tiến vào Lớp Truy cập mạng, tại đây nó chuyển giao cho bộ phận phần mềm được thiết kế để tương tác với mạng vật lý. Lớp Truy cập mạng tạo ra một hoặc nhiều khung dữ liệu để nó có thể vào mạng vật lý.
4. Khung dữ liệu sẽ được chuyển đổi thành một dải bit để tới bộ phận trung gian mạng.
Nền tảng của giao thức TCP/IP là Lớp Truy cập mạng, tập hợp các dịch vụ và quy định quản lý việc tiếp cận phần cứng của mạng lưới. Phần này sẽ tập trung về nhiệm vụ của Lớp Truy cập mạng và sự liên quan của nó với mô hình OSI.
Lớp Truy cập mạng là bộ phận “bí hiểm” nhất trong các lớp của TCP/IP. Về cơ bản, Lớp Truy cập mạng quản lý tất cả các dịch vụ và chức năng cần thiết cho việc chuẩn bị đưa dữ liệu sang mạng vật lý. Những trách nhiệm này gồm:
- Tương tác với bộ điều hợp mạng của máy tính.
- Điều phối quá trình truyền dữ liệu theo các quy ước xác định.
- Format dữ liệu thành các đơn vị gọi là mảng (frame) và đổi mảng đó thành dòng điện từ hoặc các xung điện, có khả năng di chuyển qua bộ phận truyền trung gian.
- Kiểm tra lỗi của các mảng dữ liệu gửi tới.
- Bổ sung thông tin kiểm tra lỗi cho các mảng gửi đi để máy tính nhận có thể phát hiện lỗi.
- Xác nhận việc nhận mảng thông tin và gửi lại dữ liệu nếu như chưa có xác nhận của bên kia.
Lớp Truy cập mạng quy định trình tự tương tác với phần cứng mạng và tiếp cận bộ phận truyền trung gian.
Mặc dù nguyên tắc hoạt động của nó rất phức tạp, nhưng Lớp Truy cập mạng hầu như không lộ hình đối với người sử dụng thông thường
Trên nguyên tắc, TCP/IP hoạt động hoàn toàn độc lập với mô hình mạng 7 lớp OSI (Open System Interconnection), nhưng OSI thường được sử dụng làm tiêu chuẩn để giải thích các hệ thống giao thức khác.
Các thuật ngữ và quan niệm của OSI hay được dùng để nói về lớp truy cập mạng, bởi vì mô hình OSI phân cấp các mục nhỏ hơn.
Lớp vật lý OSI chịu trách nhiệm chuyển mảng dữ liệu thành những dải bit phù hợp cho bộ phận trung gian. Nói cách khác, lớp vật lý OSI quản lý và đồng bộ các xung điện. Tại đầu nhận dữ liệu, Lớp vật lý lắp ráp các xung điện thành mảng dữ liệu.
Lớp kết nối dữ liệu OSI thực hiện 2 chức năng riêng biệt và được phân nhỏ thành 2 lớp phụ:
* Media Access Control (MAC) - cung cấp giao diện với adapter mạng. Trên thực tế, driver cho adapter mạng thường được gọi là MAC driver.
* Logical Link Control (LLC) - thực hiện việc kiểm tra lỗi các mảng dữ liệu được chuyển qua tiểu mạng và quản lý đường link giữa các thiết bị liên lạc trong tiểu mạng.
2.2. Giới thiệu về phần mềm remote desktop control:
Remote desktop control là chương trình điều khiển, nó có thể hiển thị màn hình máy tính khác (trên internet hay mạng) trên màn hình máy tính của ban.
Chương trình này cho phép bạn dùng chuột và bàn phím để điều khiển một máy tính khác, có nghĩa là bạn có thể làm việc trên một máy tính từ xa. Chương trình cho phép bạn đồng thời làm việc với một máy tính khác từ một nơi nào đó trên thế giới.
Đặc điểm của chương trình:
Hiển thị màn hình máy tính khác ở màn hình máy tính bạn ở thời gian thực.
Khả năng sử dụng bàn phím và chuột để điều khiển máy tính khác từ mọi nơi.
2.2.1. Remote Desktop Protocol (RDP):
Remote desktop control hoạt động dựa trên giao thức RDP(Remote Desktop Protocol) là một giao thức tầng chương trình dựa trên TCP/IP được thiết kế để truyền thông chính xác trên mạng sử dụng Microsoft Terminal Services.
Remote Desktop Protocol (RDP)
Năm 1997, Microsoft bắt đầu phát triển một giao thức cho việc trao đổi qua lại giữa terminal servers và các hệ điều hành windows khác. Giao thức này được gọi là called RDP (remote desktop protocol) và được căn cứ theo chuẩn ITU (International Telecommunication Union), RDP được căn cứ theo chuẩn của giao thức gia đình T.120 nhất là theo đặc điểm của giao thức – dịch vụ truyền thông đa điểm T.125 và Chia sẻ ứng dụng T.128. RDP được đứng tương đối vững với truyền thông máy, cái mà được sử dụng cho trao đổi dữ liệu dưới Microsoft NetMeeting.
Một số thiết bị có thể trở thành máy khách với điều kiện là nó có một đầu ra trung gian, một mouse, và một keyboard. Nó cũng cần để có thể truyền thông trên mạng sử dụng RDP.
Kiến trúc RDP.
Giao thức RDP cho phép truyền thông lên đến 64000 kênh. Cái màn ảnh được truyền như một vạch quét (bit map) từ một máy chủ tới máy khách hay máy cuối cùng. Máy khách truyền tác động của bàn phím và chuột tới máy chủ. Việc truyền là không đối xứng. Hầu hết dữ liệu được truyền từ máy chủ tới máy khách.
RDP đã được thiết kế lần đầu tiên để cung cấp các mô hình mạng khác nhau. Ở một cái trạng thái khác, nó có thể thi hành theo mạng TCP/IP và nó được chia thành vài lớp. Lý do cho việc nay ở chỗ mức thấp nhất giao thức gia đình T.120 trên RDP cơ bản, được đánh giá phù hợp hơn một vài chỉ tiêu phức tạp của tiêu chuẩn ISO. Cơ bản, chỉ bốn dịch vụ chủ yếu được coi là cần thiêt, ba trong chúng là cho chủ kết nối: Yêu cầu kết nối, xác nhận kết nối và yêu cầu ngắt kết nối. Kết nối và ngắt kết nối đến từ khách. Khi máy chủ ngừng kết nối, máy khách không có thông báo đặc biệt nào. Ở bề ngoài, Việc thực thi ở máy khách đòi hỏi đến địa chỉ được xác định qua sự tương ứng của viêc loại bằng tay. Thứ tư là phần chính của trao đổi dữ liệu bàng tay.
Lớp trên cùng của một cung cấp dịch vụ multicast. Dịch vụ Multicast cho phép cả hai kết nối điểm tới điểm và điểm tới đa điểm. Đây chỉ là cách để thực hiện các chức năng với một vài điểm kết thúc, ví dụ điều khiển từ xa.
Lớp bảo mật đặc biệt gồm tất cả các dịch vụ mã hóa và chữ ký. Nó giữ những cái mà người sử dụng không được phép từ sự kiểm tra của kết nối RDP và những ngăn cản truyền dòng dữ liệu từ nơi bắt đầu được biến đổi. Giải thuật RC4 của RSA được sử dụng cho bảo mật .Một chữ ký là sự kết hợp của giải thuật MD5 và SHA-1 để ngăn cản truyền dữ liệu bằng tay. Thêm vào đó, Lớp bảo mật quản lý việc truyền của xác nhận người sử dụng và những đăng ký liên quan.
Lớp chính xác liên quan điều khiển dịch chuyển đầu vào của chuột và bàn phim và hiển thị đầu ra. Cái Máy này thì tương đối phức tạp. Nó liên kết các hoạt động được sử dụng trong suốt quá trình kết nối, và nó quản lý việc nắm bắt thông tin của một vài dữ liệu, cái mà giảm đáng kể tải của mạng.
Ngoài quá trình phát triển của nó, giao thức RDP thích nghi xa hơn. Nhiều sự mở rộng của giao thức gắn liền với loại môi trường đặc biệt. Chương trình đầu tiền truyền dữ liệu trên khối giao thức RDP đến khối giao thức TCP/IP. Qua mô hình lớp được miêu tả sớm hơn, dữ liệu được trực tiếp tới một kênh, được mật mã, được chia thành những phần được định nghĩa trước, được thích nghi với giao thức mạng, được địa chỉ, và được gửi theo cách của nó. Ở kết thúc của việc nhận, quá trình này xảy ra ngược lại, Việc tạo dữ liệu sẵn có đến chương trình mục tiêu. Những thể thức được đăng ký được giám sát ở đây và cách thức mật mã được lựa chọn. Những dịch vụ thêm vào quản lý giao thức – sự thay đổi đặc biệt trong chế độ của người sử dụng.
Do khả năng lưu trữ cao hơn của nó, một kỹ thuật điều khiển cơ bản cung cấp thời gian thực hiện còn lại của môi trường để mở rộng dòng dữ liệu RDP. Cái cốt lõi được chia ra làm một phần cho giao thức vận chuyển (TCP/IP) và một phần cho giao thức truyền thông session – specific. Cái sau cùng được thực thi bởi Termdd driver, cái mà chuyển đầu vào chuột và bàn phím từ máy khách từ xa đến trung tâm.
Hiển thị đồ họa dưới RDP
Nếu bạn quan sát một giao diện người sử dụng hay một ứng dụng cứng trên một máy khách từ xa, Nó được nhớ lại bởi một ảnh số. Hoạt động này có thể hơi khó hiểu như ứng dụng windows thay đổi hoặc bắt đầu thì rất đột ngột. Hiển thị đồ họa giao diện người dùng trong một máy khách ở xa chủ yếu yêu cầu sự truyền một lượng lớn thông tin. Nếu phần màn hình thay đổi mà luôn luôn được truyền như tập hợp hoàn chỉnh từ máy chủ tới máy khách, dữ liệu sẽ dễ dàng được tổng hợp từ vài trăm KB đến hơn một MB. Bởi vì lý do này việc bắt đầu hoặc kết thúc một ứng dụng màn hình đầy đủ thì rất tốn dung lượng và yêu cầu băng thông rộng.
Tuy nhiên, việc đánh giá giao thức RDP và việc sử dụng nhân tố đồ họa của nó được đưa ra sự chú ý và kết quả cao nhất. Những thuật toán nén và những máy chủ hiệu quả nhất được sử dụng, hỗ trợ hầu hết tất cả thao tác đồ họa của cả một windows desktop và ứng dụng windows – based. Kết quả có chủ định phải giữ hiệu quả máy tính và yêu cầu băng thông mạng ở mức thấp nhất có thể.
Điều khiển đồ họa RDP nhận các lệnh đồ họa từ ứng dụng theo những thiết bị giao diện đồ họa. Ứng dụng tạo nên GDI(+) địa điểm và cái để vẽ. GDI(+) forward hướng dẫn tới RDP. Thêm vào đó, GDI(+) không nhận rằng những nhân tố đồ họa thì không ra ở một vùng màn hình. Điều khiển RDP truyền dữ liệu đó tới máy khách hàng ở xa. Điều này thì chính xác khi đánh giá bắt buộc phải thực hiện. hầu hết việc thực hiện đồ họa tập trung vào cung cấp hình ảnh, tạo nên đồ họa gốc, và hiển thị ký tự.
Một hình ảnh là một hình chữ nhật gồm các điểm với nhiều màu khác nhau, do vậy tạo nên một mẫu đặc biệt. Ví dụ, một biểu tượng ứng dụng là một hình ảnh. Việc hiển thị của một điểm ảnh tĩnh có thể được tăng tốc khi sử dụng nén khi truyền. Nén có thể ở độ màu thấp qua việc sắp xếp mã hóa tạm thời đơn giản cái mà truyền một giá trị màu nếu một vài pixel của màu cùng loại xuất hiện trong hàng. Tỉ lệ của nén có thể cũng bị ảnh hưởng bởi ứng dụng được sử dụng và bởi thiết kế của giao diện đồ họa. Ví dụ, sử dụng nhiều màu và sự chuyển tiếp của dãy màu thì không có lợi. Nó giải thích tại sao việc trang trí của những tấm ở phần máy khách hàng từ xa thì đơn giản hơn trên bảng điều khiển nhiều. Tất cả con số của màu được sử dụng, như được định nghĩa dưới thuộc tính bitmap, thì cũng rất quan trọng trong việc lựa chọn thuật toán nén và kết quả tỉ lệ nén.
Bảng màu có thể đánh giá sâu hơn việc sử dụng bitmap. Một bảng bao gồm nhiều giá trị màu thị được tạo và truyền tới máy khách hàng. Nếu bảng màu cá nhân trong một bitmap cần tô, vị trí này phối hợp trong bản thì được truyền, chứ không phải là giá trị màu. Lượng dữ liệu thì luôn luôn nhỏ hơn trong khi độ màu thì cao nhưng con số của màu được sử dụng đồng thời thì tương đối thấp. Thật vậy, một giá trị màu độc lập yêu cầu tới ba byte trong khi một vị trí màu trong bảng với tối đa 256 mục chỉ cần một byte.
Thậm chí nhiều vấn đề với ảnh động, Chúng tạo nên tỉ lệ truyền cao hơn trên mạng, thậm chí nếu chúng rất nhỏ. Trong trường hợp này, chúng ta cần một máy khác để giới hạn độ dữ liệu.
Làm thế nào để đầu ra của đồ họa có thể thực hơn, ví dụ, đường thẳng hay một hình chữ nhật, nó được tạo thành từ nhiều phần tử của giao diện người dùng? Độ phân giải đơn giản nhất dùng để vẽ một đường thẳng bằng truyền mỗi điểm một vài pixel. Một cách thức cho hiệu quả cao hơn là một lênh, nó được định nghĩa bởi điểm bắt đầu điểm kết thúc, độ rộng và màu của đường thẳng. Điểm tỉnh có thể được tính toán bởi các thiết bị đầu ra, Thông thường, đặc trưng này cũng được sử dụng nhiều hơn dùng các lệnh phức tạp.
Mỗi một từ ở trong dãy ký tự được quản lý bởi một kiểu đặc biệt của bitmap, đó là hình nét, đầu ra của các ký tự sử dụng hình nét dễ dàng hơn rất nhiều so với khi truyền bitmap. Một lệnh yêu cầu chi đường ra của hình nét đặt ở một vị trí. Tuy nhiên số của các phông chữ khác nhau và kích thước của các dòng phông chữ là hoàn toàn mơ hồ, như sự truyền ban đầu của các hình nét đến máy khách.
Caching
Chúng ta đã từng nói đến các cơ cấu khác để giảm số lượng của dữ diệu được truyền. Nó gọi là caching, hay lưu trữ tạm thời. Ở quá trình này, bộ nhớ lưu trữ ở máy khách, tần số lưu trữ của nó được sử dụng các mảnh ảnh, nó có thể được hiển thị lại.
Chức năng của caching không được thực hiện độc lập với bộ nhó chính của máy khách. Nếu vùng điều khiển cứng tồn tại, nó có thể cho phép gọi bộ nhớ lưu trữ tạm thời liên tục, ở đấy lưu trữ dữ liệu là tĩnh sau khi máy khách khởi động lại. Các thành phần mạng đặc biệt có thể lưu dữ liệu RDP và cung cấp một không gian lưu trữ toàn cầu.
RDP hỗ trợ lưu trữ sau đây:
Bitmap cache: Lưu trữ những thể loại khác nhau của bitmap. Kích thước và con số của các cache được xác định trên kết nối.
Font cache: Lưu trữ hình nét. Kích thước cache phải đủ cho việc lưu trữ tất cả ký tự của tập hợp ký tự được định nghĩa.
Desktop cache: Một ký tự lệnh được lưu trữ hay đầu ra của ảnh đặc biệt này.
Cursor cache: Lưu trữ con trỏ chuột, nó cần cho công cụ đặc biệt. Thuật toán đồ họa đặc biệt đảm bảo rằng sự chính xác con trỏ chuột được hiển thị ở trên máy tính không có sự phát sinh nhiều giao thông mạng và quá tải của vùng tài nguyên bộ xử lý. Hoạt động drag – and – drop với chuột do đó không đòi hỏi truyền của các phần tử đồ họa mới.
Text cache: Lưu trữ tần số sử dụng dãy ký tự và thông tin các định dạng tương ứng. Hình vẽ từ lưu trữ phông được sử dụng để phát một dãy ký tự phức tạp.
Kênh ảo và Hình ảnh thực.
Một máy khách RDP hay ứng dụng có thể sử dụng một kênh ảo để truyền thông tin đặc biệt. Những kênh ảo giúp thêm vào những chức năng mà không còn đặc biệt ở giao tiếp RDP. Nó miêu tả một nền cho sự phát triển trong tương lai.
Về cơ bản, giao thức RDP cho phép phân bố các dòng dữ liệu từ một nguồn tới nhiều đích. Một ứng dụng có thể thực thi do đó được ảnh thực trên máy khách khác. Thậm chí điểm đầu vào có thể chuyển từ một người dùng đến một người dùng khác.
Giao thức RDP tương lai:
Những điểm quan trọng nhất của RDP tương lai được chỉ ra sau đây:
Hỗ trợ 256 – màu (8bit)
Kiểm tra từ xa
Những tùy chọn mã hóa 56 - bit và 128 – bit
Cải tạo nén và cache đẻ giảm xung đột mạng
Tùy chọn để trả lại kết nối để tồn tại phiên của người sử dụng
Kết nối để in và hồ sơ trên máy khách
Đòi hỏi băng thông mạng
Nó rất quan trọng để biết băng thông bao nhiêu để giao thức RDP sử dụng trên mạng. Một cách đáng tiếc, Không có câu trả lời chung cho câu hỏi này bởi vì nó bị ảnh hưởng rất nhiều bởi điều kiện bên ngoài, như là:
Độ màu và độ phân giải màn được đặt và được hỗ trợ ở trên máy khách
Mật mã và nén
Nền desktop cho phép hay bị cấm
Máy khách và máy chủ lượng nền
Thể loại và kết hợp của ứng dụng được dùng
Thái độ người sử dụng
RDP thích hợp ở băng thông 20Kb/s và hiệu quả nhất ở 50Kb/s. Nếu có băng thông phù hợp, giao thức RDp có thể sử dụng lên đên 500Kb/s. Tình huông này xảy ra khi game máy tính, video, động, hay chương trình chuẩn xác định theo một máy khách RDP. Tuy nhiên, những chương trình này thường không phù hợp trong việc chạy trên terminal servers.
Table 3.1: Configuration of the Individual RDP Sessions for the Bandwidth Test
Session ID
Resolution
Color Depth
Bitmap Caching
Network Optimization
7
1024 x 768
16 bit
Yes
LAN (10 Mbps)
8
640 x 480
16 bit
Yes
LAN (10 Mbps)
9
1024 x 768
8 bit
Yes
LAN (10 Mbps)
10
640 x 480
8 bit
Yes
LAN (10 Mbps)
11
1024 x 768
16 bit
No
Modem (28.8 Kbps)
12
640 x 480
16 bit
No
Modem (28.8 Kbps)
Terminal Server:
Terminal Server cho phép nhiều client từ xa truy cập đồng thời tới các chương trình xây dựng trên nền tảng Windows chạy trên server cùng một lúc. Đây là hình thức triển khai Terminal Server thông thường.
Khi sử dụng mô hình Terminal Server, nhiều kết nối đồng thời do người dùng không thuộc nhóm quản trị (administrator) truy cập đến vẫn được chấp nhận. Bạn cũng có thể cài đặt dịch vụ Terminal Services Licesing trên bất kỳ server thành viên nào. Tuy nhiên bạn phải cấu hình một server có bản quyền trên tất cả server đích. Server này phải liên hệ với các server bản quyền không có bộ điều khiển tên miền nhưng được cấu hình như một server bản quyền tên miền.
2.2.2. Phần mềm remote desktop:
Phần mềm: Remote desktop version 1.9 của AQUATRA, Inc.
Download tại: www.remote-desktop-control.com
Bạn cần có 2 (hay nhiều hơn) máy tính được kết nối tới mạng hay với truy nhập đến internet và cài phần mềm ở cả 2 máy. Phần mềm gồm 2 Module:
1. Module Chủ:
Hiển thị màn hình của những máy tính từ xa và cho phép người quản trị để điều khiển các máy tính từ xa với chuột và bàn phím. Module này thường được cài ở những máy của người quản trị.
Ngoài ra để tăng thêm tính bảo mật bạn nên thiết lập thêm mật khẩu của máy khách khi quá trình cài đặt vừa kết thúc
2. Module người tiếp nhận:
Thực hiện các lệnh được gửi bởi Module Người quản trị. Module này được cài ở mỗi máy tính mà bạn muốn điều khiển từ xa.
Sau khi cài đặt chương trình xong trên máy chủ, trên giao diện tương tác bạn nhấp biểu tượng Add New PC. Trong cửa sổ PCs Properties nhấp nút Browse rồi trong cửa sổ Browse for Computer bạn tìm đến máy tính cần kết nối vào để điều khiển
Bạn có thể sử dụng địa chỉ IP của máy khách để kết nối trực tiếp tại hộp thoại PCs Properties thay vì phải tìm tới máy tính trong hệ thống mạng. Chú ý khi kết nối bạn sẽ nhận được yêu cầu nhập vào mật khẩu của máy khách; đây là mật khẩu mà bạn đã thiết lập lúc ban đầu khi cài đặt chương trình trên máy khách
Sau khi kết nối thành công trên giao diện tương tác của chương trình ở máy chủ bạn sẽ thực hiện được các tính năng điều khiển như: Full Control (toàn quyền điều khiển), View Only (chỉ theo dõi thao tác máy khách), Clipboard (ghi nhận thao tác máy khách vào bộ nhớ máy chủ), Turn Off (điều khiển các quyền tắt, tái khởi động, Loff Off... máy khách)
Full Control: bạn nhấp vào công cụ Full Control trên giao diện chính, lúc này sẽ xuất hiện cửa sổ giao diện của máy khách trên máy chủ và bạn có thể thực hiện đủ mọi thao tác kỹ thuật cần thiết (như truy cập web, mở Word, tạo Shortcut...). Trong chế độ này cho phép dùng bàn phím và chuột để điều khiển máy tính từ xa.
View Only: nhấp nút công cụ này sẽ cho phép bạn thấy được và theo dõi tất cả hoạt động trên giao diện của máy khách.
Clipboard: ghi nhớ các thao tác của máy khách vào bộ nhớ máy chủ để sau này có thể truy cập điều tra lại nếu cần.
Turn Off: bao gồm các chức năng tắt, mở máy... rất thuận lợi và cần thiết khi bạn cần tắt máy khách khi tới giờ nghỉ.
2.3. KẾT QUẢ ĐIỀU KHIỂN THỰC TẾ:
Quá trình thực hiện điều khiển robot qua mạng LAN.
Host Module:
Cài đặt remote desktop ở chế độ Host module, Đây là máy tính kết nối với scorbot– ev cần điều khiển và có kết nối với một camera quan sát.
Admin Module:
Cài đặt remote desktop ở chế độ Admin module, Đây là máy tính chúng ta dùng để điều khiển robot do đó có kết nối với một cần điều khiển và chạy chương trình autohotkey của phần điều khiển.
Quy trình điều khiển: Thực hiện kết nối từ máy Admin tới máy Host module bằng cách nhập địa chỉ mạng của máy Host module. Sau khi kết nối thành công, chúng ta chuyển sang chế độ điều khiển Full control, khi đó chúng ta có thể dùng bàn phím và chuột của máy Admin module điều khiển máy Host module. Từ máy Admin module chạy chương trình hoạt động của camera và chương trình ATS, chuyển hoạt động của ATS sang chế độ điều khiển trực tiếp, khi đó ta có thể dùng bàn phím của máy Admin module để điều khiển robot qua mạng. Sau đó bật chương trình autohotkey và dùng cần điều khiển để điều khiển robot qua mạng.
Hình ảnh điều khiển.
Host module
Admin module
KẾT QUẢ
Đề tài “Điều khiển scorbot – ev qua mạng bằng cần điều khiển” mà Thạc sĩ Nguyễn Vinh Quang đã giao cho tôi là một đề tài hay và thú vị, có nhiều ứng dụng trong thực tiễn. Khi thực hiện đề tài này, tôi đã đạt được một số kết quả nhất định.
PHẦN LÝ THUYẾT:
Tìm hiểu về cấu trúc chung, nguyên tắc cấu tạo và hoạt động của một Scorbot – Ev, Cách thức để điều khiển một robot.
Tìm hiểu về mang mạng máy tính
Tìm hiểu về giao thức RDP
Tìm hiểu về phần mềm Autohotkey, remote desktop.
PHẦN THỰC HÀNH
Viết chương trình để điều khiển được robot bằng cần điều khiển.
Thực hiện việc điều khiển scorbot – ev qua mạng Lan bằng cần điều khiển.
MỞ RỘNG ĐỀ TÀI
Do thời gian có hạn nên phạm vi của đề tài còn hạn hẹp, tôi xin đưa ra một số hướng để có thể mở rộng và hoàn thiện đề tài nhằm áp dụng cho thực tiễn:
Có thể kết hợp với xử lý ảnh để điều khiển robot hoàn toàn tự động và xây dựng những ứng dụng phức tạp hơn
Có thể sử dụng các chương trình điều khiển tự động để cho robot thực hiện, khi đó người giám sát có thể giám sát và điều khiển được nhiều robot hơn.
TÀI LIỆU THAM KHẢO
1. Tài liệu tham khảo về Scorbot – Ev: User manual Scorbot – Er Vplus
2. Nghiên cứu việc điều khiển thời gian thực các cơ cấu chấp hành dựa trên các cảm biến và cảm biến ảnh – Đề tài nguyên cứu khoa học; Thạc sĩ. Nguyễn Vinh Quang.
3. www.Autohotkey.com.
4. Giáo trình: Mạng truyền dữ liệu; NXB Đại học Quốc Gia Hà Nội.
5. Giáo trình thiết kế và xây dựng mạng LAN, WAN.
6. www.eTutorials.org/Microsoft Windows Server 2003 Terminal Services > Chapter 3: Communication Protocols and Thin Clients > Remote Desktop Protocol (RDP)
7. www.remote-desktop-control.com
Các file đính kèm theo tài liệu này:
- Điều khiển scorbot – ev qua mạng bằng cần điều khiển.doc