Tổng quan
Trang này mô tả các topic và service ROS2 dolx_camera_ros cung cấp trong mô-đun định vị V2.
Biên dịch
Cài đặt các thành phần Qt5 Core và Network. Lệnh cài đặt thay đổi tùy theo bản phân phối Linux; ví dụ sau sử dụng Ubuntu:libzip từ trang tải xuống libzip và biên dịch theo hướng dẫn chính thức.
Chạy lệnh sau từ /lx_camera_ros:
Chạy
Biên dịch lại sau khi thay đổi tệp cấu hình YAML. Các thay đổi chỉ có hiệu lực sau khi build lại dự án.
Giao diện topic ROS2
Trước khi kiểm tra giao diện, hãy bật camera, chờ khoảng 30 giây rồi khởi động node ROS2 SDK.Nhận pose định vị
ROS2 liên tục nhận các giá trịx, y và theta của camera, xuất các giá trị này cùng quaternion được chuyển đổi từ theta tới LxCamera_LocationPoseResult, đồng thời phát pose qua TF.
Nhận trạng thái định vị
ROS2 nhận trạng thái định vị của camera (true hoặc false) ở tần số 1 Hz và xuất trạng thái dưới dạng std_msgs::msg::Bool trên LxCamera_LocationResult.
Nhận mức sử dụng bộ nhớ của camera
ROS2 nhận tỷ lệ sử dụng bộ nhớ của camera ở tần số 2 Hz và xuất dưới dạngstd_msgs::msg::Float32 trên LxCamera_Capacity_Status.
Nhận tên mô-đun lỗi
ROS2 nhận tên mô-đun lỗi từ camera và xuất dưới dạngstd_msgs::msg::String trên LxCamera_Module_Error.
Nhận tiến trình lập bản đồ
Sau khi bắt đầu lập bản đồ, ROS2 xuất tiến trình (0–100) dưới dạng std_msgs::msg::Int32 trên LxCamera_Mapping_Progress.
Nhận trạng thái lập bản đồ
Sau khi bắt đầu lập bản đồ, ROS2 xuất trạng thái lập bản đồ dưới dạngstd_msgs::msg::Bool trên LxCamera_MappingState.
Đặt tham số
Xuất messagestd_msgs::msg::String tới LxCamera_SetParam. Message chứa chín giá trị số thực được phân tách bằng dấu phẩy: x,y,z,yaw,pitch,roll,x,y,yaw. Sáu giá trị đầu xác định pose của camera; ba giá trị cuối xác định pose LiDAR. Sau khi cập nhật thành công, các giá trị tương ứng trong các phần [Laser1] và [Camera1] của /home/fr1511b/hontai/params/config_install_FL21500HAF.ini sẽ được cập nhật.
Chuyển đổi bản đồ
Xuất messagestd_msgs::msg::String chứa tên của một bản đồ đã hoàn tất tới LxCamera_SwitchMap. Làm mới giao diện web của camera. Nếu tên bản đồ hiển thị thay đổi, việc chuyển đổi đã thành công.
Tải xuống bản đồ
- Xuất message
std_msgs::msg::StringtớiLxCamera_DownloadMap. - Message chứa hai trường:
save_path, là đường dẫn tuyệt đối trên máy tính chủ, vàmapname, là tên tệp.zipcủa một bản đồ đã hoàn tất trên camera. - Sau khi tải xuống thành công, đường dẫn máy tính chủ được chỉ định sẽ chứa tệp lưu trữ bản đồ. Giải nén tệp để lấy tệp bản đồ
PGMvà tệp cấu hìnhYAML.
Tải lên odometry
Xuất dữ liệunav_msgs::msg::Odometry tới /sim/odom (có thể thay đổi topic).
Tái định vị
- Xuất dữ liệu
geometry_msgs::msg::PoseWithCovarianceStampedtớiLxCamera_UploadReloc. - Pose chứa pose LiDAR:
x,yvàyaw. - Tái định vị thành công khi vị trí hiển thị trong giao diện web của camera được cập nhật thành pose đã gửi.
Quaternion bị ràng buộc và không được điền tùy ý. Sử dụng công cụ chuyển đổi Euler sang quaternion để chuyển đổi gócEuler yawthành các giá trị quaternionxyzw.
Tiền tố loại message
Máy tính chủ giao tiếp với camera qua UDP. Bốn byte đầu tiên của mỗi message xác định loại dữ liệu giao diện:Giao diện service ROS2
Lập bản đồ, chuyển đổi bản đồ, tải bản đồ xuống và tái định vị cũng có thể được thực hiện qua ROS2 service. Phản hồi servicetrue cho biết thành công; false cho biết thất bại.
Sử dụng
ros2 service call cho các lệnh sau. Tên bản đồ không được bắt đầu bằng số và không được dài quá 30 ký tự.Tạo bản đồ
Tên service:/LxCamera_Mapping_srv
Định nghĩa service:
Chuyển đổi bản đồ
Tên service:/LxCamera_SwitchMap_srv
Định nghĩa service:
Tải xuống bản đồ
Tên service:/LxCamera_DownloadMap_srv
Định nghĩa service:
Tái định vị
Tên service:/LxCamera_UploadReloc_srv
Định nghĩa service:
Lấy tên bản đồ hiện tại
Tên service:/LxCamera_GetCurMapname_srv
Định nghĩa service:
Lấy danh sách bản đồ hiện tại
Tên service:/LxCamera_GetMapList_srv
Định nghĩa service:
Thoát chế độ lập bản đồ
Tên service:/LxCamera_ExitMapping_srv
Định nghĩa service:
Xóa bản đồ
Tên service:/LxCamera_EraseMap_srv
Định nghĩa service:
Tải xuống bản đồ nhiệt
Tên service:/LxCamera_DownloadHeatMap_srv
Định nghĩa service:
Lập bản đồ bổ sung
Tên service:/LxCamera_IncMapping_srv
Định nghĩa service: