Hiệu chỉnh máy quét 2d gắn trên trục quay


9

Một máy quét laser 2d được gắn trên trục quay. Tôi muốn xác định ma trận biến đổi từ tâm trục đến tâm máy quét, chỉ sử dụng đầu vào từ máy quét và góc quay.

nhập mô tả hình ảnh ở đây

Bản thân máy quét 2d được cho là đã được hiệu chuẩn, nó sẽ đo chính xác vị trí của bất kỳ vật thể nào bên trong mặt phẳng của tia laser, liên quan đến nguồn gốc của máy quét.

Trục quay cũng được hiệu chỉnh, nó sẽ đo chính xác góc di chuyển của chính nó.

Máy quét được căn chỉnh và gắn gần trung tâm của vòng quay, nhưng phần bù chính xác không xác định và có thể trôi theo thời gian.

Giả sử nó là không thực tế để đo trực tiếp vị trí và hướng của máy quét. Tôi đang tìm cách xác định các giá trị chính xác cho độ lệch 6 độ mà máy quét có thể có liên quan đến trục, chỉ được xác định dựa trên thông tin 2d từ máy quét và góc xoay từ trục.

nhập mô tả hình ảnh ở đây

Tôi chủ yếu quan tâm đến 4 điểm bù được mô tả ở đây, vì hai điểm còn lại không liên quan đến việc tạo ra đám mây điểm 3d nhất quán từ dữ liệu đầu vào.

Bằng cách quét một đối tượng hiệu chuẩn đã biết, có thể xác định các độ lệch này. Các công thức toán học cho điều này là gì?

Những loại thông tin hiệu chuẩn được yêu cầu ở mức tối thiểu? Chẳng hạn, có thể xác định tất cả các tham số chỉ bằng cách quét một bề mặt phẳng, không biết gì về bề mặt ngoại trừ việc nó phẳng?

(Ma trận chuyển đổi từ trục xoay sang thế giới cũng chưa được biết, nhưng ma trận đó là tầm thường để xác định một khi chuyển đổi từ trục sang máy ảnh được biết đến.)


Thí dụ

nhập mô tả hình ảnh ở đây

Ở bên trái, máy ảnh được đặt chính xác trên trục quay. Máy ảnh quét một vật thể phẳng với các điểm tham chiếu AB và C. Dựa trên các phép đo khoảng cách laser và góc của trục, vật thể phẳng này có thể được tái tạo.

Ở bên phải, máy ảnh có một phần bù không xác định với trục. Nó quét cùng một đối tượng. Nếu đám mây điểm được xây dựng mà không biết phần bù này, bề mặt phẳng sẽ ánh xạ tới một bề mặt cong.

Tôi có thể tính toán bù dựa trên độ cong bề mặt không?

Nếu tôi biết khoảng cách và góc trong thế giới thực giữa A, B và C, làm thế nào tôi có thể tính toán độ lệch camera từ đó? Số điểm tham chiếu tối thiểu tôi cần cho cả 4 lần bù là bao nhiêu?

Câu trả lời:


1

Nếu bạn có thể đủ khả năng để một phần nhỏ của trường nhìn của bạn bị che khuất, bạn có thể muốn xem xét có một đối tượng fiducial ở đâu đó trong tầm nhìn.

Với một đối tượng fiducial phù hợp, quét nó khi trục của bạn xoay, bạn sẽ có thể tính toán bốn độ lệch mà bạn mong muốn.

Nếu bạn không đủ khả năng để bất kỳ tầm nhìn nào của bạn bị che khuất trong hoạt động bình thường, thì bạn có thể cần đặt máy tính của mình lên một thiết bị truyền động của chính nó, đưa nó vào tầm ngắm khi bạn muốn hiệu chỉnh và đưa nó ra hoạt động bình thường. Vấn đề duy nhất ở đây là bạn giới hạn độ chính xác của hiệu chuẩn bằng độ chính xác của bộ truyền động tín hiệu.

Lưu ý rằng nếu một phần nào đó trong trường nhìn của bạn đã bị che khuất bởi một phần khác của robot của bạn và nó có thể phù hợp để sử dụng như một fiducial, hoặc ít nhất là một điểm gắn kết cho một.


Vấn đề của tôi là không đặt một đối tượng fiducial, điều đó là đủ đơn giản. Vấn đề của tôi là tính toán bù đắp. Như bạn nói, nó nên có thể để tính toán bốn offsets dựa trên một đối tượng hiệu chuẩn, nhưng làm thế nào? Giả sử tôi quét một khối có kích thước đã biết. Tôi có thể dễ dàng thấy rằng các độ lệch của tôi là sai nếu khối lập phương đó được ánh xạ tới một đám mây điểm không phẳng, không phải hình chữ nhật. Nhưng làm thế nào để tôi có được sự bù đắp chính xác từ đó?
HugoRune

Cảm ơn bạn đã làm rõ @HugoRune - nếu bạn có thể chỉnh sửa câu hỏi của mình để bao gồm thông tin này thì hy vọng người tiếp theo trả lời sẽ có thể cung cấp câu trả lời tốt hơn. Tôi mới chỉ thực hiện loại hiệu chuẩn này đã đơn giản hóa vấn đề xuống 2D, vì vậy tôi chỉ có thể đưa ra lời khuyên chung.
Đánh dấu gian hàng

1

Phương pháp đơn giản nhất trong trường hợp này là về cơ bản là vũ phu đối với vấn đề nhưng lại vũ phu hóa nó một cách thông minh.

Những gì bạn cần là một tập hợp dữ liệu từ máy quét trong khi nó đang quét một đối tượng, tốt nhất là một đối tượng đơn giản về mặt toán học như khối lập phương hoặc hình cầu và vị trí bù hoặc bù chính xác của đối tượng đó so với ngàm của máy quét này.

Nếu bạn có hai thông tin này, mẹo tiếp theo về cơ bản là kiểm tra các độ lệch kết hợp máy quét khác nhau (cái mà tôi thường gọi là các giá trị hiệu chuẩn) cho đến khi bạn tìm thấy các độ lệch khiến dữ liệu máy quét thể hiện chính xác đối tượng của bạn. Đối với điều này, bạn có thể đoán ngẫu nhiên các giá trị có thể mất mãi mãi và không đi đến đâu (nhưng về lý thuyết cuối cùng sẽ giúp bạn có câu trả lời đúng) hoặc bạn có thể sử dụng phương pháp tối ưu hóa

Để sử dụng một phương pháp tối ưu hóa, bạn sẽ cần phát triển một số loại số liệu để cho biết liệu một bộ bù cụ thể có hoạt động tốt hơn một bộ khác không. Sau đó, bất kỳ phương pháp tối ưu hóa nào bạn đang sử dụng sẽ sử dụng điểm số đó để nói có nên điều chỉnh các giá trị theo một hướng cụ thể hay không. Cuối cùng, nó sẽ giải quyết một tập hợp các giá trị cụ thể có vẻ hoạt động tốt nhất.

Đây là một mô tả khá ngắn gọn và nghèo nàn về một chủ đề rất sâu sắc nhưng hy vọng nó sẽ giúp bạn chỉ ra một hướng. Nếu bạn muốn mô tả chi tiết hơn về bất cứ điều gì hãy để lại nhận xét.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.