2. 自由度

article/2025/10/13 11:40:24

目录

 

1. 自由度的定义

2. 自由度的计算

2.1 刚体的自由度

2.2 运动副

2.3 自由度算例

2.4 自由度计算公式

3. 总结


1. 自由度的定义

自由度在很多领域中会出现,对于机器人而言,我们这里谈的也就是机构的自由度。任何一台机器人都可以认为是一个机构。所谓自由度通俗的讲就是为了唯一确定一个机构的运动状态所必须的独立变量的个数

在自由度的定义中,唯一、必须、独立是三个比较关键的词。唯一确定即给定这些变量后机器人具有唯一的位型;必须则是一种最少的概念,也就是能够确定机器人状态的最少的变量数;独立则表示这些变量可以独立的变化。

我们以一个二连杆机器人为例,如下图所示。

很明显为了确定这个二连杆机器人的运动所需的独立变量个数为2。图中的角度x1和x2就是为了确定二连杆机器人当前状态的一组独立变量。当然这种独立变量并不唯一,我们同样可以选择角度x1和始末两端连线长度r来描述机器人当前状态。在分析力学中这组独立变量又被称为广义坐标,这个概念我们暂时不提,后面会有涉及。

2. 自由度的计算

2.1 刚体的自由度

在给出具体的公式之前,我们首先考虑,一个不受任何约束的刚体在空间中的自由度,很显然应该是6。因为刚体可以沿着x,y,z三个坐标轴方向平移,也可以绕着x,y,z三个轴旋转。因此为了确定一个不受约束的刚体的运动状态,我们需要六个独立的变量。如下面的图所示。x,y,z可以唯一确定刚体上的一个点,但是只有这三个变量,刚体依然可以绕该点做任意的旋转运动,因此还需要Wx,Wy,Wz三个姿态变量来确定刚体的姿态,这也就是刚体的定位和定姿。

机器人通常是由连杆构成,我们通常将每一个连杆看作一个刚体,因此不考虑连杆之间的连接时,机器人每个连杆都有6个自由度。对于一个有n个连杆的机器人,如果不考虑连杆约束那么它的自由度是6n。

2.2 运动副

机器人连杆之间的相互连接引入了约束。在机构学上将这种约束称为运动副。运动副是指两个构件既保持接触又有相对运动的活动连接。下图是一些比较常见的运动副。

移动副是一种使两个构件发生相对移动的连接结构,它具有一个移动自由度,约束了刚体其他5个运动。(只能沿某一个轴平移,缺少三个旋转自由度和两个平移自由度);

转动副是一种使两个构件发生相对转动的连接结构,它具有一个转动自由度,约束了刚体的其他5个运动。

圆柱副是一种使两个构件发生同轴转动和移动的连接结构,通常由共轴的转动副和移动副组合而成。它具有两个独立的自由度,约束了刚体的其他4个运动。

2.3 自由度算例

如下图所示是一个SCARA(水平多关节机器人)机器人。

机器人的第一和第二关节为旋转关节,第三关节为移动关节,第四关节为旋转关节。这样一个机器人自由度如何计算呢。

首先第一个连杆是基座,由于基座固定,因此其自由度为0;

第二个连杆通过转动副与第一个连杆相连,转动副引入五个约束。

第三个连杆通过转动副连接到第二个连杆,同样引入五个约束。

第四个连杆通过滚珠丝杆花件连接到第三个连杆,滚珠丝杠有两个自由度,可以认为是一个圆柱副,这个连接引入了四个约束。

而机器人总共有四个连杆,那么总的连杆自由度数为4*6=24;总的约束为6+5+5+4=20。因此机器人的自由度为4。

2.4 自由度计算公式

因此总的来说,自由度计算公式如下:

                                                                                   F= 6\cdot n-\sum_{i=1}^{g} p_{i}

其中,n代表连杆数量,6代表我们探讨问题的空间的维度,通常为3维的平面空间或者6维的立体空间,g为运动副的个数,pi代表第i个运动副所带来的约束的个数。

当然关于自由度有许多更为艰深的话题,这绝对不是上面这个简简单单的公式能够完全探讨清楚的,实际上上面的公式并不能计算所有机构的自由度。在现代通常利用拓扑学,李群等更复杂的数学来诠释自由度。

但是对于机器人学而言,我们能够理解到当前这个程度已基本够用。有时我们甚至可以认为驱动器的个数就是机器人的自由度。

3. 总结

关于自由度就先介绍到这里,之后将介绍坐标系变换,这是整个机器人学的根基。由于个人能力有限,所述内容难免存在疏漏,欢迎指出,欢迎讨论。

下一篇:3. 机器人正运动学---坐标系及其变换


http://chatgpt.dhexx.cn/article/o0AiNXVe.shtml

相关文章

自由度

刚体的自由度 自由度指物体能够对坐标系进行独立运动的数目,物体所能进行的运动如下图: 一个物体可以相对于坐标系,进行三个平移和三个旋转运动,即一个简单的物体有六个自由度。 2 运动副与关节 运动副是两构件直接接触并能产…

约束度与自由度

约束度与自由度 无论是在机械原理与机械设计课程,还是在理论力学课程中,我们都会遇到约束度与自由度,但我未曾想在宇哥的线性代数课上也能听到这两个熟悉的名词。在线性代数第四讲线性方程组课程中,宇哥在讲到齐次线性方程组的有解…

这是你希望的自由职业么

每到周末文章的打开率和阅读量就变得惨淡的不行,索性就不分享干货,闲聊一下九月份私活结束后的自由职业经历。看看这是否是你向往的自由职业生活状态么? 九月份,忙完了手头的项目,也没心思找工作,一心想着借…

计算机屏幕截图按什么键,电脑按什么键自由截图

在我们工作生活中经常需要用到电脑截图来截取保存些重要信息,不过对于电脑新手来说还是不太清楚电脑怎么截图,问小编电脑按什么键自由截图。那今天小编就给大家介绍一个电脑截图的快捷方式,希望能帮到大家。 台式电脑使用快捷键进行截图&…

什么是机器人的自由度

自由度是机器人的一个重要技术指标,它是由机器人的结构决定的,并直接影响到机器人的机动性。 1. 刚体的自由度 物体上任何一点都与坐标轴的正交集合有关。物体能够对坐标系进行独立运动的数目称为自由度(DOF,degree of freedom)。…

讲讲什么是自由度

总第223篇/张俊红 我们在前面的方差分析中有提过一个概念就是自由度,在前面文章中给了一个计算就是自由度样本数-1。这一篇就来具体聊聊什么是自由度。 先来看看百度百科的解释: 自由度(degree of freedom, df)指的是计算某一统计量时,取值不…

什么是自由软件?

关注星标公众号,不错过精彩内容 来源 | www.gnu.org 编排 | strongerHuang 可能你认为免费软件,就是自由软件,那么你肯定错了,下面来听听专家怎么描述自由软件的。 strongerHuang 1 自由软件定义 开源(Open source&…

解构“自由”

“知乎”上有一个高票答案,研究了“什么样的人最自由”这个问题,作者“清流”说1: 我以前跟我的第一任老板讨论过一个问题:人类想要自由还是不想?结论是,绝大多数人本质上是不想要自由的,他们想…

Kettle工具入门

Kettle工具入门 Kettle工具入门 Kettle是什么?为什么要用Kettle?怎么用Kettle? 下载运行简单应用 表到表转换json到表的操作参考 Kettle是什么? Kettle是水壶。 “多喝热水”是我们对女朋友美好的祝福。因为未经处理的生水&#…

kettle安装及使用

文章目录 1、kettle简述1.1、kettle是什么 2、kettle安装配置2.1、先决条件2.1.1、安装jdk8 2.2、kettle下载2.3、打开kettle 3、kettle基本概念3.1、转换和作业3.2、运行工具3.2.1、SPOON3.2.2、KITCHEN和PAN3.2.3、Carte kettle基本使用及常见问题 1、kettle简述 1.1、kettl…

Kettle的下载安装教程和使用简介(内含第一个kettle转换案例)

本文首先介绍Kettle工具的安装及基本概念,然后通过一个案例实操介绍Kettle工具的使用。 本文重要的内容如下: Kettle的安装 1.Java的安装 登录Java的官网后,进入到下载页面:http://www.oracle.com/technetwork/java/javase/downl…

kettle Hello World教程

kettle Hello World教程 1、HelloWorld 示例 通过这个例子,介绍kettle的一些基础知识及应用: n 使用Spoon工具 n 转换的创建 n 步骤及连线 n 预定义变量 n 在Spoon中预览和执行 n 使用pan工具在终端窗口执行转换 概述 我们要实现的目标是…

kettle入门

目录 前言 一、kettle是什么 二、kettle 安装与基本使用 2.1 kettle 安装 2.2 kettle的基础使用 2.21 做一个简单的转换样例 2.2.2 小技巧 三、转换常用组件使用 3.1 输入模块 3.1.1 生成记录 3.1.2 表输入 3.2 输出模块 3.2.1表输出 3.3.2 插入/更新 3.3.3 更新 …

最新版kettle安装教程!!!

终于又想起来要把ketlle装好了,原先我是在虚拟机用的kettle,可是切换还是太麻烦了,今天想说装一个mac版的。进到官网发现它已经换地址了。。。 好巧不巧,刚好是6月5号换的。sad。 1、下载kettle 其实kettle的下载文件是mac和wi…

Kettle使用教程(一)

Kettle自己有三个主要组件:Spoon,Kitchen,Pan。其中Spoon是一个图形化的界面,用于windows的时候,先设置环境变量:pentaho_java_home,例如:C:\Program Files\Java\jdk1.7.0_25&…

Kettle — 安装和部署

前提 Kettle是纯Java编写的ETL开源工具,目前Kettle7和Kettle8都需要Java8或者以上才能正常运行。所以开运行Kettle前先检查Java环境是否正确配置,Java版本是否是8或者以上。 Kettle安装 1)创建Kettle的目录,并将Kettle的zip包解…

kettle实战教程-纯实战开发

kettle实战教程-纯实战开发 欢迎关注笔者的公众号: java大师, 每日推送java、kettle运维等领域干货文章,关注即免费无套路附送 100G 海量学习、面试资源哟!!个人网站: http://www.javaman.cn/kettle/kettle-actual Kettle简介:Ket…

Kettle安装及配置

安装环境说明 jdk 采用 jdk-8u102-windows-x64 kettle采用kettle 8.2 文末,博主会将kettle下载地址附上,还包含其他版本(作为本专栏开博小福利)。kettle9.0版本以下,本教程都适用,kettle9.0及更新的其他版本…

Kettle的安装和使用

Kettle简介 Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,数据抽取高效稳定。 Kettle是“Kettle E.T.T.L. Envirnonment“只取首字母的缩写,这意味着它被设计用来帮助你实现你的 ETTL 需要&#…

Kettle 使用详解

第0章 ETL简介 ETL (Extract-Transform-Load 的缩写,即数据抽取、转换、装载的过程),对于企业或行业应用来说,我们经常会遇到各种数据的处理,转换,迁移,所以了解并掌握一种ETL工具的使用,必不可…