You are on page 1of 23

Ứng dụng thị giác máy tính cho Mobile robot phục vụ

Tổng quan
The use of mobile robots is growing very rapidly in numerous applications such as planetary exploration, police operations,
military operations, hazardous site exploration
Mục tiêu: nghiên cứu, thử nghiệm giải thuật; xây dựng mô hình mobile robot ứng dụng thị giác máy tính
có thể:

- Phát hiện người (đối tượng chính), vật cản (để không bị va chạm).

- Xác định chiều cao người.

- Tự động xoay vật phẩm về chiều người nhận.

- Nhận biết người đã lấy đủ vật phẩm cần thiết và rời đi.

Phạm vi đề tài, phương hướng thực nghiệm

Sử dụng 2 hàng cảm biến dò line để có thể lấy được góc lệch giữa line và robot
Tổng quan

Phân loại mobile robot

chúng được phân loại theo môi trường làm việc và phương thức di chuyển.

Có nhiều loại robot di động khác nhau, chúng được phân loại theo môi trường làm việc và phương thức
di chuyển. Dựa vào môi trường mà làm việc, có thể phân loại robot di động thành [1]:

Robot mặt đất hoặc robot gia dụng: chúng có nhiều bánh xe, nhưng cũng bao gồm robot chân với hai
hoặc nhiều chân hơn (giống người, động vật hoặc côn trùng như hình 1.1)

― Robot trên không: thường được mệnh danh là phi thuyền không gian không người điều khiển (UAVs).

― Robot dưới nước: thường được gọi là phi thuyền dưới nước tự điều khiển. Dựa vào cách di chuyển
(đây loại chủ yếu), robot di động có thể được phân loại thành:

― Robot di chuyển bằng chân: chuyển động nhờ các chân cơ khí bắt chước chuyển động giống như chân
người hoậc chân động vật. Loại robot này có thể di chuyển rất tốt trên các định hình lồi lõm phức tạp.

― Robot di chuyển bằng bánh: loại này thực tế hơn, chúng làm việc tốt trên hầu hết các địa hình do con
người tạo

Các nghiên cứu, sản phẩm đã có

Robot vận chuyển T6

Thông qua sự điều phối thông minh của hệ thống giao tiếp do Nhà sản xuất KEENON tự phát triển,
Robot T6 có thể thực hiện việc thiết lập lịch trình phân tán dựa trên công nghệ Trí Thông minh Nhân
tạo (AI), đảm bảo sự hợp tác của nhiều Robot cùng lúc với nhau và liên tục tối ưu hóa năng suất
chuyên chở, do đó cải thiện hiệu quả phân phối tổng thể giữa các Robot.
Thông số kỹ thuật:

Kích thước: 519 x 531 x 1.256 mm

Tải trọng: 40Kg (10kg/tầng)

Chiều rộng lối đi tối thiểu: 70 cm

Tốc độ di chuyển: 0 – 1.2m/s

Thời lượng pin: 12h

Hướng di chuyển: 1 chiều

Khả năng xoay: 360 độ

Hệ điều hành: Android

Robot Keenon S-100

Keenon S-100 là một loại robot mới được dùng chủ yếu để vận tải các đồ vật trong công nghiệp.

Kích thước: 925mm*620mm*1282mm

Tải trọng: 100Kg

Chiều rộng lối đi tối thiểu: 90 cm

Tốc độ di chuyển: 0 – 1.2m/s

Thời lượng pin: 8h

Hướng di chuyển: 1 chiều

Khả năng xoay: 360 độ


Restaurant Serving Robot with Double Line Sensors Following Approach

Thông số kỹ thuật

Kích thước: 400mm*300mm*1300mm

Tải trọng: 20Kg

Chiều rộng lối đi tối thiểu: 90mm

Tốc độ di chuyển: 0.4 m/s

Thời lượng pin: 5h


Hướng di chuyển: 1 chiều

Khả năng xoay: 360 độ

Ưu điểm:

Nhược điểm:

Khác

Sử dụng 2 hàng sensor để detect được góc lệch giữa line và robot thay đồng thời giữ được độ ổn định
khi vào cua ở phần trước và phần sau của robot.

Đầu bài
Lựa chọn phương án

Tiêu chí lựa chọn vi điều khiển:

- Đáp ứng yêu cầu về PWM, UART, INT, TIMER.

- Hỗ trợ thư viện ROS.

ESP32-DevKitC V4

Thông số ESP32-DevKitC V4
CPU 32 bit, 240Mhz
Flash
RAM
Số chân INT
Số chân PWM
UART 3
Thư viện ROS
Cấp nguồn 3V3
Giá thành

STM32F103C8T6
Thông số Stm32f103c8t6
CPU 32 bit, 72Mhz
Flash 64KB
RAM 20KB
Số chân INT 16
Số chân PWM 15
UART 3
Thư viện ROS Có
Cấp nguồn 3V3
Giá thành 175.000 VND

Atmega328p
Thông số ATmega328p
CPU 8-bit,16MHz
Flash 32KB
RAM 2KB
Số chân INT 2
Số chân PWM 6
UART 1
Thư viện ROS Có
Cấp nguồn 5V
Giá thành 240.000 VND
Tiêu chí lựa chọn driver động cơ GA25

- Đảm bảo quan hệ giữa xung PWM và tốc độ động cơ sắp xỉ tuyến tính.

- Điện áp đầu ra phải lớn hơn điện áp và dòng điện của động cơ (12V)

L298N
L298N là một package tích hợp đa công suất 15W có khả năng cấp điện áp cao cho động
cơ DC. Là IC điều khiển full-bridge kép có dòng điện cao được thiết kế để nhận tín hiệu
chuẩn logic TTL. Có thể điều khiển tải cảm, ví dụ như rơ le, van điện từ, động cơ (DC và
động cơ bước)
Thông số Giá trị
Điện áp điều khiển +5V ~ +12V
Dòng tối đa 2A
Điện áp của tín hiệu +5V ~ 7V
Dòng của tín hiệu 0 ~ 36mA

TB6612
Driver hỗ trợ 2 cầu H có thể dùng cho hai động cơ DC hoặc một động cơ bước
Thông số Giá trị
Điện áp điều khiển Max 15V DC
Dòng tối đa 3.2A
Dòng ngõ ra liên tục 1.2A
Điện áp cung cấp 2.2 ~ 5.5V
Bánh xe
Yêu cầu đưa ra là lựa chọn bánh xe có khả năng chịu tải tốt do đó nhóm chọn bánh xe
V2.
Tiêu chí lựa chọn
- Thay đổi hướng dễ dàng
- Giá thành.
Thông số kỹ thuật

- Chất liệu: Nhựa


- Đường kính bánh xe: 65 mm
- Độ rộng bánh xe: 27 mm
- Khối lượng: 40 g

Máy tính nhúng


TRÁNH VẬT CẢN CHO ROBOT DI ĐỘNG BẰNG PHƯƠNG PHÁP TRƯỜNG THẾ NĂNG

giải thuật Bug, phương pháp cửa sổ động

Mô phỏng robot hoạt động trong môi trường có vật cản trên Player/ Stage chạy trên nền Linux

Thuật toán Bug

Khi gặp vật cản robot sẽ đi theo đường bao của vật cản và xem robot như một điểm hoạt động trong
mặt phẳng, di chuyển từ s (Điểm xuất phát) đến g (Đích đến). Với Bug 1 khi robot tìm thấy được vật cản
Oi thì robot làm một đường bao kín quanh nó, bắt đầu tại một điểm va chạm Hi . Đường bao này nhằm
để ước lượng điểm có khoảng cách Li ngắn nhất tới mục tiêu. Sau đó robot tiếp tục di chuyển theo
đường bao cho đến khi nó tìm thấy điểm đó lần nữa kể từ lúc nó rời khỏi dọc theo đường đi thẳng đến
đích. Li được gọi là điểm rời khỏi. Quá trình được lặp lại khi phát hiện vật cản mới.

Hình dưới mô tả đường đi của robot để tránh vật cản theo thuật tóan Bug 1 với hai vật cản O1 và O2 ;
slà điểm xuất phát; g là đích đến; H1 và H2 là điểm va chạm; L1 và L2 là điểm rời khỏi.

Bug 2 có thời gian di chuyển ngắn hơn và hiệu quả hơn Bug 1.

Tuy nhiên có những tình huống làm nó trở nên không tối ưu. Phương pháp này có hạn chế là chuyển
động của robot tại một thời điểm chỉ phụ thuộc vào giá trị đọc của cảm biến gần nhất. Vì vậy, có thể
dẫn đến những vấn đề không mong muốn và những vấn đề chưa dự phòng khi những cảm biến không
cung cấp đủ thông tin, khi đó phương pháp này không cho kết quả tốt.
Phương pháp cửa sổ động

Trong phương pháp này, các ràng buộc về động học của robot được xét đến bằng cách xác định vận tốc
cho robot một không gian tốc độ (v , ω). Không gian tốc độ này là tập hợp tất cả các giá trị (v , ω) mà
robot có thể đạt được trong lúc di chuyển

Với vận tốc tức thời của robot, ta có một cửa sổ động của tất cả các vận tốc mà robot có thể thực hiện ở
chu kỳ điều khiển kế tiếp. Sau đó, kích thước của cửa sổ động được giảm xuống bằng cách loại bỏ các giá
trị vận tốc mà robot có thể chạm vật cản, các giá trị vận tốc còn lại được gọi vận tốc cho phép.

Nhược điểm: Chi phí tính toán cao.

Phương pháp trường thế năng


Trong phương pháp này, vật cản tác dụng một lực đẩy vào robot, trong khi đó đích sẽ tạo ra một lực hút
đến robot.

Nếu vật cản mới xuất hiện trong suốt quá trình chuyển động của robot thì trường thế năng có thể cập
nhật để tổng hợp những thông tin mới này. Tổng của tất cả các lực này tạo ra một lực tổng hợp. Lực
tổng hợp này quyết định đến hướng và tốc độ của robot (tìm vị trí mới cho robot).

Trong trường hợp đơn giản nhất, chúng ta giả định rằng robot là một điểm, vì vậy định hướng θ của
robot được bỏ qua và kết quả trường thế năng chỉ còn 2 D(x , y ). Nếu chúng ta giả định hàm trường
thế năng U (q) khả vi thì chúng ta có thể tìm thấy lực nhân tạo F(q) tác động tại vị trí của robot q (x , y )
:

F ( q )=−∇ U (q)

[]
∂U
x
với ∇ U (q) là vectơ gradient của U tại vị trí q: ∇ U (q)=
∂U
y

Trường thế năng hoạt động trong robot thì được tính bằng tổng trường thế hút của mục tiêu và trường
thế đẩy của vật cản:

U ( q )=U h ( q )+U đ ( q )

Trong đó:

U h (q): Trường thế năng hút; U đ (q ): Trường thế năng đẩy.

Tương tự lực cũng được tách ra thành lực hút và lực đẩy: U ( q )=F h ( q ) + F đ ( q )=−∇ U h ( q )−∇ U đ (q )

1/ Trường thế hút

Thế hút U h (q) được xác định như một hàm bậc 2:

1 2
U h ( q )= . k h . ρgoal (q)
2
k h: Hệ số tỉ lệ (dương)

ρ goal: Khoảng cách euclid từ vị trí tức thời (vị trí q ) của robot đến đích (vị trí q goal )

Hàm U h (q) có thể dương hoặc âm và đạt nhỏ nhất tại vị trí đích: U h ( q goal )=0

Lực hút được suy ra từ giá trị U h (q)

1 2 −1
F h ( q )=−∇ U h ( q )=−∇ . k h . ρ goal ( q )= .k h .2 ρgoal ( q ) . ∇ ρ goal ( q ) =−k h . ρgoal ( q ) . ∇ ρgoal ( q )
2 2
q−q goal
Với ∇ ρgoal ( q )=
ρgoal ( q )
F h ( q )=−k h .(q−q goal )

Hàm thế năng bậc 2 cho đặc tính ổn định tốt. Nó tạo ra lực hút F h (q) hội tụ tuyến tính về 0 khi robot
gần mục tiêu. Mặt khác, F h (q) tăng khi khoảng cách đến mục tiêu tăng và cuối cùng tiến đến vô cùng
khi ρ goal (q )→ ∞

Trường thế đẩy

Ý tưởng của thế đẩy là tạo một lực từ tất cả những vật cản đã biết, thế đẩy này sẽ rất lớn khi robot gần
chạm vật cản, nhưng sẽ không ảnh hưởng đến chuyển động của nó khi robot ở xa vật cản.

Điều kiện này có thể đạt được hàm thế đẩy như sau:

{ ( )
1 1 1
kđ . − Nếu ρ ( q ) ≤ ρ0
U đ ( q )= 2 ρ ( q ) ρ0
0 Nếu ρ(q )≥ ρ0

k đ : Hệ số tỉ lệ dương.

ρ(q): Khoảng cách đến vật cản.


ρ0 : Khoảng cách ảnh hưởng của vật cản (Hằng số dương).

Hàm thế đẩy là hàm dương hoặc bằng 0 và tiến đến vô cùng khi q -> đối tượng.

Nếu đường bao của đối tượng là lồi và vi phân từng phần được, ρ(q) vi phân được tại mọi điểm trong
không gian cấu hình tự do. Công thức để tính lực đẩy gây ra bởi một vật cản:

{ ( )
1 1 q−q obstacle
−k đ . − . Nếu ρ ( q ) ≤ ρ0
F đ ( q )=−∇ U đ ( q ) ρ ( q ) ρ0 ρobstacle ( q )
0 Nếu ρ ( q ) > ρ0

Với:

q obstacle: Vị trí vật cản.

ρobstacle ( q ): Khoảng cách đến vật cản tại thời điểm tức thời.

Mỗi vật cản được phát hiện bởi cảm biến sẽ gây ra một lực đẩy, vì vậy kết quả lực đẩy ảo cuối cùng là
tổng của trường thế đẩy được tạo ra bởi mỗi cảm biến độc lập.

Ưu điểm: Nhanh chóng, kết quả chấp nhận được, đơn giản, hiệu quả.

Nhược điểm:

Vị trí bẫy hay cực trị địa phương: khi robot di chuyển vào điểm chết (điểm cụt) tạo ra từ hình dạng của
vật cản (Ví dụ vật cản hình chữ U).
-Không có lối đi giữa những vật cản gần nhau.

Thiết kế cơ khí

Kết cấu cơ khí

Packbot
Chaos
Giả sử tổng khối lượng của robot và thực phẩm được chất lên bốn bánh của robot.

Tính toán công suất được tạo ra bởi mô-men xoắn do lực ma sát gây ra:

Pms=F C ×v =m× g × f ms × v × k
- Pms: power caused by moment of resistance.
- Fc: resistance
- v: tốc độ robot
- m: Khối lượng robot
- g: gia tốc trọng trường
- fms: hệ số ma sát
- k: Hệ số an toàn

Từ tính toán, ta chọnd dộng cơ với các thông số sau:

- Power consumption: 12VDC


- Motor power: 30W
- Speed of rotation: 120 rev/min
- Weight: 550g

Cơ cấu nâng hạ
Thiết kế mạch

STM32 (1): điều khiển 2 động cơ, di chuyển robot

STM32 (2): nhận diện chiều cao người

Nguồn điện: pin 12V-12A được điều chỉnh thành 12V-5A sử dụng chip LM2596 và 5V-2A sử dụng chip
LM2576.

Module RF để điều khiển robot về vị trí chờ


ROS

Lợi ích:

Ros cung cấp môi trường mô phỏng thử nghiệm trước khi áp dụng vào robot. Giúp giảm thiểu rủi ro
và chi phí cho việc phát triển robot

cung cấp một loạt các gói phần mềm được xây dựng sẵn để hỗ trợ việc lập trình robot, bao gồm các gói
liên quan đến điều khiển chuyển động, cảm biến và truyền thông.

ROS có những đặc tính thiết yếu của một hệ điều hành như khả năng thực hiện các tác vụ (task) song
song, giao tiếp, trao đổi dữ liệu với nhau giữa các tác vụ, quản lý dữ liệu.

Lợi ích so với bộ điều khiển khác:

Tính mở rộng: Việc tích hợp các phần mềm vào Ros dễ dàng dẫn đến việc dễ phát triển ứng dụng điều
khiển robot về sau.

Độ chính xác cao: ROS được thiết kế để đảm bảo tính chính xác cao trong việc điều khiển robot.

ROS là một lựa chọn tốt cho việc điều khiển robot, đặc biệt là khi bạn muốn mở rộng và phát triển ứng
dụng robot của mình.

Cấu trúc mô hình ROS

Filesystem

Computing graph

Community
Bộ điều khiển PID

Thuật toán PID được sử dụng rộng rãi trong các hệ thống điều khiển tự động. Thuật toán này cố gắng
sửa các lỗi giữa giá trị đo thực tế và giá trị mong muốn bằng cách tính toán và xuất các giá trị hiệu chỉnh
mà hệ điều hành được hiệu chỉnh từ đó.

Việc sử dụng thuật toán PID giúp bộ điều khiển đạt được hiệu quả mong muốn với thời gian đáp ứng
nhanh và độ ổn định cao

Bộ điều khiển On-off

Khi robot lệch phải đường line thì động cơ bên trái sẽ tắt trong khi động cơ phải vẫn hoạt động bình
thường để đưa robot về vị trí line.

Ưu điểm:

đơn giản

Nhược điểm:

Robot di chuyển không được mượt mà, ổn định.

Tốn nhiều năng lượng.

Hàm truyền tốc độ góc của động cơ robot theo lượng điện áp đầu vào và mômen quán tính của robot
như sau

G=¿
Tài liệu tham khảo

1/ Tránh Vật Cản Cho Robot Di Động Bằng Phương Pháp Trường Thế Năng

You might also like