4 Lưu đồ giải thuật điều khiển robot nhện
Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (8.14 MB, 62 trang )
một bước. Trong phần này một bước là một chu kỳ của sự di chuyển của chân được
hoàn thiện và nó được lặp đi lặp lại.
Có ba cách di chuyển có thể ứng dụng cho robot nhện là: cách đi tam giác thay
đổi, cách đi gợn sóng và cách đi dạng sóng. Với mỗi cách đi được ứng dụng để di
chuyển trên những địa hình khác nhau, với mỗi địa hình chỉ có một cách di chuyển
nhất định mà thơi.
Phương án 1: Cách đi tam giác thay đổi
Cách đi này được sử dụng cho robot di chuyển trên mặt phẳng với vận tốc di
chuyển nhanh. Với cách đi này các chân robot được chia ra làm hai pha: pha ban đầu
nâng lên ba chân lên khỏi nền, sau đó ba chân chạm đất vẫy về phía sau. Sau thời điểm ba
chân chạm đất đã vẫy về phía sau xong thì ba chân còn lại sẽ vẫy về phía trước, trong
khi đó thân của robot sẽ di chuyển về phía trước. Sau đó, đến pha thứ hai các chân
nâng lên được hạ xuống để nâng ba chân còn lại. Và cứ như vậy lặp đi lặp lại các chu
kì tiếp theo. Với phương pháp này robot ln ln được thăng bằng vì ở bất kì thời điểm nào
robot ln có ba chân tiếp xúc với nền.
Hình 4.19 Cách đi tam giác thay đổi
Trong số đó:
● Chân chạm đất
○ Chân khơng chạm đất
Đây là cách đi đơn giản và ổn định nhất của robot nhện. Quy luật chính của
cách đi tam giác thay đổi là chia các chân robot ra làm hai nhóm khác nhau nhưng
thực hiện việc di chuyển giống nhau ở từng nữa chu kỳ. Tuy nhiên, cách đi này không
phải là cách đi tối ưu dành cho robot tĩnh định sáu chân.
Phương án 2: Cách đi dạng gợn sóng
Cách đi dạng này được sử dụng khi robot đòi hỏi sự ổn định nhiều hơn so với
cách đi tam giác thay đổi. Cách đi này đảm bảo ln ln có bốn chân tiếp xúc với nền
trong suốt mọi thời điểm di chuyển. Vì vậy, nó đảm bảo ổn dịnh của chân cao hơn. Di
chuyển trước tiên là của chân phía sau đi của mỗi bên thân, sau đó là các chân tiếp
theo. Các cặp chân hoạt động lệch pha nhau 180º. Với cách đi này thân của robot di
chuyển chậm hơn so với cách đi tam giác thay đổi nhưng lại có độ ổn định cao hơn.
Phương án 3: Cách đi dạng sóng
Cách đi này có nhiều nguyên lý đi hơn so với cách đi dạng gợn sóng. Di chuyển
trước tiên là của chân cuối cùng của một bên. Khi chân di chuyển thì thứ tự các chân
bước lên phía trước lan ra như cơn sóng về phía trước của thân và tiếp tục các chân
phía bên kia cũng khởi đầu từ chân phía sau cùng. Điều này có nghĩa là robot ln có 5
chân tiếp xúc với mặt đất ở mọi thời điểm. Cách đi này chậm nhất so với hai cách đi
đã trình bày ở trên. Nhưng nó có độ ổn định cao nhất và cách đi này có thể sử dụng để
di chuyển trên các dịa hình phức tạp, gồ ghề như đi trên núi, địa hình đất đá…
Nhóm chúng em chọn phương án 1(phương án cách đi tam giác thay đổi) để áp
dụng cho robot nhện sáu chân. Các cách di chuyển của robot gồm có di chuyển thẳng
tới và lùi, di chuyển sang trái và sang phải. Trong hai di chuyển sang trái và sang phải
đều phải dựa trên nền tảng của di chuyển thẳng. Trong số đó, đường cong của quỹ đạo di
chuyển sẽ được chia nhỏ ra thành nhiều đoạn nhỏ, mà trong đó mỗi một đoạn được
xem như là một đoạn thẳng. Và robot sẽ di chuyển trên các đoạn thẳng này. Nhưng
hoạt động của từng chân khi này sẽ khác nhau không phải giống như di chuyển thẳng
hoàn toàn. Mà các chân phối hợp với nhau sao cho thích hợp với quỹ đạo cần di chuyển.
Độ chuẩn xác đạt được tùy thuộc vào số lượng các đoạn chia nhỏ nhiều hay ít. Đoạn
chia càng nhỏ thì quỹ đạo di chuyển sẽ càng giống với quỹ đạo u cầu. Tuy nhiên, khi
đó sẽ đòi hỏi độ chuẩn xác của góc vẫy chân và như vậy thì khối lượng tính tốn xử lý
sẽ nhiều lên. Bộ vi xử lý cần phải có vận tốc tính tốn nhanh, dung tích bộ nhớ lưu trữ phải
nhiều mới giải quyết được nhu cầu này.
4.4.1 Giải thuật di chuyển tiến hoặc lùi cho robot
Gọi số thứ tự các chân robot theo chiều kim đồng hồ khởi đầu chân số 1 là chân
góc dưới bên trái, được trổ tài ở Hình 4.21:
3
4
5
2
1
6
Hình 4.20 Thứ tự các chân để điều khiển chuyển động tiến về phía trước
Giải thuật chuyển động tiến của robot gồm có hai pha chuyển động như sau:
Pha trước tiên 6 chân robot nhện cùng chạm đất, sau đó các chân 2, 4, 6 nâng lên khỏi
mặt đất, tiếp theo các chân 1, 3, 5 vẫy về phía sau có tác dụng đẩy thân về phía trước,
chân 2, 4, 6 tiếp tục vẫy về phía trước rồi chạm đất. Ở pha tiếp theo, các chân 1, 3, 5
được nâng lên, các chân 2, 4, 6 vẫy về phía sau có tác dụng đẩy thân về phía trước, các
chân 1, 3, 5 vẫy về phía trước rồi chạm đất hồn thành một chu kì chuyển động tiến
của robot.
Giải thuật chuyển động lùi trái lại với giải thuật chuyển động tiến của robot
được trổ tài ở Hình 4.21.
6
1
5
2
4
3
Hình 4.21 Thứ tự các chân để diều khiển lùi về phía sau
4.4.2 Giải thuật di chuyển sang trái hoặc sang phải cho robot
Giải thuật chuyển động sang trái, sang phải
Cách đi sang trái hoặc phải của robot gồm có hai chuyển động là chuyển động
quay sang trái hoặc sang phải 1 góc 90 0 và chuyển động tiến. Cách quay sang trái hoặc
phải được chia làm hai pha: pha thứ nhất nâng lên ba chân khỏi nền, tiếp theo ba chân
chạm đất sẽ vẫy một góc 45o theo chiều kim đồng hồ (nếu quay sang trái) và trái lại
vẫy một góc 45o theo chiều ngược kim đồng hồ (nếu quay sang phải). Sau thời điểm ba chân
chạm đất đã vẫy một góc 45o xong thì ba chân còn lại sẽ vẫy về chiều trái lại một
góc 45o, trong khi đó thân của robot sẽ quay sang trái hoặc phải được một nữa. Sau đó,
pha thứ hai các chân nâng lên được hạ xuống để nâng ba chân còn lại, tiếp theo ba
chân chạm đất sẽ vẫy tiếp một góc 45 o còn lại. Như vậy thân robot đã được quay sang
trái hoặc phải 1 góc 90o.
Hình 4.22 Giải thuật chuyển động sang phải
Trong số đó:
● Chân chạm đất
○ Chân khơng chạm đất
Dựa vào nền tảng phân tích và tìm hiểu giải thuật chuyển động thẳng để lập trình cho
robot chuyển động sang phải hoặc sang trái theo phương án cách đi tam giác thay đổi.
4.4.3 Lưu đồ giải thuật điều khiển bằng tay qua smartphone thông minh
Lưu đồ giải thuật PM công nghệ Bluetooth không dây RC Controller
Khởi đầu
Khởi tạo giao diện
S
Thơng báo và u cầu
bật bluetooth
Bật công nghệ Bluetooth không dây
Đ
S
Tìm kiếm HC05
Đ
S
Chuyển sang giao diện điềuĐ
khiển
Tiến
Trái
Lùi
Đ
Truyền kí tự F
Đ
Truyền kí tự B
Đ
Đ
Truyền kí tự L
Kết thúc
Dừng
Phải
Truyền kí tự R
Đ
Truyền kí tự S
Hình 4.23 Lưu đồ giải thuật điều khiển cưỡng bức bằng tay
Lưu đồ giải thuật PM điều khiển công nghệ Bluetooth không dây RC controller được trổ tài
ở Hình 4.23. Để truyền dữ liệu đến Arduino thông qua bluetooth cần sử dụng phần
mềm công nghệ Bluetooth không dây RC controller trên chiếc smartphone thông minh chạy trên hệ điều hành
android. Trước hết mở smartphone chọn PM công nghệ Bluetooth không dây RC controller, màn hình
xuất hiện giao diện và yêu cầu bật bluetooth smartphone. Sau thời điểm bật bluetooth điện
thoại xong thì ta kết nối với module blueooth HC05 với mật khẩu mặc định của
module bluetooth là “1234”. Sau thời điểm kết nối thành công sẽ chuyển sang giao diện điều
khiển rồi đợi sự kiện từ người điều khiển. Người điều khiển có thể gửi dữ liệu bằng
cách bấm chọn nút lệnh trên giao diện PM công nghệ Bluetooth không dây RC controller. Nếu người
dùng bấm nút lên thì PM rc controller sẽ truyền ký tự “F” sang HC05. Các nút
lùi, sang trái, sang phải, dừng cũng truyền tương tự như vậy nhưng khác ở ký tự truyền
lần lượt là “B, L, R, S”. Truyền xong tín hiệu thì chương trình sẽ kết thúc.
Lưu đồ giải thuật vi điều khiển Arduino Uno R3:
Khởi đầu
Khởi tạo USART PWM. IO
S
Nhận dữ liệu
Đ
S
S
S
Nhận ký tự F
Đ
Thực hiện lệnh tiến
Nhận ký tự B
Đ
Thực hiện lệnh lùi
S
Nhận ký tự L
Đ
Thực hiện lệnh qua
trái
S
Nhận ký tự R
Đ
Thực hiện lệnh qua
phải
Nhận ký tự S
Đ
Dừng chương trình
Kết thúc
Hình 4.24 Lưu đồ giải thuật của vi điều khiển
Lưu đồ giải thuật Arduino được trổ tài ở hình 4.24. Tín hiệu được truyền đến
Arduino và thực hiện các lệnh để di chuyển thông qua module bluetooth HC05. Trước
hết, ta cấp nguồn, khởi động và nạp code cho Arduino, khởi tạo UART, thiết lập vận tốc
truyền… Tín hiệu được truyền xuống thơng qua bluetooth là các ký tự: “F, B, L, R, S”
tương ứng với các chương trình con đã viết sẵn và nạp trong Arduino là: “tiến, lùi, trái,
phải, dừng”.
4.4.4 Lưu đồ giải thuật điều khiển tự động của robot nhện
Cơ chế điều khiển tự động của robot nhện
Khởi đầu
Khởi tạo USART PWM. IO
Gọi x là giá trị khoảng cách
nhận từ SRF-05
S
x <= 20
Thực hiện chương trình tiến
Đ
Thực hiện chương trình đi
rẽ phải
Kết thúc
Hình 4.25 Lưu đồ giải thuật điều khiển tự động
Ta để robot nhện chạy tự động thông qua chính sách kiểm tra của mạch cảm ứng
khoảng cách SRF05. Nạp các chương trình: tiến, lùi, trái tiến, phải tiến, dừng vào
board mạch Arduino, lập trình một lệnh IF vào chương trình. Khi cảm ứng SRF05 mang
tín hiệu vật cản phía trước cách 20cm thì robot nhện sẽ thực hiện lệnh phải, tiến để
tránh vật cản đó.
4.5 Khảo nghiệm sơ bộ vận hành robot nhện
Ta sắp xếp sơ đồ địa hình gồm có 3 vật cản và cho đi 2 chính sách điều khiển bằng tay
và điều khiển tự động. Tiến hành thực hiện chạy thử.
Tổng kết: Ở điều kiện bình thường như di chuyển trên mặt phẳng không quá trơn,
quá nghiêng, có thể kết nối được tín hiệu bluetooth và đi một qng đường khơng dài
thì robot nhện có thể vận hành được
Hình 4.26 Robot nhện hồn thành