机械臂速成小指南(九):正运动学分析
‍需要机械臂相关资源的同学可以在我的CSDN主页中寻找哦指南目录机械臂速成小指南零点五机械臂相关资源机械臂速成小指南零指南主要内容及分析方法机械臂速成小指南一机械臂发展概况机械臂速成小指南二机械臂的应用机械臂速成小指南三机械臂的机械结构机械臂速成小指南四机械臂关键部件之减速机机械臂速成小指南五末端执行器机械臂速成小指南六步进电机驱动器机械臂速成小指南七机械臂位姿的描述方法机械臂速成小指南八运动学建模标准DH法机械臂速成小指南九正运动学分析机械臂速成小指南十可达工作空间机械臂速成小指南十一坐标系的标准命名机械臂速成小指南十二逆运动学分析机械臂速成小指南十三轨迹规划概述机械臂速成小指南十四多项式插值轨迹规划机械臂速成小指南十五线性规划机械臂速成小指南十六带抛物线过渡的线性规划机械臂速成小指南十七直线规划机械臂速成小指南十八圆弧规划机械臂速成小指南十九机械臂的电路板抓取实验机械臂速成小指南二十机械臂的位姿重复性实验机械臂速成小指南二十一几何雅可比矩阵机械臂速成小指南二十二机械臂逆运动学的数值解方法机械臂速成小指南二十三Paul方法求解机械臂运动学逆解含matlab代码以下为正文六自由度机械臂上位机python代码带详细注释含正逆运动学及轨迹规划代码在第八章中我们已经得到了所使用机械臂的DH参数如下表所示DH参数及关节变量的范围连杆编号​​​​关节变量范围164.2-90169.77θ1(-170,170)230500θ2(-132,0)30900θ3(1,141)40-90-222.63θ4(-165, 165)50900θ5(-105,105)600-36.25θ6(-155,155)在确定机械臂的DH参数后使用齐次变换矩阵描述各坐标系之间的旋转、平移关系并利用齐次变换矩阵构建机械臂的正运动学方程以此对六自由度机械臂展开正运动学分析。一、构建机械臂的正运动学方程从坐标系i到坐标系i-1的齐次变换矩阵是一个仅与关节变量有关的函数本文记为。下面列出推导的过程以坐标系i与坐标系i-1为例坐标变换坐标系的旋转、平移过程如下图所示。首先设一坐标系k与坐标系i-1排列一致然后将坐标系k沿轴zi-1平移di并绕轴zi-1旋转θi。此时坐标系k已与坐标系排列一致该过程可用齐次变换矩阵描述为式中表示cos(n)表示sin(n)计算时需考虑到两个坐标系的x轴之间初始的夹角θ。接着将坐标系k沿轴xi平移并绕其旋转这使得坐标系与坐标系i排列一致该过程可用齐次变换矩阵描述为从坐标系i到坐标系i-1的齐次变换矩阵可通过右乘单一变换矩阵及得出为根据上式可得出表示各坐标系间相对位置和方向的齐次变换矩阵将其看作各关节的齐次变换矩阵计算结果如下表所示。关节编号齐次变换矩阵123456由于坐标系0与基坐标系重合又由于坐标系6即为工具坐标系所以有则用于表示工具坐标系相对于基坐标系的正运动学方程可以由上表中6个齐次变换矩阵右乘得出为​​​​前三个关节组成拟人臂则其正运动学方程表示为其中及分别表示sin⁡(qj…qk)和cos⁡(qj…qk)。后三个关节组成球形腕同理可得球型腕的正运动学方程可表示为进而可以得出机械臂的正运动学方程为其中为关节变量组成的向量向量q的空间称为关节空间。经计算末端执行器的位置表示为同理可得到末端执行器的姿态表示为最终末端执行器的RPY角可表示为关于关节变量的超越函数即至此机械臂的正运动学公式求解完毕当我们将关节变量代入公式即可得到末端执行器的位姿。二、正运动学方程求解的编程实现由于正运动学方程运算量较大为提高运算速度我们选择使用上位机完成运算。使用Python编写机械臂正运动方程求解函数CalcFwdKin()输入参数为6个关节变量输出为末端执行器的位置与姿态。机械臂的正运动学方程是关节变量的超越函数求解过程中存在大量的三角函数计算及矩阵运算因此我们引入Python自带的math标准库该模块提供了许多对浮点数的数学运算函数。在求解正运动学方程的过程中使用math.sin()、math.cos()及math.atan2()完成三角函数的计算使用math.sqrt()求取平方根通过math.degrees()及math.radians()完成弧度与角度之间的转换。要使用 math 函数必须先导入import math效果如下图所示############## DH TABLE ################ ############## DH 参数表 ############### C13 C4 C14 C5 C15 C6 C16 C7 C17 C8 C18 C9 D13 math.radians(DHr1) D14 math.radians(DHr2) D15 math.radians(DHr3) D16 math.radians(DHr4) D17 math.radians(DHr5) D18 math.radians(DHr6) E13 DHd1 E14 DHd2 E15 DHd3 E16 DHd4 E17 DHd5 E18 DHd6 F13 DHa1 F14 DHa2 F15 DHa3 F16 DHa4 F17 DHa5 F18 DHa6 ## WORK FRAME INPUT H13 float(UFxEntryField.get()) H14 float(UFyEntryField.get()) H15 float(UFzEntryField.get()) H16 float(UFrxEntryField.get()) H17 float(UFryEntryField.get()) H18 float(UFrzEntryField.get()) ## TOOL FRAME INPUT J13 float(TFxEntryField.get()) J14 float(TFyEntryField.get()) J15 float(TFzEntryField.get()) J16 float(TFrxEntryField.get()) J17 float(TFryEntryField.get()) J18 float(TFrzEntryField.get()) ## WORK FRAME TABLE B21 math.cos(math.radians(H18))*math.cos(math.radians(H17)) B22 math.sin(math.radians(H18))*math.cos(math.radians(H17)) B23 -math.sin(math.radians(H18)) B24 0 C21 -math.sin(math.radians(H18))*math.cos(math.radians(H16))math.cos(math.radians(H18))*math.sin(math.radians(H17))*math.sin(math.radians(H16)) C22 math.cos(math.radians(H18))*math.cos(math.radians(H16))math.sin(math.radians(H18))*math.sin(math.radians(H17))*math.sin(math.radians(H16)) C23 math.cos(math.radians(H17))*math.sin(math.radians(H16)) C24 0 D21 math.sin(math.radians(H18))*math.sin(math.radians(H16))math.cos(math.radians(H18))*math.sin(math.radians(H17))*math.cos(math.radians(H16)) D22 -math.cos(math.radians(H18))*math.sin(math.radians(H16))math.sin(math.radians(H18))*math.sin(math.radians(H17))*math.cos(math.radians(H16)) D23 math.cos(math.radians(H17))*math.cos(math.radians(H16)) D24 0 E21 H13 E22 H14 E23 H15 E24 1 ## J1 FRAME B27 math.cos(C13) B28 math.sin(C13) B29 0 B30 0 C27 -math.sin(C13)*math.cos(D13) C28 math.cos(C13)*math.cos(D13) C29 math.sin(D13) C30 0 D27 math.sin(C13)*math.sin(D13) D28 -math.cos(C13)*math.sin(D13) D29 math.cos(D13) D30 0 E27 F13*math.cos(C13) E28 F13*math.sin(C13) E29 E13 E30 1 ## J2 FRAME B33 math.cos(C14) B34 math.sin(C14) B35 0 B36 0 C33 -math.sin(C14)*math.cos(D14) C34 math.cos(C14)*math.cos(D14) C35 math.sin(D14) C36 0 D33 math.sin(C14)*math.sin(D14) D34 -math.cos(C14)*math.sin(D14) D35 math.cos(D14) D36 0 E33 F14*math.cos(C14) E34 F14*math.sin(C14) E35 E14 E36 1 ## J3 FRAME B39 math.cos(C15) B40 math.sin(C15) B41 0 B42 0 C39 -math.sin(C15)*math.cos(D15) C40 math.cos(C15)*math.cos(D15) C41 math.sin(D15) C42 0 D39 math.sin(C15)*math.sin(D15) D40 -math.cos(C15)*math.sin(D15) D41 math.cos(D15) D42 0 E39 F15*math.cos(C15) E40 F15*math.sin(C15) E41 0 E42 1 ## J4 FRAME B45 math.cos(C16) B46 math.sin(C16) B47 0 B48 0 C45 -math.sin(C16)*math.cos(D16) C46 math.cos(C16)*math.cos(D16) C47 math.sin(D16) C48 0 D45 math.sin(C16)*math.sin(D16) D46 -math.cos(C16)*math.sin(D16) D47 math.cos(D16) D48 0 E45 F16*math.cos(C16) E46 F16*math.sin(C16) E47 E16 E48 1 ## J5 FRAME B51 math.cos(C17) B52 math.sin(C17) B53 0 B54 0 C51 -math.sin(C17)*math.cos(D17) C52 math.cos(C17)*math.cos(D17) C53 math.sin(D17) C54 0 D51 math.sin(C17)*math.sin(D17) D52 -math.cos(C17)*math.sin(D17) D53 math.cos(D17) D54 0 E51 F17*math.cos(C17) E52 F17*math.sin(C17) E53 E17 E54 1 ## J6 FRAME B57 math.cos(C18) B58 math.sin(C18) B59 0 B60 0 C57 -math.sin(C18)*math.cos(D18) C58 math.cos(C18)*math.cos(D18) C59 math.sin(D18) C60 0 D57 math.sin(C18)*math.sin(D18) D58 -math.cos(C18)*math.sin(D18) D59 math.cos(D18) D60 0 E57 F18*math.cos(C18) E58 F18*math.sin(C18) E59 E18 E60 1 ###################### TOOL FRAME ########################### ###################### 工具坐标系 ############################ B63 math.cos(math.radians(J18))*math.cos(math.radians(J17)) B64 math.sin(math.radians(J18))*math.cos(math.radians(J17)) B65 -math.sin(math.radians(J18)) B66 0 C63 -math.sin(math.radians(J18))*math.cos(math.radians(J16))math.cos(math.radians(J18))*math.sin(math.radians(J17))*math.sin(math.radians(J16)) C64 math.cos(math.radians(J18))*math.cos(math.radians(J16))math.sin(math.radians(J18))*math.sin(math.radians(J17))*math.sin(math.radians(J16)) C65 math.cos(math.radians(J17))*math.sin(math.radians(J16)) C66 0 D63 math.sin(math.radians(J18))*math.sin(math.radians(J16))math.cos(math.radians(J18))*math.sin(math.radians(J17))*math.cos(math.radians(J16)) D64 -math.cos(math.radians(J18))*math.sin(math.radians(J16))math.sin(math.radians(J18))*math.sin(math.radians(J17))*math.cos(math.radians(J16)) D65 math.cos(math.radians(J17))*math.cos(math.radians(J16)) D66 0 E63 J13 E64 J14 E65 J15 E66 1 ## WF*J1 G24 (B21*B27)(C21*B28)(D21*B29)(E21*B30) G25 (B22*B27)(C22*B28)(D22*B29)(E22*B30) G26 (B23*B27)(C23*B28)(D23*B29)(E23*B30) G27 (B24*B27)(C24*B28)(D24*B29)(E24*B30) H24 (B21*C27)(C21*C28)(D21*C29)(E21*C30) H25 (B22*C27)(C22*C28)(D22*C29)(E22*C30) H26 (B23*C27)(C23*C28)(D23*C29)(E23*C30) H27 (B24*C27)(C24*C28)(D24*C29)(E24*C30) I24 (B21*D27)(C21*D28)(D21*D29)(E21*D30) I25 (B22*D27)(C22*D28)(D22*D29)(E22*D30) I26 (B23*D27)(C23*D28)(D23*D29)(E23*D30) I27 (B24*D27)(C24*D28)(D24*D29)(E24*D30) J24 (B21*E27)(C21*E28)(D21*E29)(E21*E30) J25 (B22*E27)(C22*E28)(D22*E29)(E22*E30) J26 (B23*E27)(C23*E28)(D23*E29)(E23*E30) J27 (B24*E27)(C24*E28)(D24*E29)(E24*E30) ## (WF*J1)*J2 G30 (G24*B33)(H24*B34)(I24*B35)(J24*B36) G31 (G25*B33)(H25*B34)(I25*B35)(J25*B36) G32 (G26*B33)(H26*B34)(I26*B35)(J26*B36) G33 (G27*B33)(H27*B34)(I27*B35)(J27*B36) H30 (G24*C33)(H24*C34)(I24*C35)(J24*C36) H31 (G25*C33)(H25*C34)(I25*C35)(J25*C36) H32 (G26*C33)(H26*C34)(I26*C35)(J26*C36) H33 (G27*C33)(H27*C34)(I27*C35)(J27*C36) I30 (G24*D33)(H24*D34)(I24*D35)(J24*D36) I31 (G25*D33)(H25*D34)(I25*D35)(J25*D36) I32 (G26*D33)(H26*D34)(I26*D35)(J26*D36) I33 (G27*D33)(H27*D34)(I27*D35)(J27*D36) J30 (G24*E33)(H24*E34)(I24*E35)(J24*E36) J31 (G25*E33)(H25*E34)(I25*E35)(J25*E36) J32 (G26*E33)(H26*E34)(I26*E35)(J26*E36) J33 (G27*E33)(H27*E34)(I27*E35)(J27*E36) ## (WF*J1*J2)*J3 G36 (G30*B39)(H30*B40)(I30*B41)(J30*B42) G37 (G31*B39)(H31*B40)(I31*B41)(J31*B42) G38 (G32*B39)(H32*B40)(I32*B41)(J32*B42) G39 (G33*B39)(H33*B40)(I33*B41)(J33*B42) H36 (G30*C39)(H30*C40)(I30*C41)(J30*C42) H37 (G31*C39)(H31*C40)(I31*C41)(J31*C42) H38 (G32*C39)(H32*C40)(I32*C41)(J32*C42) H39 (G33*C39)(H33*C40)(I33*C41)(J33*C42) I36 (G30*D39)(H30*D40)(I30*D41)(J30*D42) I37 (G31*D39)(H31*D40)(I31*D41)(J31*D42) I38 (G32*D39)(H32*D40)(I32*D41)(J32*D42) I39 (G33*D39)(H33*D40)(I33*D41)(J33*D42) J36 (G30*E39)(H30*E40)(I30*E41)(J30*E42) J37 (G31*E39)(H31*E40)(I31*E41)(J31*E42) J38 (G32*E39)(H32*E40)(I32*E41)(J32*E42) J39 (G33*E39)(H33*E40)(I33*E41)(J33*E42) ## (WF*J1*J2*J3)*J4 G42 (G36*B45)(H36*B46)(I36*B47)(J36*B48) G43 (G37*B45)(H37*B46)(I37*B47)(J37*B48) G44 (G38*B45)(H38*B46)(I38*B47)(J38*B48) G45 (G39*B45)(H39*B46)(I39*B47)(J39*B48) H42 (G36*C45)(H36*C46)(I36*C47)(J36*C48) H43 (G37*C45)(H37*C46)(I37*C47)(J37*C48) H44 (G38*C45)(H38*C46)(I38*C47)(J38*C48) H45 (G39*C45)(H39*C46)(I39*C47)(J39*C48) I42 (G36*D45)(H36*D46)(I36*D47)(J36*D48) I43 (G37*D45)(H37*D46)(I37*D47)(J37*D48) I44 (G38*D45)(H38*D46)(I38*D47)(J38*D48) I45 (G39*D45)(H39*D46)(I39*D47)(J39*D48) J42 (G36*E45)(H36*E46)(I36*E47)(J36*E48) J43 (G37*E45)(H37*E46)(I37*E47)(J37*E48) J44 (G38*E45)(H38*E46)(I38*E47)(J38*E48) J45 (G39*E45)(H39*E46)(I39*E47)(J39*E48) ## (WF*J1*J2*J3*J4)*J5 G48 (G42*B51)(H42*B52)(I42*B53)(J42*B54) G49 (G43*B51)(H43*B52)(I43*B53)(J43*B54) G50 (G44*B51)(H44*B52)(I44*B53)(J44*B54) G51 (G45*B51)(H45*B52)(I45*B53)(J45*B54) H48 (G42*C51)(H42*C52)(I42*C53)(J42*C54) H49 (G43*C51)(H43*C52)(I43*C53)(J43*C54) H50 (G44*C51)(H44*C52)(I44*C53)(J44*C54) H51 (G45*C51)(H45*C52)(I45*C53)(J45*C54) I48 (G42*D51)(H42*D52)(I42*D53)(J42*D54) I49 (G43*D51)(H43*D52)(I43*D53)(J43*D54) I50 (G44*D51)(H44*D52)(I44*D53)(J44*D54) I51 (G45*D51)(H45*D52)(I45*D53)(J45*D54) J48 (G42*E51)(H42*E52)(I42*E53)(J42*E54) J49 (G43*E51)(H43*E52)(I43*E53)(J43*E54) J50 (G44*E51)(H44*E52)(I44*E53)(J44*E54) J51 (G45*E51)(H45*E52)(I45*E53)(J45*E54) ## (WF*J1*J2*J3*J4*J5)*J6 G54 (G48*B57)(H48*B58)(I48*B59)(J48*B60) G55 (G49*B57)(H49*B58)(I49*B59)(J49*B60) G56 (G50*B57)(H50*B58)(I50*B59)(J50*B60) G57 (G51*B57)(H51*B58)(I51*B59)(J51*B60) H54 (G48*C57)(H48*C58)(I48*C59)(J48*C60) H55 (G49*C57)(H49*C58)(I49*C59)(J49*C60) H56 (G50*C57)(H50*C58)(I50*C59)(J50*C60) H57 (G51*C57)(H51*C58)(I51*C59)(J51*C60) I54 (G48*D57)(H48*D58)(I48*D59)(J48*D60) I55 (G49*D57)(H49*D58)(I49*D59)(J49*D60) I56 (G50*D57)(H50*D58)(I50*D59)(J50*D60) I57 (G51*D57)(H51*D58)(I51*D59)(J51*D60) J54 (G48*E57)(H48*E58)(I48*E59)(J48*E60) J55 (G49*E57)(H49*E58)(I49*E59)(J49*E60) J56 (G50*E57)(H50*E58)(I50*E59)(J50*E60) J57 (G51*E57)(H51*E58)(I51*E59)(J51*E60) ## (WF*J1*J2*J3*J4*J5*J6)*TF G60 (G54*B63)(H54*B64)(I54*B65)(J54*B66) G61 (G55*B63)(H55*B64)(I55*B65)(J55*B66) G62 (G56*B63)(H56*B64)(I56*B65)(J56*B66) G63 (G57*B63)(H57*B64)(I57*B65)(J57*B66) H60 (G54*C63)(H54*C64)(I54*C65)(J54*C66) H61 (G55*C63)(H55*C64)(I55*C65)(J55*C66) H62 (G56*C63)(H56*C64)(I56*C65)(J56*C66) H63 (G57*C63)(H57*C64)(I57*C65)(J57*C66) I60 (G54*D63)(H54*D64)(I54*D65)(J54*D66) I61 (G55*D63)(H55*D64)(I55*D65)(J55*D66) I62 (G56*D63)(H56*D64)(I56*D65)(J56*D66) I63 (G57*D63)(H57*D64)(I57*D65)(J57*D66) J60 (G54*E63)(H54*E64)(I54*E65)(J54*E66) J61 (G55*E63)(H55*E64)(I55*E65)(J55*E66) J62 (G56*E63)(H56*E64)(I56*E65)(J56*E66) J63 (G57*E63)(H57*E64)(I57*E65)(J57*E66)

相关新闻

iOS平台经典软件移植实战:从源码适配到性能优化的完整指南

iOS平台经典软件移植实战:从源码适配到性能优化的完整指南

1. 项目缘起:为什么“经典移植”在今天依然是个技术活?最近在整理自己的数字资产,翻出了不少十几年前在PC和安卓上玩过的老游戏、用过的老软件。心血来潮想在自己的iPhone上重温一下,结果发现要么App Store里压根没有,…

2026/8/25 7:50:29 阅读更多 →
猫盘救砖全攻略:TTL串口与U-Boot实战修复ARM嵌入式设备

猫盘救砖全攻略:TTL串口与U-Boot实战修复ARM嵌入式设备

1. 从“砖头”到“复活”:一次完整的猫盘救砖之旅手头这台猫盘,已经在我抽屉里躺了快一年了。当初图便宜,从矿难后的“海鲜市场”淘来,本想刷个OneSpace系统当个轻量级的家庭NAS用,结果一顿操作猛如虎,直接…

2026/8/25 7:50:29 阅读更多 →
猫盘NAS救砖实战:TTL串口刷机与Bootloader修复指南

猫盘NAS救砖实战:TTL串口刷机与Bootloader修复指南

1. 项目概述:从“砖头”到“复活”的猫盘自救之旅手头这台猫盘,估计不少玩NAS的朋友都听说过或者折腾过。它本质上是一个基于Marvell Armada A3720芯片的迷你网络存储设备,当年因为其小巧的体积和相对不错的可玩性,在矿难后流入市…

2026/8/25 7:50:29 阅读更多 →

最新新闻

遗留系统的可观测性救星:opentelemetry-dotnet-contrib 的 ASP.NET、OWIN 与 WCF 传统埋点三部曲

遗留系统的可观测性救星:opentelemetry-dotnet-contrib 的 ASP.NET、OWIN 与 WCF 传统埋点三部曲

遗留系统的可观测性救星:opentelemetry-dotnet-contrib 的 ASP.NET、OWIN 与 WCF 传统埋点三部曲 【免费下载链接】opentelemetry-dotnet-contrib This repository contains set of components extending functionality of the OpenTelemetry .NET SDK. Instrumenta…

2026/8/25 8:38:50 阅读更多 →
Java文件删除失败全解析:从文件句柄到跨平台差异的解决方案

Java文件删除失败全解析:从文件句柄到跨平台差异的解决方案

1. 问题初探:为什么file.delete()会“失灵”?在Java开发中,尤其是处理文件上传、临时文件清理、日志轮转等场景时,我们经常会调用File对象的delete()方法来删除一个文件。代码写出来往往就一行:new File(“/path/to/fi…

2026/8/25 8:38:50 阅读更多 →
awesome-thesis进阶搜索技巧大全:Google Dorks与同义词搜索如何帮你快速挖到稀缺科研资料

awesome-thesis进阶搜索技巧大全:Google Dorks与同义词搜索如何帮你快速挖到稀缺科研资料

awesome-thesis进阶搜索技巧大全:Google Dorks与同义词搜索如何帮你快速挖到稀缺科研资料 【免费下载链接】awesome-thesis A curated list of practical tips and tricks to help you achieve an awesome CS master thesis [WIP] - contributions are welcome 项…

2026/8/25 8:38:50 阅读更多 →
Java调用Windows API实战:JNA原理与系统级开发指南

Java调用Windows API实战:JNA原理与系统级开发指南

1. 为什么 Java 程序员需要亲手敲开 Windows 系统的大门? Java 的“一次编写,到处运行”是教科书里的金句,但现实里,你总得和 Windows 打交道——不是为了写个跨平台 GUI,而是要干点真正“接地气”的事:比…

2026/8/25 8:38:50 阅读更多 →
在线笔试平台如何优化技术招聘流程

在线笔试平台如何优化技术招聘流程

1. 在线笔试平台如何重塑招聘流程去年帮一家200人规模的科技公司优化招聘流程时,他们技术岗的初筛淘汰率高达85%,但用人部门反馈约40%的面试者实际能力不达标。引入在线笔试系统后,这个数字降到了15%以内——这就是现代招聘工具带来的效率革命…

2026/8/25 8:38:50 阅读更多 →
MATLAB图像显示三函数区别:image、imagesc、imshow选型指南

MATLAB图像显示三函数区别:image、imagesc、imshow选型指南

1. 为什么这三个函数总被混用?——从一张灰度图的“失真”说起我第一次在实验室被导师当众问住,就是画一张CT切片图的时候。当时手忙脚乱调用image(),结果整个图像发灰、细节全无,导师只说了一句:“你这图连病灶边界都…

2026/8/25 8:37:50 阅读更多 →

日新闻

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

【题目来源】 https://www.luogu.com.cn/problem/P7912 【题目描述】 小熊的水果店里摆放着一排 n 个水果。每个水果只可能是苹果或桔子,从左到右依次用正整数 1,2,…,n 编号。连续排在一起的同一种水果称为一个“块”。小熊要把这一排水果挑到若干个果篮里&#x…

2026/8/25 0:00:34 阅读更多 →
Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG 【免费下载链接】transformers.js State-of-the-art Machine Learning for the web. Run 🤗 Transformers directly in your browser, with no need for a server! 项目地址: https:/…

2026/8/25 0:00:34 阅读更多 →
数学建模竞赛论文写作指南:从模型构建到学术表达的核心技能

数学建模竞赛论文写作指南:从模型构建到学术表达的核心技能

1. 项目概述:从“会做”到“会写”的竞赛核心跃迁“全国大学生数学建模竞赛”,这个名字对理工科学生来说,分量极重。每年,无数团队在三天三夜的时间里,为一个开放性问题绞尽脑汁,从建立模型、求解算法到编程…

2026/8/25 0:00:34 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/25 3:38:12 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/25 3:38:18 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/25 3:38:23 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/24 20:22:44 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/23 12:10:44 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/24 11:20:22 阅读更多 →