Mạch nguyên lí bộ điều khiển từ xa RF 433Mhz

Một phần của tài liệu (TIỂU LUẬN) LUẬN văn tốt NGHIỆP THIẾT kế ROBOT DIỆT KHUẨN BẰNG TIA UV tự HÀNH (Trang 36)

Bộ điều khiển được tích hợp 4 phím điều hướng cùng với phím điều khiển chức năng như bật tắt đèn UV và 2 phím có thể mở rộng. Đồng thời bộ điều khiển cũng được tích hợp thêm các led và buzzer báo trạng thái.

Bộ điều khiển sử dụng nguồn chính từ pin Lithium-Ion 18650 có thể sạc lại thông qua cổng micro USB nên rất tiện để sử dụng.

3.2.7 Lp ghép các b phn vào khung Robot UV

Hình 3-22: Lp b truyền động chính, 2 bánh thđộng,

3.2.8 Hoàn thin Robot UV

3.3 Thiết đặt ban đầu cho Raspberry Pi 3 Model B +

3.3.1 Cài đặt hđiều hành Ubuntu 18.04 Mate vào Raspberry Pi 3

ROS chỉ hỗ trợ một số hệ điều hành nhất định trên Raspberry Pi 3 B+ và tương ứng với mỗi hệ điều hành sẽ chỉ tương thích với một ROS Distribution nên việc lựa chọn hệ điều hành cho Raspberry Pi phải được cân nhắc.

Trong số đó thì Ubuntu Mate 18.04 Mate được hỗ trợ khá nhiều chức năng và dễ tiếp cận cho những người dùng mới.

Hình 3-26: Hđiều hành Ubuntu Mate 18.04 cho Raspberry Pi

Để cài đặt hệ điều hành cho Raspberry Pi, ta sẽ cần:

- Phần mềm Win32 Disk Imager (WDI). Có thể download WDI tại đây: http://sourceforge.net/projects/win32diskimager/

- Một thẻ nhớ MicroSD tối thiểu 8GB class 10 trở lên để có dung lượng đảm bảo và tốc độ tốt nhất.

Các bước cài đặt hệđiều hành cho Raspberry Pi:

- Bước 1: Chèn thẻ MicroSD vào đầu đọc thẻ ở máy tính và kiểm tra tên ổ được gán cho thẻ nhớ (ví dụ ổ H:), tránh nhầm ổ dẫn đến mất dữ liệu vì phần mềm sẽ format thẻ.

- Bước 2: Mở phần mềm Win32DiskImager, phần mềm này chỉ cần download về rồi chạy mà không cần cài đặt.

- Bước 3: Lựa chọn file hệ điều hành Ubuntu Mate 18.04 đã tải về. (Lưu ý, hệ điều hành cần phải ở định dạng .img. Thông thường, hệ điều hành của RPI được nén dưới dạng .zip hoặc .tar.gz, … Khi tải về cần giải nén nó ra để có file hệ điều hành dạng .img). Sau đó lựa chọn ổ thẻ nhớ cần ghi.

- Bước 4: Cuối cùng bấm Write và chờ đợi q trình ghi hồn tất.

Sau khi cài đặt thành công hệ điều hành Ubuntu Mate 18.04 cho Raspberry Pi ta cắm màn hình, bàn phím và chuột vào để tiến hành thiết lập ban đầu cho Raspberry Pi như ngày giờ, ngôn ngữ, tài khoản, mật khẩu, kết nối wifi, cập nhật một số gói cài đặt ban đầu,…

3.3.2 Cài đặt hđiều hành robot ROS Melodic vào Raspberry Pi 3

Hệ điều hành Ubuntu Mate 18.04 trên Raspberry chỉ tương thích với ROS Melodic Distribution bản được phát hành vào ngày 23/5/2018.

Trên Raspberry Pi tiến hành mở terminal và thực hiện tuần tự các bước: - Thiết đặt để Raspberry Pi chấp thuận việc cài đặt từ packages.ros.org:

- Cài đặt key:

- Cập nhật lại Raspberry:

- Cài đặt ROS Melodic:

- Cài đặt môi trường cho ROS:

- Cài đặt rosdep package để sử dụng các công cụ trong ROS Melodic:

Với các bước trên ta đã hoàn thành việc cài đặt hệ điều hành robot ROS Melodic vào Raspberry Pi tiếp đến để có thể tải và build các package chức năng về để thiết lập cho robot thì ta cần thiết lập thêm catkin workspace để hỗ trợ:

Như vậy ta đã hoàn thành việc cài đặt hệ điều hành Ubuntu Mate 18.04 và ROS Melodic cho Raspberry. Tiếp đến để xây dựng các chức năng cho Robot UV ta có thể tạo các package mới hoặc tải các package cần dùng về và sử dụng công cụ catkin để build và sử dụng.

$ sudo sh -c'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc)main" > /etc/apt/sources.list.d/ros- latest.list'

$ sudo apt-key adv -

keyserver'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

$ sudo apt update

$ sudo apt install ros-melodic-desktop-full

$ echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc source ~/.bashrc

$ sudo apt install python-rosdep

$ sudo sudo rosdep init

$ rosdep update

$ mkdir -p ~/catkin_ws/src $ cd ~/catkin_ws/

$ catkin_make

3.3.3 Cài đặt hđiều hành Ubuntu 18.04 và ROS Melodic vào laptop

Để có thể giao tiếp ROS giữa Raspberry Pi và laptop ta cần cài đặt Ubuntu 18.04 Bionic Desktop và cả ROS Melodic trên laptop.

Hình 3-27: Mơ hình ROS Multi-Machine

Raspberry Pi và laptop được kết nối chung 1 mạng LAN, tại đây mơ hình ROS Multi-Machine được khởi động để trao đổi dữ liệu giữa 2 thành phần thông qua 1 wireless router.

3.4 Sơ đồ khi hoạt động ca Robot UV

Hình 3-28: Sơ đồ khi hoạt động ca Robot UV

Sơ đồ khối hoạt động của Robot UV được chia ra làm 2 tầng độc lập giao tiếp với nhau thông qua đường truyền UART:

- Tầng trên là tầng thu thập dữ liệu môi trường và xử lý của Raspberry để tạo bản đồ, điều hướng, dẫn đường cho Robot UV.

- Tầng dưới là MSP430G2553 nhận lệnh từ Raspberry gửi xuống và lệnh từ RF 433Mhz để xử lý, điều khiển 2 bánh động lực và đèn UV.

Wireless Router Robot 192.168.10.3/24 Laptop 192.168.10.8/24 192.168.10.0/24

3.5 Nguyên lí hoạt động chi tiết ca Robot UV

3.5.1 Tng x lý ca Raspberry và RPLidar A1M8

Hình 3-29: Tng x lý ca Raspberry và RPLidar A1M8

Tại đây dữ liệu cảm biến RPLidar A1M8 sẽ được đưa vào ROS để xây dựng bản đồ, các tiến trình trong ROS được thực hiện dựa trên 8 ROS package chính bao gồm:

- Package rplidar_ros: Đọc dữ liệu cảm biến RPLidar A1M8. - Package gmapping và laser_scan_matcher: Xây dựng bản đồ 2D. - Package map_server: Tổ chức lưu trữ các bản đồ đã xây dựng.

- Package amcl, move_base và dwa_local_planer: Xác định vị trí, điều hướng, dẫn đường tránh vật cản cho Robot UV.

- Package test_serial: Đóng khung, định dạng dữ liệu (𝑣, 𝜔) nhận từ ROS gửi xuống vi điều khiển MSP430G2553.

Cuối tiến trình xử lý của các package trong ROS ta được dữ liệu là vận tốc thẳng và vận tốc xoay (𝑣, 𝜔) của Robot UV. Sau đó cặp vận tốc này được gửi xuống vi điều khiển MSP430G2553 thông qua package test_serial và bộ chuyển đổi USB-UART. Tần số cập nhật (𝑣, 𝜔) gửi xuống vi điều khiển là 1Hz.

Đồng thời ROS cũng gửi dữ liệu giao diện hiển thị bản đồ, điều khiển đến laptop thông qua router.

Sau khi khởi động Raspberry Pi ta tiến hành các bước tuần tự:

- Kết nối Raspberry và laptop vào chung mạng LAN sau đó tiến hành ssh đến Raspberry Pi, trên laptop chạy Ubuntu 18.04 gõ:

- Truy cập đường dẫn vào workspace của Robot UV:

- Kiểm tra kết nối USB – UART và USB của cảm biến Lidar sau đó chuyển sang chếđộ đọc ghi.

- Khởi chạy package test_serial để bật đường truyền UART:

- Mở thêm 1 terminal mới sau đó ssh đến Raspberry và khởi chạy package teleop để điều hướng Robot UV từ bàn phím trên laptop:

- Mở thêm 1 terminal mới sau đó ssh đến Raspberry và khởi chạy package intergation tiến hành xây dựng bản đồ:

- Trên Ubuntu Desktop mở 1 terminal khởi động ROS Multi-Machine để kết nối đến Raspberry:

- Sau đó mở trình Rviz lên và điều hướng Robot UV để lập bản đồ:

- Sau khi xây dựng hoàn thiện bản đồ, tiến hành save bản đồ lại và bản đồ vào Navigation package để điều hướng tự động Robot UV:

- Khởi chạy package Navigation để tiến hành điều hướng và dẫn đường tự động cho Robot UV:

- Tiếp tục mở trình Rviz lên và điều hướng Robot UV tụ động: $ ssh yoy@192.168.10.8

$ cd duong_khin_ws

$ ls –l /dev|grep ttyUSB $ sudo chmod 777 /dev/ttyUSB0 $ sudo chmod 666 /dev/ttyUSB1

$ roslaunch test_serial serial.launch

$ roslaunch test_serial teleop.launch

$ roslaunch integration integation.launch

$ source pi_setup.bash

$ rviz

$ rosrun map_server map_saver -f

/home/yoy/duong_khin_ws/src/navigation/map/[map_name]

$ roslaunch navigation navigation.launch

3.5.2 Tng x lý ca MSP430G2553

Hình 3-30: Tầng xử lý của MSP430G2553

Tại tầng xử lý của MSP430G2553 sẽ nhận dữ liệu từ 2 phần: Phần thứ nhất là dữ liệu từ Raspberry gửi xuống điều hướng, dẫn đường tự động cho Robot UV. Phần thứ hai là dữ liệu từ điều khiển từ xa gửi tới để điều hướng Robot UV thủ công. Dữ liệu UART được chọn 1 trong 2 đường.

Raspberry Pi MSP430G2553

Dữ liệu từ Raspberry gửi xuống thơng qua đường truyền UART có dạng (𝑣, 𝜔). Trong đó: 𝑣 là vận tốc thẳng (m/s) và 𝜔 là vận tốc xoay (rad/s) của Robot UV. Nhiệm vụ của MSP430G2553 là phải điều khiển Robot UV thực thi đúng với các vận tốc ấy.

Từ vận tốc dài và vận tốc xoay nhận được, ta chuyển thành vận tốc dài cho bánh xe trái và bánh xe phải thông qua các mối liên hệ:

𝑣𝑙𝑒𝑓𝑡 =2𝑣 − 𝜔𝐿2 (𝑚/𝑠) 𝑣𝑟𝑖𝑔ℎ𝑡 =2𝑣 + 𝜔𝐿2 (𝑚/𝑠)

Trong đó: L là khoảng cách giữa hai bánh xe với đơn vị là mét.

Sau khi có được vận tốc dài của bánh xe trái và bánh xe phải. Ta chuyển sang vận tốc góc thơng qua mối liên hệ giữa chuyển động tròn và chuyển động thẳng:

𝑣 = 𝑅. 𝜔

Trong đó: 𝑣 là vận tốc dài (m/s) , R là bán kính (m) và 𝜔 là tốc độ góc (rad/s) của bánh xe. Ta được:

𝜔𝑙𝑒𝑓𝑡 =𝑣𝑙𝑒𝑓𝑡𝑅 (𝑟𝑎𝑑/𝑠) 𝜔𝑟𝑖𝑔ℎ𝑡 =𝑣𝑟𝑖𝑔ℎ𝑡𝑅 (𝑟𝑎𝑑/𝑠) MSP430G2553 RF 433Mhz UART UART Raspberry UART T

Tốc độ góc của bánh xe: 𝜔 = ∆∝∆𝑡 (𝑟𝑎𝑑/𝑠) là đại lượng đặc trưng cho số góc quay được trong 1s nên ta có:

∆∝𝑙𝑒𝑓𝑡= 𝜔𝑙𝑒𝑓𝑡 . 1𝑠 ∆∝𝑟𝑖𝑔ℎ𝑡= 𝜔𝑟𝑖𝑔ℎ𝑡 . 1𝑠

Động cơ dùng trong Robot UV là động cơ step với góc bước là 1.8 độ => mỗi vòng quay của step cần 360 / 1.8 = 200 xung đặt vào.

Bộ truyền từ động cơ step đến bánh xe có tỉ số truyền là 4 => mỗi vòng quay bánh xe cần 200 . 4 = 800 xung đặt vào step.

Tại mỗi bánh xe ta có mối liên hệ:

2𝜋  800 xung ∆∝  𝑛𝑥𝑢𝑛𝑔

Ta được sốxung đặt vào mỗi step trong 1 giây và đây cũng chính là tần số xung clock đặt vào step:

𝑃𝑢𝑙𝑠𝑒 𝑙𝑒𝑓𝑡 =∆∝𝑙𝑒𝑓𝑡2𝜋∗ 800 (𝑥𝑢𝑛𝑔 𝑡𝑟𝑜𝑛𝑔 1𝑠) 𝑃𝑢𝑙𝑠𝑒 𝑟𝑖𝑔ℎ𝑡 =∆∝𝑟𝑖𝑔ℎ𝑡2𝜋∗ 800 (𝑥𝑢𝑛𝑔 𝑡𝑟𝑜𝑛𝑔 1𝑠)

Từđó khởi tạo TIMER xuất tần số vào driver điều khiển step quay theo tốc độ của ROS gửi xuống.

RF 433Mhz MSP430G2553

Bộ điều khiển từ xa RF 433Mhz gửi tín hiệu điều khiển theo dạng mỗi phím điều hướng tương ứng với 1 ký tự được mã hoá và gửi đến Robot UV. Tại đây, dữ liệu được giải mã và thực thi các dòng lệnh tương ứng.

MSP430G2553 RF 433Mhz

UART

‘X’

3.6 Lưu đồ - gii thut điều khin Robot UV

Sau khi khởi động hệ thống là quá trình khởi tạo các module ngoại vi UART, TIMER và cấu hình in/out GPIO.

Tiếp đến chương trình rơi vào vịng lập vơ hạn, từ (𝑣, 𝜔) tính tốn số xung cần thiết và dùng TIMER để cấp xung cho từng động cơ trái phải. Vận tốc (𝑣, 𝜔) được cập nhật với tần số 1Hz.

Ngắt UART đảm nhận vai trò nhận dữ liệu (𝑣, 𝜔) từ Raspberry gửi xuống và dữ liệu điều hướng từ RF 433Mhz.

UART Interrupt

Get (𝑣, 𝜔)

RF 433Mhz

Raspberry UART, TIMER. Initialize

Config GPIO Begin While(1) Calculate pulse Generate pulse by TIMER Motor Step End

CHƯƠNG 4 KT QUẢ, ĐÁNH GIÁ VÀHƯỚNG PHÁT TRIN 4.1 Kết qu

4.1.1 Mt s bản đồ Robot UV đã xây dựng được:

 Phòng trọ:

 Một góc mơi trường dựng sẵn:

 Phịng TTVXL:

Hình 4-2: Bản đồ phịng TT.VXL

 Một góc tầng 4 Khoa Công Nghệ:

4.1.2 Điều hướng, dẫn đường tđộng da trên bản đồđã xây dựng

Sau khi thiết lập được bản đồ từ môi trường thực tế, ta tiến hành lưu bản đồ và đưa bản đồ vào package navigation để có thể điều hướng, dẫn đường Robot UV tự động.

Hình 4-5: Robot UV t di chuyn trên map

Hình trên là bản đồ costmap, ta có thể thấy được quỹ đạo Robot UV tự vạch ra (đường cong màu xanh lá) để có thể chuyển qua chướng ngại vật để đến điểm đích.

Vùng màu đen là vùng trống Robot có thể đến được, màu xanh dương là vùng lạm phát có thể tăng giảm vùng này tuỳ theo cấu tạo robot. Để tránh va chạm với các vật thể thì phần đa giác nền (khung chữ nhật xanh lá) của robot sẽ không được chạm các điểm vật cản màu đỏ và phần trung tâm của robot không được vượt qua phần màu xanh.

Robot UV tự di chuyển trong phòng TT.VXL:

4.2 Đánh giá

Đề tài đã đạt được mục tiêu xây dựng được bản đồ từ mơi trường thực tế, Robot UV có thể tự định hướng và xác định vị trí hiện tại dựa trên bản đồ đã xây dựng. Đồng thời có thể tự điều hướng di chuyển tránh vật cản đi đến các điểm cần khử khuẩn trên bản đồ theo quỹ đạo mà ta hoạch định.

Tuy nhiên do hạn chế về kiến thức cũng như thời gian nên chưa thể thiết kế Robot UV thành một sản phẩm hồn thiện mà ở mức độ người dùng có thể sử dụng được. Cịn nhiều hạn chế về tính năng cũng như u cầu một mơi trường khơng có quá nhiều vật cản trên cao do hạn chế của cảm biến 2D. Các thao tác vận hành Robot UV phải thực hiện trên máy tính laptop chạy hệ điều hành Linux với các dịng lệnh phức tạp khơng có giao diện cho người dùng.

4.3 Hướng phát trin

Về hướng phát triển trong tương lai. Để Robot UV có thể được ứng dụng rộng rãi trong mọi lĩnh vực của đời sống thì cần phải nghiên cứu, phát triển và hồn thiện, tích hợp thêm nhiều tính năng như:

- Xây dựng thêm các ROS package để có thể thiết lập một lịch trình diệt khuẩn tự động theo chu trình thời gian.

- Thiết lập giao diện người dùng trên các nền tảng Window, MAC OS, hay các nền tảng smartphone để có thể dễ dàng quản lí, kiểm tra cũng như thay đổi, thiết lập lịch trình cho Robot UV.

- Xây dựng thêm các ROS package để Robot UV có khả năng tự xây dựng bản đồ, không cần con người điều hướng để xây dựng bản đồ ban đầu.

- Tích hợp thêm nhiều cảm biến hỗ trợ Robot UV có thể vận hành tốt nhất. - Tích hợp khảnăngdị đường, tự quay về sạc khi đến ngưỡng nguồn yếu. - Phát triển lên Robot UV sử dụng cảm biến Lidar 3D để Robot UV có thể hoạt

động tốt trong mơi trường có nhiều vật cản khắc phục những nhược điểm của cảm biến Lidar 2D.

- Thêm các thuật toán gỡ rối khi Robot bị kẹt hoặc vướn vật cản.

Bên cạnh đó từ cơ sở nền của Robot UV tự hành có sẵn, ta có thể cải thiện lại hệ thống và phát triển theo nhiều ứng dụng khác nhau như:

- Thay trụ đèn UV thành bộ xịt dung dịch khử trùng, ta được robot khử trùng bằng dung dịch tự động.

- Ứng dụng phần nền vào việc phát triển xe chở hàng tự hành.

- Ứng dụng vào việc robot giao thức ăn, vật tư y tế trong bệnh viện,…

- Ứng dụng vào việc tạo nên các robot hỗ trợ con người như robot lau nhà, robot hút bụi,….

PH LC Tài liu tham kho:

[1]. Giáo trình Vi điều khin MSP430, TS.Lương Vinh Quốc Danh, Ths.Trần Hữu Danh (2017), NXB Đại học Cần Thơ, Cần Thơ.

[2]. Giáo trình Mạch điện tử - Trương Văn Tám.

[3]. Giáo trình Linh kiện điện tử - Trương Văn Tám

[4]. Autonomous car using stereo camera - TriPhanMinh

[5]. ROS, "Robot Operating System," [Online]. Available: http://www.ros.org/is-ros-for-me/.

[6]. R. D. Wiki, "Robot Operating System Wiki," Distributions, [Online]. Available: http://wiki.ros.org/Distributions.

[7]. R. N. Wiki, "Robot Operating System Wiki," Navigation, [Online]. Available: http://wiki.ros.org/navigation/Tutorials/RobotSetup.

[8]. W. C. ROS, "Robot Operating System Wiki," Costmap 2D, [Online]. Available: http://wiki.ros.org/costmap_2d.

[9]. D. A. Wikipedia, "Wikipedia," [Online]. Available: https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm.

[10]. A. Tomović, "Path Planning Algorithms For The Robot Operating System," p.

Một phần của tài liệu (TIỂU LUẬN) LUẬN văn tốt NGHIỆP THIẾT kế ROBOT DIỆT KHUẨN BẰNG TIA UV tự HÀNH (Trang 36)

Tải bản đầy đủ (PDF)

(55 trang)