机器人基础-自由度及其简单计算

机器人基础-自由度及其简单计算

  • 1.自由度(DOF)
  • 2.自由度的计算
  • 3.自由度计算例题
    • 例1.
    • 例2.
    • 例3.

对于一个机器人的手腕,一般要求实现对空间坐标轴X、Y、Z的旋转运动,分别是翻/回转(Roll)、俯仰(Pitch)、偏转(Yaw)。如下图,绕X轴旋转称为偏转,绕Y轴旋转成为俯仰,绕Z轴称为翻/回转。
在这里插入图片描述

1.自由度(DOF)

对于一个刚体的自由度,一般分为两种情况,一种是平面上的刚体,另一种是空间中的刚体。
对于平面中的刚体,有3个自由度,分别代表着2个位置,1个角度。例子:坐标轴上的硬币。

Alt
如图,对于坐标系中的硬币,它可以沿着x轴和y轴的方向移动,也可以自身旋转(即硬币上人物的目光方向)。
对于空间中的物体,有6个自由度,分别代表着3个位置,3个角度。
Alt
可以理解为在空间中观察飞机,三个位置分别表示距离以观察位置为空间坐标系的x,y,z轴的距离。对于角度,分别是飞机绕如下图所示的三个轴旋转,也可理解为飞机的俯仰角(上下点头)、滚转角(左右摆头)、偏航角(左右摇头)。

故对于刚体的自由度,一般有:

D O F = { 3 , 平面上; 6 , 空间中; DOF=\begin{cases} 3, & 平面上;\\ 6, & 空间中; \end{cases} DOF={3,6,平面上;空间中;

2.自由度的计算

首先我们假设一个刚体的自由度为s,那么n个刚体就是就是 s × n s\times n s×n

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
对于一个机械臂,我们假设他有n的links(包括基底),那么由于基底与地面相连,他的自由度为0,所以在我们未引入joint时,此时机械臂的自由度为 s × ( n − 1 ) s\times (n-1) s×(n1)

此时,我们引入p个joint(假设如图所示的第i个joint引入的约束为 c i c_i ci),那么有:

d o f = s × ( n − 1 ) − ∑ i = 1 p c i dof=s\times (n-1)-\sum^{p}_{i=1}{c_i} dof=s×(n1)i=1pci
我们假设第i个joint的相对dof为 n i n_i ni,那么存在 s = n i + c i s=n_i+c_i s=ni+ci,所以又有:
d o f = s × ( n − 1 ) − ∑ i = 1 p s − n i = s × ( n − 1 − p ) + ∑ i = 1 p n i dof=s\times (n-1)-\sum^{p}_{i=1}{s-n_i}\\ \qquad=s\times (n-1-p)+\sum^{p}_{i=1}{n_i} dof=s×(n1)i=1psni=s×(n1p)+i=1pni

s:总的自由度,平面n=3,空间n=6
n:刚体连杆的数量
p:关节的数量
c i c_i ci:关节i引入的约束数
n i n_i ni:关节i相对的DOF

3.自由度计算例题

例1.

Alt
对于以上结构,是在二维平面中,即 s = 3 s=3 s=3
又该结构包括四个links(包括地面,且两处地面看作同一个link), n = 4 n=4 n=4.
有4个joint,即 p = 4 p=4 p=4。每个joint都只有一个自由度, n i = 1 n_i=1 ni=1.

故:
d o f = s × ( n − 1 − p ) + ∑ i = 1 p n i = 3 × ( 4 − 1 − 4 ) + 4 × 1 = 1 dof=s\times (n-1-p)+\sum^{p}_{i=1}{n_i}\\ \qquad= 3\times(4-1-4)+4\times1=1 dof=s×(n1p)+i=1pni=3×(414)+4×1=1

例2.

Alt
同理:
d o f = s × ( n − 1 − p ) + ∑ i = 1 p n i = 3 × ( 5 − 1 − 4 ) + 4 × 1 = 4 dof=s\times (n-1-p)+\sum^{p}_{i=1}{n_i}\\ \qquad= 3\times(5-1-4)+4\times1=4 dof=s×(n1p)+i=1pni=3×(514)+4×1=4

例3.

Alt
同理:
d o f = s × ( n − 1 − p ) + ∑ i = 1 p n i = 3 × ( 6 − 1 − 7 ) + 7 × 1 = 1 dof=s\times (n-1-p)+\sum^{p}_{i=1}{n_i}\\ \qquad= 3\times(6-1-7)+7\times1=1 dof=s×(n1p)+i=1pni=3×(617)+7×1=1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/65623.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c# WaitSleepJoin状态的线程如何自动恢复

在 C# 中,线程的 ThreadState.WaitSleepJoin 状态表示线程当前处于等待、睡眠或加入(比如等待锁、等待事件、或者调用 Thread.Sleep 等)。要让一个处于 WaitSleepJoin 状态的线程恢复运行,必须唤醒它或让它不再被阻塞。这通常通过…

初学stm32---高级定时器输出n个pwm波

目录 高级定时器简介:(F1) 高级定时器框图 重复计数器特性 高级定时器输出指定个数PWM实验原理 高级定时器输出指定个数PWM实验配置步骤 相关HAL库函数介绍 关键结构体介绍 高级定时器简介:(F1) 1.高级定时器 :TIM1/TIM8 2.主要特性&…

【每日学点鸿蒙知识】Shape描述、全局loading组件、checkbox样式、H5监听键盘收起、弹窗不关闭

1、HarmonyOS 有没有xml描述的Shape? 有没有xml描述的Shape? 官方文档有对用的Shape的参考文档,参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-drawing-components-shape-V5 绘制组件的父…

完整的 FFmpeg 命令使用教程

FFmpeg 是一个开源的跨平台音视频处理工具,它能够处理几乎所有的视频、音频格式,并提供了强大的功能如格式转换、视频剪辑、合并、提取音频等。FFmpeg 通过命令行界面(CLI)操作,尽管有一些图形界面的前端工具&#xff…

Mono里运行C#脚本5—mono_file_map_open

前面介绍了mono_jit_init初始化,这个函数非常长,要理解起来还是比较困难。因此改变另外一种方式,先从底层的函数开始,再慢慢来探索mono的底层实现,以及它的实现原理,运行的细节。 Mono要运行exe文件,这里是运行test-embed.exe文件,那么就得认识这个文件,解释这个文件的…

【MySQL】踩坑笔记——保存带有换行符等特殊字符的数据,需要进行转义保存

问题描述 从DBeaver中导出了部分业务数据的 insert sql,明明在开发、测试环境都可以一把执行通过,却在预发环境执行前的语法检查失败了,提示有SQL语法错误。 这条SQL长这样,default_sql是要在odps上执行的sql语句,提…

matlab中的cell

在MATLAB中,cell 是一种非常重要的数据类型,它能够存储不同类型和大小的数据,这使得它非常灵活,适用于处理复杂的数据结构。 1. 基本介绍 cell 类型的变量可以存储不同类型的数据,如数值、字符、结构体、甚至其他的 …

GPU 进阶笔记(二):华为昇腾 910B GPU

大家读完觉得有意义记得关注和点赞!!! 1 术语 1.1 与 NVIDIA 术语对应关系1.2 缩写2 产品与机器 2.1 GPU 产品2.2 训练机器 底座 CPU功耗操作系统2.3 性能3 实探:鲲鹏底座 8*910B GPU 主机 3.1 CPU3.2 网卡和网络3.3 GPU 信息 3.3…

Excel中一次查询返回多列

使用Excel或wps的时候,有时候需要一次查询返回多列内容,这种情况可以选择多次vlookup或者多次xlookup,但是这种做法费时费力不说,效率还有些低下,特别是要查询的列数过多时。我放了3种查询方法,效果图&…

网络基础入门到深入(2):网络协议-TCP/IP协议栈

目录 一.TCP/IP协议栈的四层结构 二.每一层的作用与协议 1.作用层 作用: 常见协议: 示例: 2.传输层 作用: 核心功能: 3.网络层 作用: 核心功能: 常见协议: 示例: 4.数据链路层(物理层) 作用: 核心功能: 常见技术: 示例: 三.TCP/IP协议栈的分层…

C语言 练习

1.按顺序打印三个数 //按大小顺序打印三个数字 void Swap(int* px, int* py) {int tmp *px;*px *py;*py tmp; } int main() {int a 0;int b 0;int c 0;scanf("%d %d %d", &a, &b, &c);if (a < b){Swap(&a,&b);}if (a < c){Swap(&am…

爱思唯尔word模板

爱思唯尔word模板 有时候并不一定非得latex https://download.csdn.net/download/qq_38998213/90199214 参考文献书签链接

flask后端开发(3):html模板渲染

目录 渲染模板html模板获取路由参数 gitcode地址&#xff1a; https://gitcode.com/qq_43920838/flask_project.git 渲染模板 这样就能够通过html文件来渲染前端&#xff0c;而不是通过return了 html模板获取路由参数

Spring发布-订阅模式:解耦与异步通信的高效实现

文章目录 前言一、发布订阅模式的基本概念二、发布订阅模式的实现1、定义事件2、发布事件3、订阅事件3.1、ApplicationListener接口3.2、EventListener注解3.3、事件源Object source的作用 三、开发应用场景1、社交网络平台2、电商系统3、金融交易系统 总结 前言 Spring框架通过…

配置hive支持中文注释

hive元数据metastore默认的字符集是latin1&#xff0c;所以中文注释会乱码。但是不能将metastore库的字符集更改为utf-8&#xff0c;只能对特定表、特定列修改为utf-8。配置hive支持中文注释&#xff0c;主要在两个方面&#xff1a; 1、在Hive元数据存储的Mysql数据库中&#…

python实战案例笔记:统计出数据中路劲下没有文件的文件夹

数据样例&#xff1a;&#x1f447;有如下excel数据 需求&#xff1a;有如下excel&#xff0c;a.xls&#xff0c;统计出路劲下没有文件的路劲 详细实现代码&#xff1a; import os from openpyxl import Workbook from datetime import datetimedef get_empty_dirs(paths):# …

docker使用国内镜像

可用地址 https://docker.m.daocloud.io https://docker.rainbond.cc https://docker.1ms.run方法1:配置(需要重启docker) sudo vim /etc/docker/daemon.json # 在registry-mirrors中添加地址(没有的就直接创建了) #比如 {"registry-mirrors": ["https://dock…

机械臂的各种标定

文章目录 1. 工具坐标系标定2. 工具手标定3. 手眼标定联系 在工程中&#xff0c;同时使用工具坐标系标定、工具手标定和手眼标定的概念、目的和作用如下&#xff1a; 1. 工具坐标系标定 概念&#xff1a; 工具坐标系标定是指确定工具相对于机器人坐标系的位置和姿态关系的过程…

Oracle Managed Files(OMF)

Oracle Managed Files 是指&#xff1a; 在创建表空间文件等文件时&#xff0c;可以不必指定文件路径&#xff0c;由Oracle自动在某个目录下创建&#xff0c;文件名也是Oracle自动命名。 那这个OMF怎么使能呢&#xff1f; 其实是靠设置一些参数&#xff0c;指定要存储的目录…

GXUOJ-算法-第一次作业(整数划分、汉诺塔、排列问题、数塔问题)

1.整数划分 问题描述 GXUOJ | 整数划分 题解 #include<bits/stdc.h> using namespace std; const int N1010,mod1e97;int n; int f[N];int main(){cin>>n;f[0]1;for(int i1;i<n;i){for(int ji;j<n;j){f[j](f[j]f[j-i])%mod;}}cout<<f[n]; } 2.汉诺塔…