Cách tạo bản đồ 2D cho căn phòng của bạn với LiDAR
Do độ chính xác cần thiết trong các lĩnh vực khác nhau, chẳng hạn như nông nghiệp, khảo cổ học và giao thông vận tải, laser thường được sử dụng cho các mục đích như tránh chướng ngại vật, xây dựng bản đồ hoặc thậm chí điều hướng tự động.
Hãy xem LiDARs, cách chúng hoạt động và cách bạn có thể sử dụng chúng để tạo bản đồ 2D cho không gian của mình.
Mục Lục
Những thứ bạn sẽ cần để quét phòng của mình
Sau đây là những điều kiện tiên quyết để tạo bản đồ 2D cho căn phòng của bạn:
- Máy tính xách tay hoặc PC chạy Ubuntu Server
- Cài đặt ROS
- A LiDAR
LiDAR là gì?
LiDAR, hoặc Phát hiện và đo ánh sáng, Nó còn có thể được tìm thấy với một tên khác, LADAR (Phát hiện và đo khoảng cách bằng tia laze), một công nghệ viễn thám chủ động đo khoảng cách bằng cách sử dụng ánh sáng dưới dạng tia laze xung. Công nghệ này hoạt động bằng cách chiếu một xung quang học vào một mục tiêu và đo các đặc tính của tín hiệu phản xạ trở lại.
Hệ thống đo thời gian chùm tia quay trở lại. Nói chung, nó là một máy đo khoảng cách. Độ rộng của xung quang học có thể từ vài nano giây đến vài micro giây và nó có thể nhắm mục tiêu đến nhiều loại vật liệu.
Kết nối hệ thống và Thu thập dữ liệu Laser
RPLIDAR A1, một cảm biến LiDAR giá rẻ phù hợp cho các ứng dụng robot trong nhà, sẽ được sử dụng trong trường hợp này. Nó có trường quét 360 độ, tần số quay 5,5hz / 10hz và khoảng cách kiểm lâm là 8 mét. LiDAR có hệ thống máy quét phạm vi, hệ thống động cơ cũng như giao diện truyền thông (cổng nối tiếp / USB).
Hệ thống đo dữ liệu khoảng cách với tốc độ hơn 2000 lần mỗi giây và với đầu ra khoảng cách có độ phân giải cao. Do đó, nó yêu cầu sử dụng một số công cụ để xử lý và trực quan hóa dữ liệu. Ví dụ: bạn có thể sử dụng công cụ SlamTech RoboStudio hoặc gói được cung cấp ROS.
Tại sao ROS?
ROS (Hệ điều hành Robot) là phần mềm được sử dụng bởi cộng đồng nguồn mở toàn cầu gồm những người yêu thích chế tạo rô bốt nhằm cải tiến và cung cấp rô bốt cho tất cả mọi người. Ban đầu nó được phát triển bởi Eric Berger và Keenan Wyrobek tại Đại học Stanford. ROS cũng cho phép bạn trực quan hóa dữ liệu cảm biến, tạo giao diện và sử dụng các công cụ như Rviz và công cụ mô phỏng Gazebo.
Với ROS, bạn sẽ có thể dễ dàng tách mã của mình thành các gói chứa các chương trình nhỏ, được gọi là các nút. Các nút đó được kết nối thông qua các chủ đề mà chúng gửi và nhận tin nhắn.
Trong dự án này, bạn sẽ sử dụng rplidar_ros, một gói ROS được thiết kế đặc biệt để thu thập dữ liệu LiDAR. Gói hector_slam sẽ được sử dụng sau này để tạo bản đồ.
Bước 1: Cài đặt ROS
Sau khi cài đặt Ubuntu Server, hãy mở thiết bị đầu cuối của bạn và chạy lệnh sau để đảm bảo chỉ mục gói Debian của bạn được cập nhật. Sự khác biệt giữa cập nhật và nâng cấp đã được đề cập.
sudo apt update
Bước sau là cài đặt ROS.
sudo apt install ros-noetic-desktop-full
Bạn có thể kiểm tra ROS bằng cách chạy roscoresẽ là bằng chứng về việc cài đặt đúng cách.
roscore
Bước 2: Lấy bản quét đầu tiên của bạn
Đầu tiên, hãy chạy lệnh sau để cài đặt rplidar_ros bưu kiện:
sudo apt-get install ros-noetic-rplidar-ros
Các rplidar_ros gói bao gồm các tập lệnh và tệp khởi chạy cần thiết để lấy và trực quan hóa dữ liệu quét LiDAR.
Khi bạn đã hoàn thành phần mềm của mình, hãy kết nối LiDAR với PC qua cổng USB. LiDAR sẽ bắt đầu xoay, nhưng nó sẽ không phát ra bất kỳ tia laser nào trừ khi bạn chạy lệnh sau đây gọi một tệp khởi chạy ROS.
roslaunch rplidar_ros rplidar.launch
Bằng cách chạy lệnh này, bạn có thể xem các khoảng cách được phản ánh được xuất bản trong một chủ đề được gọi là / quét.
rostopic echo /scan
Bạn sẽ thấy bản trình bày dữ liệu quét laser chưa xử lý trong thiết bị đầu cuối của mình:
Để trực quan hóa dữ liệu đó, hãy mở một thiết bị đầu cuối khác, đảm bảo không đóng thiết bị đầu cuối đang chạy khác đang truy xuất dữ liệu từ máy quét laser và khởi chạy Rvizcông cụ trực quan hóa.
rosrun rviz rviz
Thay đổi Khung cố định đến Tia lazesau đó nhấp vào cộng ở góc dưới bên trái của cửa sổ và chọn LaserScan. Cuối cùng, đặt chủ đề LaserScan thành /quétvà bạn sẽ có thể xem bản quét LiDAR thời gian thực của mình.
Nếu bạn gặp sự cố khi quét lần đầu, có thể là do thiết bị của bạn không được phép giao tiếp dữ liệu thông qua nối tiếp. Để khắc phục điều này, hãy chạy lệnh sau và sau đó tiếp tục với các bước trước đó.
sudo chmod 777 /dev/ttyUSB0
Bước 3: Khởi chạy bản đồ
Sau khi bạn đã kiểm tra LiDAR của mình và xác nhận rằng nó hoạt động bình thường, bước tiếp theo là bắt đầu quét khu vực bạn quan tâm. Đối với điều này, bạn sẽ cần một gói bổ sung có tên Hector Slam (trong đó “Slam” là viết tắt của “Bản địa hóa và ánh xạ đồng thời”).
Như trước đây, hãy thực hiện lệnh sau để cài đặt gói đó:
sudo apt-get install ros-noetic-hector-slam
Trước khi chạy quét, hãy thay đổi một vài thông số như hình dưới đây. Tìm kiếm tutorial.launch trong gói hector_slam bằng cách sử dụng roscd yêu cầu.
roscd hector_slam_launch
Lệnh nano sẽ cho phép bạn mở tệp của mình và chỉnh sửa nó.
nano tutorial.launch
Bạn có thể gặp phải lỗi cấp quyền tệp Linux có thể được giải quyết bằng lệnh này:
sudo chmod 777 tutorial.launch
Đây là một ví dụ về việc thực thi:
Bước tiếp theo là thay đổi các dòng như hình dưới đây:
Bước cuối cùng là thực hiện dòng này.
roslaunch hector_slam tutorial.launch
Bắt đầu di chuyển chậm LiDAR xung quanh phòng của bạn để có kết quả tốt nhất vì việc tạo bản đồ sẽ hiệu quả nhất khi di chuyển chậm. Bạn có thể bật quỹ đạo của mình và thử nghiệm với cài đặt quét laser.
Bạn có thể sử dụng SLAM trong nhà để quét toàn bộ ngôi nhà bằng máy tính xách tay và LiDAR như trong video bên dưới. Kết quả có thể được cải thiện bằng cách tích hợp các cảm biến bổ sung, sau đó kết hợp dữ liệu từ cả hai nguồn.
Bước 4: Lưu và chỉnh sửa bản đồ của bạn
Chạy lệnh sau khi bạn quét xong để lưu bản đồ:
rostopic pub syscommand std_msgs/String "savegeotiff"
Trong trường hợp này, imagemagick có thể được sử dụng để chuyển đổi bản đồ thành tệp ảnh PNG, chạy cả hai lệnh này để hoàn tất cài đặt và chuyển đổi.
sudo apt-get install imagemagick
convert scannedMap.pgm MyPngMap.png
Sử dụng nhiều hơn từ LiDAR
Sử dụng LiDAR và PC, bạn có thể thực hiện quét 2D. Bạn có thể cải thiện quá trình quét của mình bằng cách thêm một máy ảnh độ sâu, chẳng hạn như Kinect và tích hợp hai loại dữ liệu được thu thập.
Công nghệ tương tự có thể được tìm thấy trong một số mẫu iPhone và iPad cao cấp, trong đó LiDAR được tích hợp vào mô-đun camera ở mặt sau của thiết bị, cho phép phát triển bản đồ 3D, đo khoảng cách và các ứng dụng thực tế tăng cường.