机器人逆向运动学(IK)入门:问题分析

news/2024/5/18 13:08:13 标签: 机器人, ue5, 游戏程序, 游戏引擎

在游戏开发和机器人开发中进场需要用到的一个场景是,给机器人或者游戏角色末位置的位置和姿态,求解可到达给定位置和姿态的各关节的角度值,这里就需要逆向运动学去求解这个问题,在场景中有着很多的应用,比如说六轴机械臂的位姿求解,游戏角色踩楼梯的真实感觉: 

常用的六轴机械臂结构:

UE5在Control Rig也中新加入的功能Full Body IK的Control Rig: 

问题分析:

给定一个带一个关节的机械臂,其中有一个轴是可以自由转动的,如下

转动后:

 那么把末端可以到达的轨迹显示出来:

这就是所有的有解区域,且解都是唯一解

接下来再给这个问题加码,将关节节点添加到两个:

这时候可达的区域将大大增加,如下图,绿色区域为可达区域,红色区域为不可达区域:

 其中中间的红色区域就算d3折下来和d2重叠,但是由于长度不够也无法到达红色区域,红色区域的半径为d3为d2

绿色的区域代表可达区域,也代表这个问题有解,其中两个关节的角度代表求出的解

随着关节的增多,解会越来越多,并且不只有一个唯一解,根据以上我们得到两个IK运动学的关键部分:

①在求解前需要判断最后位置是否可达,如果可达才可以开始求解过程

②在问题有多解情况下,为了减少计算量,可以在求解出一个位置后就停止求解


http://www.niftyadmin.cn/n/17060.html

相关文章

语音输入转文字怎么操作?分享几种语音转文字技巧

相信有不少小伙伴在整理语音文件的时候,都会有过怎样把这些语音直接转换成文字的想法吧。每次在我开完会之后,需要对会议语音进行整理时,都会产生这种想法。因为我们需要不断的去听这个会议的语音内容,这样做既费时又费力。但其实…

TS-1-类型

TypeScript中的基本类型 TS变量声明时指定类型 通过类型声明可以指定TS中变量(参数、形参)的类型,(类型使用小写),使得变量只能存储某种类型的值 类型 类型例子描述number1, -33, 2.5任意数字string‘hi’, “hi”, hi任意字符串booleantru…

计算机毕业设计node.js+vue+Element电商后台管理系统

项目介绍 网络的广泛应用给生活带来了十分的便利。所以把电商后台管理与现在网络相结合,利用node技术建设电商后台管理系统,实现电商后台管理的信息化。则对于进一步提高电商后台管理发展,丰富电商后台管理经验能起到不少的促进作用。 电商后台管理系统能够通过互联网得到广泛…

Linux系统Initramfs机制

概述 现代Linux系统都使用到了一种功能比较特殊的微型系统,作为Linux内核初始化完成但未进入最终系统时的过渡系统,主要的目的是为了将最终系统载入到根文件系统上,辅助内核启动最终系统,可以称之为“辅助系统”。 辅助系统的作…

基于springboot在线答疑系统

教师权限:首页、个人中心、疑难解答管理、试卷管理、试题管理、考试管理。 学生权限;首页、个人中心、问题发布管理、疑难解答管理、考试管理等功能模块的管理维护等操作,系统结构图如下图4-1所示。 图4-1 系统功能图 截图 目 录 摘 要 I …

Prometheus技术分享——如何监控宿主机和容器

这一期主要来跟大家聊一下,使用node_exporter工具来暴露主机和因公程序上的指标,利用prometheus来监控宿主机;以及通过通过Cadvisor监控docker容器。 一、部署node_exporter监控宿主机 1 下载软件包 wget https://github.com/prometheus/n…

AIGC-ChatGPT

一、AIGC AI Generate Content(人工智能生成内容)是指通过人工智能技术生成文本、图像、视频或音频等内容的方法。这种方法通常使用大型语言模型和生成式深度学习技术,能够自动生成高质量的内容。人工智能生成内容的应用场景包括新闻摘要生成…

良心总结!Git 各指令的本质,真是通俗易懂啊

1前言 作为当前世界上最强大的代码管理工具Git相信大家都很熟悉,但据我所知有很大一批人停留在clone、commit、pull、push...的阶段,是不是对rebase心里没底只敢用merge?碰见版本回退就抓瞎?别问我怎么知道的,问就是&…