|
|
4 months ago | |
|---|---|---|
| camera_calibration | 5 months ago | |
| distance_estimation | 4 months ago | |
| generate_markers | 5 months ago | |
| .gitignore | 5 months ago | |
| README.md | 4 months ago | |
| chessboard.png | 5 months ago | |
| default_config.py | 5 months ago | |
| map_markers.jpg | 5 months ago | |
| pinout-corrected.jpg | 4 months ago | |
| requirements.txt | 4 months ago |
Thuật toán hạ cánh và điều hướng drone dựa trên ArUco marker
git clone https://git.vnai.xyz/haminhtien99/landing_space
cd landing_space
pip install -r requirements.txt
Di chuyển tới file default_config.py, thay đổi các giá trị sau. Lưu ý kích thước MARKER_SIZE và SQUARE_SIZE đặt cùng đơn vị (tùy ý centimet, milimet), khi đó kết quả đầu ra về khoảng cách sẽ nhận được giá trị tương ứng
MARKER_SIZE=5 # kích thước các mã QR-code
set_resolution='original' # điều chỉnh độ phân giải cho camera, đặt original nếu ko thay đổi
SQUARE_SIZE = 2.1 # kích thước ô của bàn cờ
# Thiết lập các giá trị cho việc phun thuốc
ALLOWED_ANGLE_DEG = 20 # Góc lệch cho phép giữa aruco và camera
ALLOWED_XYZ_RANGE = { # Phạm vị lệch cho phép x, y, z của aruco tag trong hệ tọa độ gắn với camera
"x": (-10, 10),
"y": (-10, 10),
"z": (20, 50),
}
SPRAY_DURATION = 5 # Thời gian phun thuốc
Để thực hiện hiệu chuẩn, cần phải chụp ảnh bàn cờ chessboard.jpg được in trên giấy với nhiều góc độ, vị trí khác nhau
python camera_calibration/capture_images.py
camera_calibration/images, tương ứng với giá trị set_resolution được đặt ban đầu.python camera_calibration/capture_images_without_showing.py, tương tự bên trên
camera_calibration/images sau mỗi 5 giây.Ctrl + C để thoát chương trìnhpython camera_calibration/calibration.py
camera_calibration/calib_data.Dữ liệu hiệu chuẩn camera lưu tại tệp .npz. Dữ liệu này bao gồm:
python generate_markers/generate.py.aruco.DICT_7X7_50)distance_estimation/distance_single.pyvisualization = Trueđể in kết quả đầu ra kèm kết quả hình ảnh, nhấn q đẻ thoát;visualization = False để in kết quả đầu ra, nhấn Ctrl + C.map_markers.jpg.python distance_estimation/camera_position.py
marker_0 làm gốc, tọa độ các marker khác được cài đặt trong file default_config.pyx, y, z, roll, pitch, yaw - lần lượt tọa độ camera trong hệ tọa độ marker_0 làm gốc, roll, pitch, yaw - góc quay camera so với mặt phẳng chứa markervisualization= True để hiển thị video với tọa độ camera (x, y, z) cùng với góc quay (roll, pitch, yaw) so với marker_0. Nhấn phím q để kết thúc, thoát videovisualization=False, nhấn Ctrl + C để thoát.python distance_estimation/camera_position_and_log.py
Tùy chọn ước lượng vị trí camera cùng với lưu lịch sử
python distance_estimation/spray_pesticide.py