Tài liệu cho Động học nghịch đảo: Giới hạn chung và hơn thế nữa


8

Gần đây tôi đã chơi xung quanh với Inverse Kinatures và đã rất ấn tượng với kết quả. Tự nhiên tôi muốn đưa nó đi xa hơn, nhưng không biết phải bắt đầu từ đâu. Cụ thể, tôi muốn giới thiệu các giới hạn khớp (nghĩa là đối với khớp hình lăng trụ có thể di chuyển được bao xa, khớp bản lề phải nằm giữa các góc, v.v.).

Hiện tại tôi hiểu làm thế nào để tạo ra ma trận Jacobian cho các loại khớp khác nhau. Tôi đặc biệt tìm kiếm tài liệu (tốt nhất là miễn phí, và tốt nhất là dễ hiểu) về nhiều cách khác nhau để thực hiện các giới hạn chung. Ngoài ra tôi muốn tìm hiểu những ý tưởng khác nhau về cách sử dụng động học nghịch đảo.

Câu trả lời:


4

Đây có lẽ không phải là câu trả lời tốt nhất mà tôi có thể đưa ra bây giờ, nhưng hãy xem xét Cyclic Tọa độ gốc (CCD) hoạt động cho ma trận Jacobian không thể đảo ngược. Một đoạn video ngắn ở đây .

Nguồn tốt nhất bao gồm CCD là luận án thạc sĩ của Chris Wellman. Để đánh giá tối thiểu / ngắn, bạn có thể đọc nguồn này đề cập đến hầu hết các phương pháp hiện có.

Một bài báo toán học hơn (dành cho nhà nghiên cứu trong bạn: D) là bài này http://math.ucsd.edu/~sbuss/ResearchWeb/ikmethods/iksurvey.pd f.

Dành cho nhà nghiên cứu khó tính: http://matwbn.icm.edu.pl/ksiazki/amc/amc19/amc1941.pdf

Đây có vẻ như là một phương pháp lai, mặc dù chúng chỉ là các slide với các khái niệm chủ yếu quen thuộc: http://cmp.felk.cvut.cz/~hlavac/TeachPresEn/55IntellectRobotics/KjchoInverseKinapes.pdf Một cách đáng đọc hơn: http: // www .cns.atr.jp / erato / DB / PDF / tevatia-icra2000.pdf

Vì bạn nói rằng bạn muốn có các nguồn miễn phí, tôi sẽ không đề cập đến một vài cuốn sách mà người ta có thể mua từ Amazon giải quyết vấn đề này. Cá nhân, tôi hài lòng với CCD. Đối với độ chính xác cực cao, tôi thích Inverse Jacobian (nơi tôi biết hệ thống mang lại ma trận khả nghịch nhờ 6 DOF của một giàn robot).

Làm thế nào IK có thể được sử dụng? Chủ yếu là khi bạn muốn làm sống động một nhân vật bằng cách chỉ cung cấp một vị trí và hướng của một hiệu ứng cuối của một chi nhất định. (ví dụ youtube). Nếu bạn muốn bắt đầu sự nghiệp trong ngành robot, IK là điều bắt buộc nếu bạn đang làm việc với robot có khớp nối. Trong thế giới trò chơi, bạn phải sử dụng tính năng phát hiện chuyển động của cử chỉ con người thông qua máy ảnh (ví dụ: http://www.youtube.com/watch?v=HSradQVj26E - ví dụ đơn giản của tôi về giao diện wiimote và robot ảo ccd cánh tay).


2

Bài viết gốc: Tổng quan về Động học nghịch đảo

Tôi đánh giá cao liên kết trên để có cái nhìn tổng quan ở mức độ cao về Chuyển động nghịch đảo. Nó đi qua thuật ngữ IK, sử dụng / ứng dụng IK và mô tả cấp cao về động học thuận và động học nghịch đảo.

Công dụng của IK là gì?

IK có thể được sử dụng cho một cánh tay hình người để tiếp cận một đối tượng / mục tiêu, như chúng ta đã thấy. IK cũng có thể được sử dụng để bước chân, như vậy chúng ta sẽ nói cho bàn chân biết bước nào và IK tìm ra cách cấu hình các khớp chân. IK thường không được sử dụng như một hình ảnh động (tiếp cận một đối tượng), mà nhiều hơn là một công cụ hoạt hình. Vì vậy, nếu bạn đang thực hiện chu trình đi bộ, bạn có thể định vị một số khung chính bằng công cụ IK.

Một điểm quan trọng khác về IK là mục tiêu / mục tiêu của bạn không bị giới hạn ở vị trí một mình - mục tiêu của bạn có thể được xác định là xoay vòng. Ví dụ: nếu bàn chân của bạn cần xoay dựa trên địa hình không bằng phẳng, mục tiêu xoay IK của bạn có thể được xác định dựa trên mức bình thường của sàn nhà. Bằng cách này, bàn chân của bạn nghiêng dọc theo sàn nhà, chẳng hạn như khi bạn đang đi lên một độ nghiêng. Lưu ý rằng bạn cũng có thể sử dụng IK để đầu của bạn (hoặc thậm chí là mắt) nhìn theo một hướng nhất định. Nếu bạn muốn đầu của bạn đi theo một đối tượng, bạn có thể sử dụng IK để đầu đi theo đối tượng xung quanh.

Làm thế nào để tôi thực hiện giới hạn chung?

Tôi thường thực hiện các giới hạn chung với một câu lệnh if đơn giản. Ví dụ, điều này sẽ làm việc cho các khớp quay vòng.

if (limb.rotation >  45.0f) limb.rotation =  45.0f;
if (limb.rotation < -45.0f) limb.rotation = -45.0f;

Nó ít toán học hơn Jacobian và cực kỳ dễ thực hiện một khi bạn có Jacobian làm việc.

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.