Robot omni là một loại mobile robot di chuyển bằng những bánh xe đã được ứng dụng nhiều trong thực tế do quỹ đạo chuyển động của nó rất đa dạng.. Đặc biệt trong đó, omni với 3 bánh xe có
Trang 1pg 1
ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐH BÁCH KHOA
-
KHOA CƠ KHÍ BỘ MÔN CƠ ĐIỆN TỬ CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP - TỰ DO – HẠNH PHÚC NHIỆM VỤ ĐỒ ÁN MÔN HỌC Tên đề tài: Điều khiển robot omni tránh vật cản Giáo viên hướng dẫn: Nguyễn Thái Anh Tuấn Sinh viên thực hiện: Bùi Quốc Vũ MSSV: 20503575
Lê Nhật Toàn MSSV: 20502985 Ngày nhận đồ án:
Ngày hoàn thành đồ án:
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN:
Trang 2
ĐAMH: Điều khiển hệ thống Bộ môn: Cơ điện tử -
pg 2
Giáo viên hướng dẫn
Trang 3pg 3
NHẬN XÉT CỦA GIÁO VIÊN DUYỆT
Giáo viên duyệt
Trang 4ĐAMH: Điều khiển hệ thống Bộ môn: Cơ điện tử
-
pg 4
LỜI CẢM ƠN
Đồ án này được hoàn thành đánh dấu sự trưởng thành trong công việc học
tập tại trường Đại học Bách khoa Vì đây là đồ án đầu tiên chúng em làm nên
không tránh khỏi sự bỡ ngỡ cũng như còn rất nhiều sai sót Nhưng với sự giúp đỡ
tận tình của thầy cô, cùng sự đóng góp ý kiến của các bạn sinh viên, chúng em
đã có thể hoàn thành tốt đồ án này
Chúng em xin gửi lời cảm ơn chân thành đến các thầy cô trong bộ môn Cơ
điện tử, đăc biệt là thầy Nguyễn Thái Anh Tuấn đã tận tình hướng dẫn chúng
em thực hiện đề tài này Cảm ơn các bạn sinh viên lớp CK05LCD1 đã giúp đỡ
chúng em hết mình Và sự ủng hộ về tinh thần và vật chất của gia đình đã là
một sự ủng hộ to lớn để chúng em hoàn thành đồ án này
Nhóm sinh viên thực hiện Bùi Quốc Vũ Lê Nhật Toàn
Trang 5pg 5
TỔNG QUAN
Đồ án điều khiển thống 1 là đồ án đầu tiên của chương trình học, giúp sinh viên làm quen với môi trường làm việc độc lập hay theo nhóm với sự hướng dẫn định kỳ của giảng viên Vận dụng những kiến thức đã học, sinh viên thực hành đi vào giải quyết một vấn đề cụ thể
Robot omni là một loại mobile robot di chuyển bằng những bánh xe đã được ứng dụng nhiều trong thực tế do quỹ đạo chuyển động của nó rất đa dạng Đặc biệt trong đó, omni với 3 bánh xe có kết cấu lạ, nhưng chính vì thế sự phối hợp chuyển động của 3 bánh xe lại có thể cho ta điều khiển tốt quỹ đạo của robot
Trong đồ án này, ta sẽ điều khiển phối hợp 3 động cơ rc servo và 3 cảm biến hồng ngoại cho robot đi theo những quỹ đạo đơn giản và tránh chướng ngại vật Mục tiêu của đồ án giúp sinh viên làm quen với việc giải quyết một vấn đề nhỏ trong điều khiển cũng như làm quen với các thiết bị trong thực tế Từ đó, ta sẽ có kinh nghiệm giải quyết những vấn đề rộng và sâu hơn trong thực tế sau này…
Trang 6ĐAMH: Điều khiển hệ thống Bộ môn: Cơ điện tử -
pg 6
Sơ đồ phần cứng tổng quan của Robot omni
Trang 7Động cơ servo được thiết kế cho những hệ thống hồi tiếp vòng kín Tín hiệu ra của động cơ được nối với một mạch điều khiển Khi động cơ quay, vận tốc và vị trí sẽ được hồi tiếp về mạch điều khiển này Nếu có bầt kỳ lý do nào ngăn cản chuyển động quay của động cơ, cơ cấu hồi tiếp sẽ nhận thấy tín hiệu ra chưa đạt được vị trí mong muốn Mạch điều khiển tiếp tục chỉnh sai lệch cho động cơ đạt được điểm chính xác
Động cơ servo có nhiều kiểu dáng và kích thước, được sử dụng trong nhiếu máy khácnhau, từ máy tiện điều khiển bằng máy tính cho đến các mô hình máy bay
và xe hơi Ứngdụng mới nhất của động cơ servo là trong các robot, cùng loại với các động cơ dùng trong mô hình máy bay và xe hơi
2 Loại động cơ RC SERVO được sử dụng
Trang 8ĐAMH: Điều khiển hệ thống Bộ môn: Cơ điện tử -
pg 8
Ta sử dụng RC Servo của hãng Parallax, đây là sản phẩm lý tưởng để phục vụ cho các đồ án robot địi hỏi động cơ cĩ thể quay 360 độ Các thơng số kỹ thuật của động cơ như sau:
• Nguồn cấp tối đa 6v DC
• Điều chỉnh port bằng tay
Động cơ được điều khiển bởi xung vào dây tín hiệu
3 Điều khiển RC servo
Khơng giống động cơ DC ta chỉ cần lắp pin vào là chạy, động cơ servo địi hỏi một mạch điện tử chính xác để quay trục ra của nĩ Cĩ thể một mạch điện tử sẽ làm việc
sử dụng servo phức tạp hơn ở một mức độ nào đĩ nhưng thực ra mạch điện tử này rất đơn giản Nếu ta muốn điều khiển servo bằng máy tính hay bằng bộ vi xử lý thì chỉ cần một vài dịng lệnh là đủ
Một động cơ DC điển hình cần các transistor cơng suất, MOSFET hay relay nếu muốn kết nối với máy tính Cịn servo cĩ thể gắn trực tiếp với máy tính hay bộ vi xử
lý mà khơng cần một linh kiện điện tử nào cả Tất cà yếu tố cần thiết để điều khiển cơng suất đều được quản lý bởi mạch điều khiển để tránh rắc rối Đây là lợi ích chủ yếu khi sử dụng servo cho các robot điều khiển bằng máy tính hay vi điều khiển
Ở đây chúng ta sử dụng Vi điều khiển 8051 để tạo xung cho servo
Đối với loại RC servo trên thì ta cần cấp xung với tần số là f=50hz
Điểm trung hịa của Servo trên ( servo quay được 180 độ) đạt được khi ta cấp xung tích cực cao trong thời gian 1,5ms trên tồn bộ chu kỳ ( T= 20ms)
Trang 9pg 9
Nếu như ta cấp xung có thời gian mức tích cực cao it hơn 1,5ms ( Vd 1ms) thì động
cơ sẽ quay cùng chiều kim đồng hồ và nếu như thời gian tích cực cao lớn hơn
1,5ms ( VD 2ms) thì động cơ sẽ quay ngược chiều kim đồng hồ
Giản đồ
xung
Sơ đồ nguyên lý dùng 3 chân của Port 1 89C51 để cấp xung cho 3 động cơ
Trang 10ĐAMH: Điều khiển hệ thống Bộ môn: Cơ điện tử -
pg 10
CHƯƠNG 2: TÌM HIỂU VỀ HỌ VI ĐIỀU KHIỂN 8051
1 Giới thiệu về vi điều khiển và sơ đồ khối:
Vi điều khiển 8051 là một trong những vi điều khiển 8 bit thơng
dụng nhất hiện nay Bắt đầu xuất hiện vào năm 1980, trải qua gần 30 năm, hiện
đã cĩ tới hàng trăm biến thể (derrivatives) được sản xuất bởi hơn 20 hãng khác nhau, trong đĩ phải kể đến các đại gia trong làng bán dẫn
(Semiconductor) như ATMEL, Texas Instrument, Philips, Analog Devices… Tại Việt Nam, các biến thể của hãng ATMEL là AT89C51, AT89C52, AT89S51, AT89S52… đã cĩ thời gian xuất hiện trên thị trường khá lâu và cĩ thể nĩi
là được sử dụng rộng rãi nhất trong các loại vi điều khiển 8 bit Chương này sẽ tập trung mơ tả tương đối chi tiết cấu trúc bên trong của các biến thể nĩi trên (tạm gọi chung là AT89) của hãng ATMEL
Cấu trúc của AT89 ở dạng sơ đồ khối tổng quát
Trang 11pg 11
Cấu trúc bus
Bus địa chỉ của họ vi điều khiển 8051 gồm 16 đường tín hiệu (thường gọi
là bus địa chỉ 16 bit) Với số lượng bit địa chỉ như trên, không gian nhớ của chip
được mở rộng tối đa là = 65536 địa chỉ, tương đương 64K
Bus dữ liệu của họ vi điều khiển 8051 gồm 8 đường tín hiệu (thường gọi là bus
dữ liệu 8 bit), đó là lý do tại sao nói 8051 là họ vi điều khiển 8 bit Với độ rộng
của bus dữ liệu như vậy, các chip họ 8051 có thể xử lý các toán hạng 8 bit trong
một chu kỳ lệnh
CPU (Central Processing Unit)
CPU là đơn vị xử lý trung tâm, đó là bộ não của toàn bộ hệ thống vi điện
tử được tích hợp trên chip vi điều khiển CPU có cấu tạo chính gồm một đơn vị
xử lý số học và lôgic ALU (Arithmethic Logic Unit) - nơi thực hiện tất cả các phép
toán số học và phép lôgic cho quá trình xử lý
Bộ nhớ chương trình (Program Memory)
Không gian bộ nhớ chương trình của AT89 là 64K byte, tuy nhiên hầu hết các vi điều khiển AT89 trên thị trường chỉ tích hợp sẵn trên chip một
lượng bộ nhớ chương trình nhất định và chiếm dải địa chỉ từ 0000h trở đi
trong không gian bộ nhớ chương trình AT89C51/AT89S51 có 4K byte bộ nhớ
chương trình loại Flash tích hợp sẵn bên trong chip Đây là bộ nhớ cho phép
ghi/xóa nhiều lần bằng điện, chính vì thế cho phép người sử dụng thay đổi
chương trình nhiều lần Số lần ghi/xóa được thường lên tới hàng vạn lần
AT89C52/AT89S52 có 8K byte bộ nhớ chương trình cùng loại Bộ nhớ chương trình của các chip họ 8051 có thể thuộc một trong các loại:
ROM, EPROM, Flash, hoặc không có bộ nhớ chương trình bên trong chip
Tên của từng chip thể hiện chính loại bộ nhớ chương trình mà nó mang bên
trong, cụ thể là vài ví dụ sau:
Trang 12ĐAMH: Điều khiển hệ thống Bộ môn: Cơ điện tử -
pg 12
2 Ứng dụng vi điều khiển cho động cơ:
Sử dụng các Port Xuất nhập và một ngơn ngữ lập trình phù hợp với loại vi điều khiển ta sẽ điều khiển được động cơ
Các thơng số cần quan tâm khi điều khiển động cơ:
- Điện áp sử dụng
- Cơng suất làm việc
- Dịng khơng tải, dịng làm việc
- Tốc độ của động cơ
Các phưong pháp điều khiển động cơ:
a- Điều khiển ON/OFF
b- Điều khiển tốc độ động cơ
- Mạch cầu H:
- Mạch sử dụng 1 FET + 1 Relay
Ở đây, ta quan tâm đến các thơng số kỹ thuật của RC Servo sử dụng được nêu
ở phần trước Dùng TIMER để điều rộng xung, điều khiển động cơ quay như mong muốn
Trang 13
pg 13
CHƯƠNG 3 : TÌM HIỂU VỀ CẢM BIẾN HỒNG NGOẠI
1 Giới thiệu:
Cách đây vài năm ,nhiều loại cảm biến hồng ngoại đo khoảng cách đã được
Sharp giới thiệu Các cảm biến này được đóng góp nhỏ gọn ,tiêu thụ dòng rất ít,
và nhiều sự lựa chọn cho tín hiệu output
Trang 14ĐAMH: Điều khiển hệ thống Bộ môn: Cơ điện tử -
pg 14
2.Nguyên lý hoạt động
Trang 15pg 15
Với sự giới thiệu về cảm biến GP2DXX của Sharp ,một phương pháp mới được
sử dụng phát hiện vật thể ở khoảng cách xa hơn, và không bị ảnh hưởng nhiều của điều kiện ánh sáng xug quanh
Cảm biến hồng ngoại sử dụng phương pháp trắc đạt tam giác (triangulation) và một mảng CCD dài mỏng để tính toán khoảng cách và sự hiện diện của vật thể trong vùng quan sát
Ý tưởng cơ bản là : một xung của đèn IR được phát ra bởi đèn phát (emitter) Tia sáng này sẽ đi trong trường quan sát và hoặc là đụng vật thể ,hoặc là không đụng vật thể Trong trường hợp không gặp vật thể ,tia sáng sẽ không bao giờ phản hồi về và đọc là không có vật thể Nếu tia sáng phản xạ lại ,có vật thể Cảm biến sẽ thu và tạo ra một phép trắc đạc tam giác giữa 3 điểm : điểm phản
xạ ,điểm phát và điểm thu
3.Tín hiệu Output :
Tín hiệu Output không tuyến tính Bởi vì một vài phép lượng giác của tam giác trắc địa
Trang 16ĐAMH: Điều khiển hệ thống Bộ môn: Cơ điện tử -
pg 16
Đường cong quan hệ giữa khoảng cách và mức volt của GP2D12
Ở đây cĩ hai điều lưu ý trong đường cong quan hệ trên :
Đầu tiên ,tín hiệu output khoảng cách nằm giữa vùng từ 10 cm tới 80 cm thì khơng tuyến tính
Thứ hai là trên đường cong cĩ thể chia thành hai vùng ,một vùng nhỏ hơn 10
cm và vùng từ 10 cm tới 80 cm Hai vùng này đường đặc tuyến khác nhau Nĩ
cĩ thể gây ảnh hưởng đến robot của bạn nếu robot của bạn di chuyển chậm hoặc khi robot của bạn tiến lại gần vật thể Để tránh điều này cảm biến trên
robot bạn cĩ thể bố trí như hình dưới
Trang 17pg 17
Góc của chùm tia hơi nhỏ ,vì khoảng cách giữa con phát và thu nhỏ chỉ có 16
cm Nếu bạn muốn tăng góc mở , bạn có thể sử dụng kết hợp 2 cảm biến hồng ngoại như ví dụ ở hình dưới
Việc sử dụng GP2D12 được liên kết nối tới 3 dây Những kết nối này là :
Ground , Vcc và Output Cảm biến sẽ đo khoảng cách và xuất ra output dưới dạng mức volt analog Bởi vì việc thu ánh sáng xảy ra liên tục , không cần xung clock Nên tốn nhiều năng lượng ,và có thể ảnh hưởng đến các ngoại vi khác,
và bộ xử lý nếu trên robot có nhiều cảm biến này
Tín hiệu Output có những xung gai nhỏ nên cần có thêm tụ lọc giữa Output và Ground Thường lấy tụ 4,7μF
Trang 18ĐAMH: Điều khiển hệ thống Bộ môn: Cơ điện tử -
pg 18
Trang 19pg 19
Chương 4 : Phân tích động học và động lực học
Robot Omni
1 Phân tích động học Robot Omni 3 Bánh
Mô hình hóa robot omni như hình vẽ trên
3 bánh xe robot được bố trí tiếp tuyến với 1 đường tròn bán kính Ro và lệch nhau 1 góc 120 độ
3 Cảm biến hồng ngoại được đặt tại 3 dây cung của đường tròn trên cũng được bố trí lệch nhau 1 góc 120 độ
Trang 20ĐAMH: Điều khiển hệ thống Bộ môn: Cơ điện tử -
Ví dụ : cho 2 bánh xe W1 và W2 cùng quay theo phương như hình vẽ thì
robot sẽ chuyển động tịnh tiến như trên Với R là bán kính của bánh xe
Omni
Giả sử 2 bánh xe cùng quay với vận tốc gĩc là ω ( 2 bánh quay cùng phương ở đây nghĩa là 2 bánh phải quay ngược chiều nhau ) cĩ vecto vận tốc dài V W2và V W1 như hình vẽ
Tổng hợp 2 chuyển động trên ta cĩ vecto chuyển động tịnh tiến V tt của robot
Trang 21pg 21
Quan hệ hình học cho ta được : V tt =2V W1cosϕ =2V W2cosϕ =2ω Rcos30° (1)
Chuyển động xoay : Khi cho 3
bánh xe chuyển động cùng chiều
nhau thì sẽ làm cho robot chuyển
động xoay
Trang 22ĐAMH: Điều khiển hệ thống Bộ môn: Cơ điện tử -
pg 22
2 Phân Tích Động lực học Robot Omni
Trang 23Giả sử khối tâm của robot đặt tại tâm hình học của robot ta có gia tốc tịnh tiến a và gia tốc góc
Dấu của f f1, 2, , f n có thể là âm hoặc dương phụ thuộc vào chiều quay của motor
Phân tích gia tốc của robot trên hai trục Ox và Oy, ta được:
1 1 2 2
M a = −f θ − f θ − − f θ
Trang 24ĐAMH: Điều khiển hệ thống Bộ môn: Cơ điện tử -
I = M R , momen quán tính đối với một hình trịn đồng chất là: 2
3 ROBOT TRONG KHƠNG GIAN PHẲNG:
Chúng ta cĩ thể tính được vận tốc cuối cùng của các bánh robot, và vận tốc của robot trên mặt phẳng bằng cách mơ tả các phương trình chuyển động của robot theo thời gian Khi xét robot trong khơng gian phẳng, chúng ta cĩ thể tính được quỹ đạo của robot và chúng
ta cĩ thể đạt được điều này bằng cách phân tích vận tốc của các bánh xe robot
Trang 25độ lớn là cosθ i
Sự quay của bánh lớn và bánh nhỏ trong khi robot chuyển động theo phương ngang với vận tốc là 1, lúc này
bánh lớn quay với vận tốc là −sinθ i, và bánh nhỏ quay với vận tốc là cosθ i
Tính toán tương tự khi robot chuyển động theo phương y và không quay, với vận tốc là (0,1, 0)T Lúc này bánh lớn quay với vận tốc là cosθ i và bánh nhỏ quay với vận tốc là
Trang 26ĐAMH: Điều khiển hệ thống Bộ môn: Cơ điện tử -
n
v v m v
n
f f
khi biết vận tốc của từng bánh robot, bằng cách nhân hai vế của phương
trình (*) với ma trận nghịch đảo D−1, ta sẽ xác định được vecto vận tốc của robot như sau:
Trang 27L L L , thì ta có thể chuyển đổi các phương trình như sau:
Mối quan hệ giữa lực tác dụng lên mỗi bánh xe robot và gia tốc của robot như sau:
a=C f α hay
.
x y
a a
n
f f
f =C α− a hay
1 2
n
f f
a a
n
v v
v v ω
v v ω
n
v v
Trang 28ĐAMH: Điều khiển hệ thống Bộ môn: Cơ điện tử -
pg 28
Kết Luận: Chúng ta cĩ thể điều khiển chính xác robot bằng phương pháp được giới thiệu ở phần trên nếu nhưng khơng kể đến ảnh hưởng của ma sát trượt Nếu cĩ ma sát trượt sẽ xảy ra những sai lệch tọa độ ngồi ý muốn và ta cĩ thể tránh được hiện trượng này bằng cách theo dõi vận tốc của mỗi bánh để cĩ thể kiểm sốt được sự trượt cĩ xảy
ra hay khơng và hiệu chỉnh hợp lý
Trang 29pg 29
CHƯƠNG 5 : Điều khiển chuyển động của Robot Omni
Điều khiển Servo:
Ở đây loại servo sử dụng là loại RC servo do đó mối quan hệ giữa đại lượng vào (
Xung PWM) và đại lượng ra ( Servo Speed) không quan hệ tuyến tính nên sẽ gấy khó khăn cho quá trình điều khiển đặc biệt là khi điều khiển robot chuyển động tịnh tiến , khi
đó 2 động cơ quay ngược chiều nhau và PWM của 2 servo lại khác nhau về hệ số duty trên 1 chu kỳ 20ms và đặc biệt là việc chọn hệ số duty cho 2 servo phải hiệu chỉnh sao cho thỏa mãn :
- Cả 2 động cơ xoay ngược chiều
- Tốc độ xoay gần bằng nhau để tạo thành vecto tịnh tiến thẳng , không có chuyển động quay
Theo thực nghiệm chúng ta chọn thời gian ở mức high cho servo quay thuận là
1350 trên toàn bộ chu kỳ là 20ms và cho servo quay nghịch là 2ms trên toàn bộ chu
kỳ 20ms
Khi điều khiển robot xoay tròn thì cả 3 bánh quay cùng chiều với cùng tốc độ do đó đạt
về sự đồng bộ và ổn định hơn Do đó chúng ta chọn thời gian cho quay
Ở đây chúng ta sử dụng 2 vi điều khiển 89C51 để điều khiển robot 1 vi điều khiển chuyên điều khiển động cơ (master) và 1 vi điều khiển dùng cho việc quét các tín hiệu hồng ngoại (slave )và xuất ra tín hiệu cho VDK Master biết
Tùy thuộc vào mục đích sử dụng robot nên sẽ có nhiều phương án để điều khiển robot Ở đây chúng ta xem xét đến 2 phương án tiêu biểu :
Phương án 1 : Điều khiển robot chỉ đơn thuần là né tránh vật cản trên đường di chuyển
Ở phương án này chúng ta chỉ đơn thuần là điều khiển robot né vật cản dựa vào tín hiệu hồng ngoại đưa vào VDK slave Dó đó để đơn giản hóa mạch ta sử dụng chế độ khóa của transistor NPN Nhắc lại về chế độ khóa của transistor NPN :