[足式机器人]Part3 机构运动学与动力学分析与建模 Ch00-4(2) 刚体的速度与角速度

本文仅供学习使用,总结很多本现有讲述运动学或动力学书籍后的总结,从矢量的角度进行分析,方法比较传统,但更易理解,并且现有的看似抽象方法,两者本质上并无不同。

2024年底本人学位论文发表后方可摘抄
若有帮助请引用
本文参考:
.

食用方法
求解逻辑:速度与加速度都是在知道角速度与角加速度的前提下——旋转运动更重要
所求得的速度表达-需要考虑是否为刚体相对固定点!
旋转矩阵?转换矩阵?有什么意义和性质?——与角速度与角加速度的关系
务必自己推导全部公式,并理解每个符号的含义

机构运动学与动力学分析与建模 Ch00-4 刚体的速度与角速度 Part2

    • 4.2 速度传递
    • 4.3 运动刚体的加速度与角加速度
      • 4.3.1 欧拉角表示角加速度
      • 4.3.2 待补充
    • 4.3 刚体运动的旋量表达方式


4.2 速度传递

对于连续转动的坐标系而言,有:
{ [ Q M F ] = [ Q F 1 F ] [ Q F 2 F 1 ] ⋯ [ Q M F n − 1 ] ω ⃗ ~ F = [ Q ˙ M F ] [ Q M F ] T ⇒ ω ⃗ ~ F = ( [ Q ˙ F 1 F ] [ Q F 2 F 1 ] ⋯ [ Q M F n − 1 ] + [ Q F 1 F ] [ Q ˙ F 2 F 1 ] ⋯ [ Q M F n − 1 ] + ⋯ + [ Q F 1 F ] [ Q F 2 F 1 ] ⋯ [ Q ˙ M F n − 1 ] ) ⋅ [ Q M F n − 1 ] T ⋯ [ Q F 2 F 1 ] T [ Q F 1 F ] T ⇒ ω ⃗ ~ F = [ Q ˙ F 1 F ] [ Q F 1 F ] T + [ Q F 1 F ] [ Q ˙ F 2 F 1 ] [ Q F 2 F 1 ] T [ Q F 1 F ] T + [ Q F 2 F ] [ Q ˙ F 3 F 2 ] [ Q F 3 F 2 ] T [ Q F 2 F ] T + ⋯ [ Q F n − 1 F ] [ Q ˙ M F n − 1 ] [ Q M F n − 1 ] T [ Q F n − 1 F ] T ⇒ ω ⃗ ~ F = ω ⃗ ~ F 1 F + [ Q F 1 F ] ω ⃗ F 2 F 1 ~ + [ Q F 2 F ] ω ⃗ F 3 F 2 ~ + ⋯ + [ Q F n − 1 F ] ω ⃗ M F n − 1 ~ ⇒ ω ⃗ F = ω ⃗ F 1 F + [ Q F 1 F ] ω ⃗ F 2 F 1 + ⋯ + [ Q F n − 1 F ] ω ⃗ M F n − 1 \begin{split} &\left\{ \begin{array}{c} \left[ Q_{\mathrm{M}}^{F} \right] =\left[ Q_{\mathrm{F}_1}^{F} \right] \left[ Q_{\mathrm{F}_2}^{F_1} \right] \cdots \left[ Q_{\mathrm{M}}^{F_{\mathrm{n}-1}} \right]\\ \tilde{\vec{\omega}}^F=\left[ \dot{Q}_{\mathrm{M}}^{F} \right] \left[ Q_{\mathrm{M}}^{F} \right] ^{\mathrm{T}}\\ \end{array} \right. \\ \Rightarrow \tilde{\vec{\omega}}^F&=\left( \left[ \dot{Q}_{\mathrm{F}_1}^{F} \right] \left[ Q_{\mathrm{F}_2}^{F_1} \right] \cdots \left[ Q_{\mathrm{M}}^{F_{\mathrm{n}-1}} \right] +\left[ Q_{\mathrm{F}_1}^{F} \right] \left[ \dot{Q}_{\mathrm{F}_2}^{F_1} \right] \cdots \left[ Q_{\mathrm{M}}^{F_{\mathrm{n}-1}} \right] +\cdots +\left[ Q_{\mathrm{F}_1}^{F} \right] \left[ Q_{\mathrm{F}_2}^{F_1} \right] \cdots \left[ \dot{Q}_{\mathrm{M}}^{F_{\mathrm{n}-1}} \right] \right) \cdot \left[ Q_{\mathrm{M}}^{F_{\mathrm{n}-1}} \right] ^{\mathrm{T}}\cdots \left[ Q_{\mathrm{F}_2}^{F_1} \right] ^{\mathrm{T}}\left[ Q_{\mathrm{F}_1}^{F} \right] ^{\mathrm{T}} \\ \Rightarrow \tilde{\vec{\omega}}^F&=\left[ \dot{Q}_{\mathrm{F}_1}^{F} \right] \left[ Q_{\mathrm{F}_1}^{F} \right] ^{\mathrm{T}}+\left[ Q_{\mathrm{F}_1}^{F} \right] \left[ \dot{Q}_{\mathrm{F}_2}^{F_1} \right] \left[ Q_{\mathrm{F}_2}^{F_1} \right] ^{\mathrm{T}}\left[ Q_{\mathrm{F}_1}^{F} \right] ^{\mathrm{T}}+\left[ Q_{\mathrm{F}_2}^{F} \right] \left[ \dot{Q}_{\mathrm{F}_3}^{F_2} \right] \left[ Q_{\mathrm{F}_3}^{F_2} \right] ^{\mathrm{T}}\left[ Q_{\mathrm{F}_2}^{F} \right] ^{\mathrm{T}}+\cdots \left[ Q_{\mathrm{F}_{\mathrm{n}-1}}^{F} \right] \left[ \dot{Q}_{\mathrm{M}}^{F_{\mathrm{n}-1}} \right] \left[ Q_{\mathrm{M}}^{F_{\mathrm{n}-1}} \right] ^{\mathrm{T}}\left[ Q_{\mathrm{F}_{\mathrm{n}-1}}^{F} \right] ^{\mathrm{T}} \\ \Rightarrow \tilde{\vec{\omega}}^F&=\tilde{\vec{\omega}}_{\mathrm{F}_1}^{F}+\widetilde{\left[ Q_{\mathrm{F}_1}^{F} \right] \vec{\omega}_{\mathrm{F}_2}^{F_1}}+\widetilde{\left[ Q_{\mathrm{F}_2}^{F} \right] \vec{\omega}_{\mathrm{F}_3}^{F_2}}+\cdots +\widetilde{\left[ Q_{\mathrm{F}_{\mathrm{n}-1}}^{F} \right] \vec{\omega}_{\mathrm{M}}^{F_{\mathrm{n}-1}}} \\ \Rightarrow \vec{\omega}^F&=\vec{\omega}_{\mathrm{F}_1}^{F}+\left[ Q_{\mathrm{F}_1}^{F} \right] \vec{\omega}_{\mathrm{F}_2}^{F_1}+\cdots +\left[ Q_{\mathrm{F}_{\mathrm{n}-1}}^{F} \right] \vec{\omega}_{\mathrm{M}}^{F_{\mathrm{n}-1}} \end{split} ω ~Fω ~Fω ~Fω F [QMF]=[QF1F][QF2F1][QMFn1]ω ~F=[Q˙MF][QMF]T=([Q˙F1F][QF2F1][QMFn1]+[QF1F][Q˙F2F1][QMFn1]++[QF1F][QF2F1][Q˙MFn1])[QMFn1]T[QF2F1]T[QF1F]T=[Q˙F1F][QF1F]T+[QF1F][Q˙F2F1][QF2F1]T[QF1F]T+[QF2F][Q˙F3F2][QF3F2]T[QF2F]T+[QFn1F][Q˙MFn1][QMFn1]T[QFn1F]T=ω ~F1F+[QF1F]ω F2F1 +[QF2F]ω F3F2 ++[QFn1F]ω MFn1 =ω F1F+[QF1F]ω F2F1++[QFn1F]ω MFn1
此时, ω ⃗ F 1 F \vec{\omega}_{\mathrm{F}_1}^{F} ω F1F理解为,坐标系 { F 1 } \left\{ F_1 \right\} {F1}所代表的刚体在坐标系 { F } \left\{ F \right\} {F}下的角速度参数。

4.3 运动刚体的加速度与角加速度

v ⃗ P i M = ( ω ⃗ ~ M − [ Q M F ] T [ Q ˙ M F ] ) R ⃗ P i M \vec{v}_{\mathrm{P}_{\mathrm{i}}}^{M}=\left( \tilde{\vec{\omega}}^M-\left[ Q_{\mathrm{M}}^{F} \right] ^{\mathrm{T}}\left[ \dot{Q}_{\mathrm{M}}^{F} \right] \right) \vec{R}_{\mathrm{P}_{\mathrm{i}}}^{M} v PiM=(ω ~M[QMF]T[Q˙MF])R PiM 进一步求导,可计算出其运动刚体上点 P i P_i Pi的加速度为:
v ⃗ P i F = v ⃗ M F + [ Q ˙ M F ] R ⃗ P i M + [ Q M F ] R ⃗ ˙ P i M = v ⃗ M F + ω ⃗ ~ F [ Q M F ] R ⃗ P i M + [ Q M F ] v ⃗ P i M ⇒ a ⃗ P i F = a ⃗ M F + ( ω ⃗ ~ ˙ F [ Q M F ] R ⃗ P i M + ω ⃗ ~ F [ Q ˙ M F ] R ⃗ P i M + ω ⃗ ~ F [ Q M F ] v ⃗ P i M ) + ( [ Q ˙ M F ] v ⃗ P i M + [ Q M F ] a ⃗ P i M ) ⇒ a ⃗ P i F = a ⃗ M F + ( α ⃗ ~ F [ Q M F ] R ⃗ P i M + ω ⃗ ~ F ω ⃗ ~ F [ Q M F ] R ⃗ P i M + ω ⃗ ~ F [ Q M F ] v ⃗ P i M ) + ( ω ⃗ ~ F [ Q M F ] v ⃗ P i M + [ Q M F ] a ⃗ P i M ) ⇒ a ⃗ P i F = a ⃗ M F + α ⃗ ~ F ( R ⃗ P i M ) F + ω ⃗ ~ F ω ⃗ ~ F ( R ⃗ P i M ) F + 2 ω ⃗ ~ F ( v ⃗ P i M ) F + ( a ⃗ P i M ) F \begin{split} &\vec{v}_{\mathrm{P}_{\mathrm{i}}}^{F}=\vec{v}_{\mathrm{M}}^{F}+\left[ \dot{Q}_{\mathrm{M}}^{F} \right] \vec{R}_{\mathrm{P}_{\mathrm{i}}}^{M}+\left[ Q_{\mathrm{M}}^{F} \right] \dot{\vec{R}}_{\mathrm{P}_{\mathrm{i}}}^{M}=\vec{v}_{\mathrm{M}}^{F}+\tilde{\vec{\omega}}^F\left[ Q_{\mathrm{M}}^{F} \right] \vec{R}_{\mathrm{P}_{\mathrm{i}}}^{M}+\left[ Q_{\mathrm{M}}^{F} \right] \vec{v}_{\mathrm{P}_{\mathrm{i}}}^{M} \\ \Rightarrow \vec{a}_{\mathrm{P}_{\mathrm{i}}}^{F}&=\vec{a}_{\mathrm{M}}^{F}+\left( \dot{\tilde{\vec{\omega}}}^F\left[ Q_{\mathrm{M}}^{F} \right] \vec{R}_{\mathrm{P}_{\mathrm{i}}}^{M}+\tilde{\vec{\omega}}^F\left[ \dot{Q}_{\mathrm{M}}^{F} \right] \vec{R}_{\mathrm{P}_{\mathrm{i}}}^{M}+\tilde{\vec{\omega}}^F\left[ Q_{\mathrm{M}}^{F} \right] \vec{v}_{\mathrm{P}_{\mathrm{i}}}^{M} \right) +\left( \left[ \dot{Q}_{\mathrm{M}}^{F} \right] \vec{v}_{\mathrm{P}_{\mathrm{i}}}^{M}+\left[ Q_{\mathrm{M}}^{F} \right] \vec{a}_{\mathrm{P}_{\mathrm{i}}}^{M} \right) \\ \Rightarrow \vec{a}_{\mathrm{P}_{\mathrm{i}}}^{F}&=\vec{a}_{\mathrm{M}}^{F}+\left( \tilde{\vec{\alpha}}^F\left[ Q_{\mathrm{M}}^{F} \right] \vec{R}_{\mathrm{P}_{\mathrm{i}}}^{M}+\tilde{\vec{\omega}}^F\tilde{\vec{\omega}}^F\left[ Q_{\mathrm{M}}^{F} \right] \vec{R}_{\mathrm{P}_{\mathrm{i}}}^{M}+\tilde{\vec{\omega}}^F\left[ Q_{\mathrm{M}}^{F} \right] \vec{v}_{\mathrm{P}_{\mathrm{i}}}^{M} \right) +\left( \tilde{\vec{\omega}}^F\left[ Q_{\mathrm{M}}^{F} \right] \vec{v}_{\mathrm{P}_{\mathrm{i}}}^{M}+\left[ Q_{\mathrm{M}}^{F} \right] \vec{a}_{\mathrm{P}_{\mathrm{i}}}^{M} \right) \\ \Rightarrow \vec{a}_{\mathrm{P}_{\mathrm{i}}}^{F}&=\vec{a}_{\mathrm{M}}^{F}+\tilde{\vec{\alpha}}^F\left( \vec{R}_{\mathrm{P}_{\mathrm{i}}}^{M} \right) ^F+\tilde{\vec{\omega}}^F\tilde{\vec{\omega}}^F\left( \vec{R}_{\mathrm{P}_{\mathrm{i}}}^{M} \right) ^F+2\tilde{\vec{\omega}}^F\left( \vec{v}_{\mathrm{P}_{\mathrm{i}}}^{M} \right) ^F+\left( \vec{a}_{\mathrm{P}_{\mathrm{i}}}^{M} \right) ^F \end{split} a PiFa PiFa PiFv PiF=v MF+[Q˙MF]R PiM+[QMF]R ˙PiM=v MF+ω ~F[QMF]R PiM+[QMF]v PiM=a MF+(ω ~˙F[QMF]R PiM+ω ~F[Q˙MF]R PiM+ω ~F[QMF]v PiM)+([Q˙MF]v PiM+[QMF]a PiM)=a MF+(α ~F[QMF]R PiM+ω ~Fω ~F[QMF]R PiM+ω ~F[QMF]v PiM)+(ω ~F[QMF]v PiM+[QMF]a PiM)=a MF+α ~F(R PiM)F+ω ~Fω ~F(R PiM)F+2ω ~F(v PiM)F+(a PiM)F

P i P_i Pi为运动刚体上固定一点时,则有:
a ⃗ P i F = a ⃗ M F + α ⃗ ~ F ( R ⃗ P i M ) F + ω ⃗ ~ F ω ⃗ ~ F ( R ⃗ P i M ) F + 2 ω ⃗ ~ F ( v ⃗ P i M ↗ 0 ) F + ( a ⃗ P i M ↗ 0 ) F = a ⃗ M F + α ⃗ ~ F ( R ⃗ P i M ) F + ω ⃗ ~ F ω ⃗ ~ F ( R ⃗ P i M ) F \begin{split} \vec{a}_{\mathrm{P}_{\mathrm{i}}}^{F}&=\vec{a}_{\mathrm{M}}^{F}+\tilde{\vec{\alpha}}^F\left( \vec{R}_{\mathrm{P}_{\mathrm{i}}}^{M} \right) ^F+\tilde{\vec{\omega}}^F\tilde{\vec{\omega}}^F\left( \vec{R}_{\mathrm{P}_{\mathrm{i}}}^{M} \right) ^F+2\tilde{\vec{\omega}}^F\left( {\vec{v}_{\mathrm{P}_{\mathrm{i}}}^{M}}_{\nearrow 0} \right) ^F+\left( {\vec{a}_{\mathrm{P}_{\mathrm{i}}}^{M}}_{\nearrow 0} \right) ^F \\ &=\vec{a}_{\mathrm{M}}^{F}+\tilde{\vec{\alpha}}^F\left( \vec{R}_{\mathrm{P}_{\mathrm{i}}}^{M} \right) ^F+\tilde{\vec{\omega}}^F\tilde{\vec{\omega}}^F\left( \vec{R}_{\mathrm{P}_{\mathrm{i}}}^{M} \right) ^F \end{split} a PiF=a MF+α ~F(R PiM)F+ω ~Fω ~F(R PiM)F+2ω ~F(v PiM0)F+(a PiM0)F=a MF+α ~F(R PiM)F+ω ~Fω ~F(R PiM)F

4.3.1 欧拉角表示角加速度

ω ⃗ F = [ cos ⁡ β cos ⁡ γ − sin ⁡ γ 0 cos ⁡ β sin ⁡ γ cos ⁡ γ 0 − sin ⁡ β 0 1 ] [ α ˙ β ˙ γ ˙ ] \vec{\omega}^F=\left[ \begin{matrix} \cos \beta \cos \gamma& -\sin \gamma& 0\\ \cos \beta \sin \gamma& \cos \gamma& 0\\ -\sin \beta& 0& 1\\ \end{matrix} \right] \left[ \begin{array}{c} \dot{\alpha}\\ \dot{\beta}\\ \dot{\gamma}\\ \end{array} \right] ω F= cosβcosγcosβsinγsinβsinγcosγ0001 α˙β˙γ˙ 继续求导,可得:
ω ⃗ F = [ cos ⁡ β cos ⁡ γ − sin ⁡ γ 0 cos ⁡ β sin ⁡ γ cos ⁡ γ 0 − sin ⁡ β 0 1 ] [ α ˙ β ˙ γ ˙ ] ⇒ α ⃗ F = [ − sin ⁡ β cos ⁡ γ − cos ⁡ β sin ⁡ γ − cos ⁡ γ 0 cos ⁡ β cos ⁡ γ − sin ⁡ β sin ⁡ γ − sin ⁡ γ 0 − cos ⁡ β 0 0 ] [ α ˙ β ˙ γ ˙ ] + [ cos ⁡ β cos ⁡ γ − sin ⁡ γ 0 cos ⁡ β sin ⁡ γ cos ⁡ γ 0 − sin ⁡ β 0 1 ] [ α ¨ β ¨ γ ¨ ] \begin{split} \vec{\omega}^F=\left[ \begin{matrix} \cos \beta \cos \gamma& -\sin \gamma& 0\\ \cos \beta \sin \gamma& \cos \gamma& 0\\ -\sin \beta& 0& 1\\ \end{matrix} \right] \left[ \begin{array}{c} \dot{\alpha}\\ \dot{\beta}\\ \dot{\gamma}\\ \end{array} \right] \\ \Rightarrow \vec{\alpha}^F=\left[ \begin{matrix} -\sin \beta \cos \gamma -\cos \beta \sin \gamma& -\cos \gamma& 0\\ \cos \beta \cos \gamma -\sin \beta \sin \gamma& -\sin \gamma& 0\\ -\cos \beta& 0& 0\\ \end{matrix} \right] \left[ \begin{array}{c} \dot{\alpha}\\ \dot{\beta}\\ \dot{\gamma}\\ \end{array} \right] +\left[ \begin{matrix} \cos \beta \cos \gamma& -\sin \gamma& 0\\ \cos \beta \sin \gamma& \cos \gamma& 0\\ -\sin \beta& 0& 1\\ \end{matrix} \right] \left[ \begin{array}{c} \ddot{\alpha}\\ \ddot{\beta}\\ \ddot{\gamma}\\ \end{array} \right] \end{split} ω F= cosβcosγcosβsinγsinβsinγcosγ0001 α˙β˙γ˙ α F= sinβcosγcosβsinγcosβcosγsinβsinγcosβcosγsinγ0000 α˙β˙γ˙ + cosβcosγcosβsinγsinβsinγcosγ0001 α¨β¨γ¨

4.3.2 待补充

4.3 刚体运动的旋量表达方式

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

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

相关文章

关于树结构的数据的权限控制的算法

树结构的权限控制分两种:1、逐层加载;2、一次性加载 一、逐层加载 涉及的表结构 表名 T_PLAN 表字段 字段类型 是否必 须字段 说明 ID VARCHAR2(50) Y 主键 PARENT_ID VARCHAR2(50) Y 父项节点ID,默认根节点的父节点ID’-1’ TREEPATH VA…

前端moa gif json显示动画

JSON动画 第三方库或插件: 使用lottie-web库:将JSON文件导入,并在HTML中添加一个空的div作为容器,再调用lottie.loadAnimation()方法加载JSON文件,然后将其渲染到div容器中。使用bodymovin插件:将JSON文件…

搜索与图论第二期 BFS

前言 BFS跟DFS同样重要,也一定要熟练的掌握!!! 一、BFS的基本内容 BFS是从根节点开始,沿着树(图)的宽度遍历树(图)的节点。 如果所有节点均被访问,则算法中止。 BFS同样属于盲目搜索。 一般用队列数据结…

shell mapfile命令(readarray命令)介绍(读取行到数组变量)(进程替换+重定向< <()、()> >)

文章目录 shell mapfile命令(readarray命令)介绍mapfile --help英文中文 简单使用教程创建一个测试文件使用mapfile命令读取文件打印数组内容 各选项详解1. -d delim:使用DELIM来终止行,而不是换行原理示例 2. -n count&#xff1…

Agisoft Metashape 基于影像的外部点云着色

Agisoft Metashape 基于影像的外部点云着色 文章目录 Agisoft Metashape 基于影像的外部点云着色前言一、添加照片二、对齐照片三、导入外部点云四、为点云着色五、导出彩色点云前言 本教程介绍了在Agisoft Metashape Professional中,将照片中的真实颜色应用于从不同源获取的…

一键替换SQL中gt;或lt;为<>大于小于符号或一键转换<或>为gt;lt;

一键替换SQL中>或<为<>大于小于符号或一键转换<或>为>< 一、转义字符的困扰二、解决方法三、一键替换转义符教程四、Notepad的宏功能进行转义字符的转换具有以下优点&#xff1a; 一、转义字符的困扰 在日常开发中&#xff0c;处理大量的SQL数据时&am…

使用推测解码 (Speculative Decoding) 使 Whisper 实现 2 倍的推理加速

Open AI 推出的 Whisper 是一个通用语音转录模型&#xff0c;在各种基准和音频条件下都取得了非常棒的结果。最新的 large-v3 模型登顶了 OpenASR 排行榜&#xff0c;被评为最佳的开源英语语音转录模型。该模型在 Common Voice 15 数据集的 58 种语言中也展现出了强大的多语言性…

【期末不挂科-C++考前速过系列P1】大二C++第1次过程考核(3道简述题&7道代码题)【解析,注释】

前言 大家好吖&#xff0c;欢迎来到 YY 滴C复习系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C的老铁 主要内容含&#xff1a; 欢迎订阅 YY滴C专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; YY的《C》专栏YY的《C11》专栏YY的《Lin…

GitHub SSH 身份验证原理

HTTPS 跟 SSH 方式连接远程仓库的区别是什么&#xff1f; HTTPS和SSH是两种不同的协议&#xff0c;用于连接到远程Git仓库。它们的主要区别在于身份验证方式和连接方式&#xff1a; HTTPS&#xff1a;使用用户名和密码或者个人访问令牌&#xff08;Personal Access Token&…

SQL-修改数据

目录 DML-修改数据 删除数据 总结 &#x1f389;欢迎您来到我的MySQL基础复习专栏 ☆* o(≧▽≦)o *☆哈喽~我是小小恶斯法克&#x1f379; ✨博客主页&#xff1a;小小恶斯法克的博客 &#x1f388;该系列文章专栏&#xff1a;重拾MySQL &#x1f4dc;其他专栏&#xff1a;…

python爬虫实战(8)--获取虎pu热榜

1. 需要的类库 import requests from bs4 import BeautifulSoup import pandas as pd2. 请求地址 def fetch_data():url "https://bbs.xxx.com/" # Replace with the actual base URLresponse requests.get(url)if response.status_code 200:return response.c…

【python 的各种模块】(9) 在python使用PIL,即pillow模块

目录 1 导入PIL模块&#xff08;pillow&#xff09; 1.1 导入PIL模块 1.1.1 可用的导入形式 1.1.2 常用的导入形式 1.1.3 PIL下面的常用子模块 2 用 PIL读入&#xff0c;生成和显示图片 2.1 用 PIL.Image.open() 可以读入图片 2.2 用PIL.Image.new() 生成新图片 2.3 …

如何从多个文件夹里各提取相应数量的文件放一起到新文件夹中形成多文件夹组合

首先&#xff0c;需要用到的这个工具&#xff1a; 百度 密码&#xff1a;qwu2蓝奏云 密码&#xff1a;2r1z 说明一下情况 文件夹&#xff1a;1、2、3里面分别放置了各100张动物的图片&#xff0c;模拟实际情况的各种文件 操作&#xff1a;这里演示的是从3个文件夹里各取2张图…

移动安全-certutil

1 需求 需求1&#xff1a;获取应用文件的MD5 CertUtil -hashfile 文件路径 MD5 2 语法 C:\>certutil -?动词:-dump -- 转储配置信息或文件-dumpPFX -- 转储 PFX 结构-asn -- 分析 ASN.1 文件-decodehex -- 解码十六进制编码的…

MySQL 按日期流水号 条码 分布式流水号

有这样一个场景&#xff0c;有多台终端&#xff0c;要获取唯一的流水号&#xff0c;流水号格式是 日期0001形式&#xff0c;使用MySQL的存储过程全局锁实现这个需求。 以下是代码示例。 注&#xff1a;所有的终端连接到MySQL服务器获取流水号&#xff0c;如果获取到的是 “-1”…

软件测试|好用的pycharm插件推荐(二)—— JSON Parser

简介 PyCharm是一款强大的Python集成开发环境&#xff08;IDE&#xff09;&#xff0c;它提供了许多插件来增强开发体验。其中一个非常有用的插件是"JSON Parser"&#xff0c;它允许你在PyCharm中轻松解析和处理JSON数据。在本文中&#xff0c;我们将详细介绍如何安…

RTMO 姿态识别

RTMO 姿态识别 预测示例: # Copyright (c) OpenMMLab. All rights reserved. from argparse import ArgumentParser from typing import Dictfrom mmpose.apis.inferencers import MMPoseInferencer, get_model_aliasesfilter_args = dict(bbox_thr=0.3, nms_thr=0.3, pose_…

文件操作(与缓存相关的)相关笔记

与缓存相关就是一行一行进行读写&#xff0c;或者直接读写整个文件 1.BufferedInputStream&#xff0c;字节 1.构造方法&#xff1a; new BufferedInputStream(FileInputStream对象)&#xff1b; 2.读取文件 除了基础的read方法之外还有一个readAlllBytes方法可以返回这个文件…

linux手动安装 vscode-server

适用场景 很多时候&#xff0c;我们需要在本机&#xff08;比如windows&#xff09;通过remote ssh访问远程服务器&#xff08;一般是ubuntu&#xff09;&#xff0c;但经常出现 vscode 一直连不上远程服务器的情况&#xff0c;看一下 log&#xff1a; 这个log表示远程服务器…

python的猴子补丁(Monkey Patching)

1. 什么是猴子补丁 Python是一种典型的动态脚本语言。它不仅具有 动态类型(dynamic type) &#xff0c;而且它的 对象模型(object model) 也是动态的。Python的类是可变的(mutable)&#xff0c;方法(methods)只是类的属性(attributes)&#xff1b;这允许我们在 运行时(run tim…