|
|
5 ay önce | |
|---|---|---|
| camera_calibration | 5 ay önce | |
| distance_estimation | 5 ay önce | |
| generate_markers | 5 ay önce | |
| .gitignore | 5 ay önce | |
| README.md | 5 ay önce | |
| chessboard.png | 5 ay önce | |
| default_config.py | 5 ay önce | |
| map_markers.jpg | 5 ay önce | |
| requirements.txt | 5 ay önce |
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ờ
Để 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 so với marker_0. Nhấn phím q để kết thúc, thoát videovisualization=False, nhấn Ctrl + C để thoát.