Thay đổi định hướng bằng cách áp dụng các điểm xuyến


9

Giả sử bạn có một vật thể trôi nổi tự do trong không gian. Bạn có một vectơ bạn muốn đối tượng này hướng tới và một vectơ đại diện cho hướng mà nó hiện đang đối mặt. Từ hai cái này, bạn có thể có được phép quay (ma trận, bậc bốn, bất cứ thứ gì) đại diện cho sự thay đổi trong định hướng để đưa hai vectơ thẳng hàng.

Nếu bạn chỉ có khả năng áp dụng mô-men xoắn (đạo hàm của vận tốc góc) cho đối tượng của mình, thì thuật toán tốt để áp dụng mô-men xoắn theo thời gian sẽ không vượt quá / hạ thấp đích đến là gì?

(Trong trường hợp này, đó là một con tàu không gian muốn tự động định hướng theo hướng di chuyển bằng cách sử dụng bộ đẩy. Cuộn là không liên quan.)


Bạn đang cố gắng tối ưu hóa việc sử dụng nhiên liệu (tổng mô-men xoắn) hay tốc độ? Ngoài ra, con tàu có bắt đầu với vận tốc góc bằng không khi bắt đầu hoạt động này không?
Justin L.

Chà, để tối ưu hóa tốc độ sẽ phải có gia tốc vô hạn, và để tối ưu hóa cho việc sử dụng nhiên liệu sẽ có gia tốc gần như bằng không. Vì vậy, trong thực tế, tôi sẽ sử dụng một sự đánh đổi có vẻ tốt. Đối với việc bắt đầu vận tốc góc, hy vọng tôi sẽ có thể đưa nó vào tính toán một cách tự nhiên.
Karantza

Câu trả lời:


4

Điều này có thể được xử lý như trường hợp tương tự để tăng tốc tuyến tính.

Thực tế đầu tiên cần lưu ý: Bởi vì con tàu bắt đầu với vận tốc góc bằng 0, nên bạn muốn nó kết thúc với vận tốc góc bằng 0, điều này có nghĩa là tổng thay đổi vận tốc phải bằng không.

Từ đó, chúng ta có thể thấy rằng tích phân của gia tốc theo thời gian phải bằng 0 - phải có chính xác gia tốc dương "nhiều" như có gia tốc âm.

Do đó, giải pháp của bạn, bất kể đó là gì, phải được ràng buộc với thuộc tính này: Gia tốc "tổng" bằng nhau về phía trước và ngược lại.

Dưới đây là hình dạng gia tốc của bạn theo biểu đồ thời gian nên tuân theo:

Đồ thị gia tốc theo thời gian

Nhìn vào điều này, có rất nhiều hình dạng và hình dạng có thể tăng tốc của bạn! Hãy để chúng tôi đưa ra một số giả định cho hình dạng gia tốc mà bạn muốn, để đưa ra một câu trả lời dễ dàng / súc tích.

Vì câu trả lời đơn giản, tôi sẽ có gia tốc ở một trong ba trạng thái: tiến, lùi hoặc không. Tiến và lùi sẽ ở cường độ bằng nhau và các trạng thái có thể được chuyển đổi tức thời. (không có sự tăng tốc dần dần)

Bạn có thể tìm thấy sự thay đổi khoảng cách cho một gia tốc cho trước trong một khoảng thời gian nhất định với phương trình này:

s = 0.5*a*t^2

Giải pháp đơn giản nhất ở đây sẽ là tăng tốc cho đến khi bạn đạt đến điểm giữa chừng, sau đó giảm tốc độ còn lại.

Chúng tôi sẽ lấy Ptổng số khoảng cách bạn muốn di chuyển:

s = P/2
P/2 = 0.5*a*t^2
P = a*t^2
t^2 = P/a
t = sqrt(P/a)

Nên về cơ bản:

  1. Tăng tốc ở acho sqrt(P/a)đơn vị thời gian (đơn vị dựa trên đơn vị của bạn để tăng tốc)
  2. Giảm tốc ở cùng độ lớn trong cùng một khoảng thời gian

Đây không phải là giải pháp duy nhất. Nó sẽ đưa bạn đến đó trong khoảng thời gian nhanh nhất ( 2*sqrt(P/a)). Nhưng nếu bạn muốn một phiên bản thoải mái hơn thì sao?

Trong trường hợp này, bạn có thể tăng tốc 1/3 chặng đường, duyên cho 1/3 và giảm tốc phần còn lại của phần ba. Hoặc 1/4, bờ biển cho 1/2, giảm tốc 1/4.

Hoặc có thể bạn có thể tăng tốc trong một khoảng thời gian cố định, sau đó giảm tốc trong một khoảng thời gian cố định, nhưng đợi cho đến khi bạn đến vị trí chính xác trước khi bạn bắt đầu giảm tốc.


Bạn rất đúng về trường hợp này cho chuyển động tuyến tính. Mối quan tâm chính của tôi là sử dụng một thuật toán như thế này với một động cơ vật lý chỉ cung cấp cho tôi điều khiển ngáp, cường độ và cuộn cho mô-men xoắn. Những trục đó không trực giao khi bạn bắt đầu quay, vì vậy tôi đã hy vọng rằng có một giải pháp tốt hơn. Cách tiếp cận thời gian của bạn, tuy nhiên, vẫn sẽ áp dụng bất kể.
Karantza

Ah; xin lỗi, tôi không hiểu câu hỏi của bạn Tôi không chắc mình có thể trả lời kỹ hơn mà không cần xem thông số kỹ thuật của động cơ của bạn. Nhưng chắc chắn có một cách để áp dụng mô-men xoắn không đổi theo một hướng không đổi?
Justin L.

Vâng, câu trả lời của bạn có lẽ là càng gần càng tốt. Tôi đã giải quyết vấn đề cụ thể của mình bằng cách hack ở các bậc bốn cho đến khi tôi nhận được một cái gì đó mà thuật toán tuyến tính sẽ áp dụng. Cảm ơn!
Karantza
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.