使用python编写机械臂上位机时常用库及函数
另一篇Arduino作机械臂下位机时用到的函数_躺躺我啊的博客-CSDN博客一串口操作 pyserial1.serial serial.Serial(‘COM1’, 115200)打开COM1并设置波特率为115200COM1只适用于Windows。2.serial.open()打开串口。3.serial.isOpen()判断当前串口是否已经打开。4.serial.flushInput()清除输入缓冲区数据。5.serial.Serialport,baud初始化comm端口对象 如果给出了一个“端口”那么该端口将立即被打开 否则返回一个处于关闭状态的串口对象二GUI编程 tkinter1.设置窗口root Tk() # 创建根窗口 root.wm_title(mechanical arm controler 0.0) root.iconbitmap(icon.ico) #设置窗口图标 root.resizable(widthTrue, heightTrue) #允许更改根窗口大小 sw root.winfo_screenwidth() #宽度 sh root.winfo_screenheight()#高度 ww 1360 wh 710 x (sw-ww) / 2 y (sh-wh) / 2 root.geometry(%dx%d%d%d %(ww,wh,x,y)) #窗口的宽和高2.定义标签页nb tkinter.ttk.Notebook(root, width1355, height680) #Notebook是一个Widget容器控件该控件有许多选项卡 #选择不同选项卡时可以看到不同的子控件内容也可以当做子窗口内容 nb.place(x0, y0) #位置 tab1 tkinter.ttk.Frame(nb) #一个Frame就是一个展示单纯的矩形区域的控件 nb.add(tab1, text 主控 )3.scrollbar滚动条组件及Listboxscrollbar滚动条用于滚动一些组件的可见范围根据方向可分为垂直滚动条scrollBar和水平滚动条scrollBarx。Scrollbar 组件常常被用于实现文本、画布和列表框的滚动。Listbox列表框组件用于显示一个选择列表。Listbox 只能包含文本项目并且所有的项目都需要使用相同的字体和颜色。根据组件的配置用户可以从列表中选择一个或多个选项。progFrame(tab1) #显示程序区域 prog.place(x0,y150) #定义了显示程序区域的位置 scrollbar Scrollbar(prog) #垂向滚动条初始化 scrollbar.pack(sideRIGHT, fillY) #靠右充满Y轴 #创建一个空列表 tab.progView Listbox(progframe,width110,height20, yscrollcommandscrollbar.set) #当发生事件ListboxSelect即被选中时执行progViewselect(),用于显示其行数 tab.progView.bind(ListboxSelect,progViewselect)4.config用来配置tkinter中控件和字体的样式比如颜色、大小等。almStatusLab.config(textMove A must start with a Beg followed by Mid End, bg red)三字符串为操作对象的函数1.mystring.write(str)通过串行端口输出字符串str。2.mystring.encode(encoding,errors)以encoding指定的编码格式编码字符串,如UTF-8。errors参数可以指定不同的错误处理方案。四numpy1.numpy.delete(arr,obj,axisNone)适用于numpy ndarray数组。但是numpy数组不支持删除数组元素返回的是删除了某些元素的新数组。• arr输入向量• obj被删除的子向量• axis删除子向量所在轴若默认则返回一个被拉平的向量。2.numpy.array(object, dtypeNone)用于创建数组其中object为数组中的对象可以为单个值列表元胞等。dtype为所创建数组中的数据类型。分别存储圆弧的起始点、中点及终止点 A np.array([CXbeg, CYbeg, CZbeg]) B np.array([CXmid, CYmid, CZmid]) C np.array([CXend, CYend, CZend])3.np.linalg.normx,ord,axis,keepding用于求取向量的范数其中x为所求向量其实就是数组ord为范数类型可以为1、2、∞axis为处理类型其中axis1表示按行向量处理求多个行向量的范数axis0表示按列向量处理求多个列向量的范数axisNone表示矩阵范数keepding为是否保持矩阵的二维特性True表示保持矩阵的二维特性False则相反。#求取圆内接三角形的三边长 a np.linalg.norm(C - B) b np.linalg.norm(C - A) c np.linalg.norm(B - A)4.np.column_stack(a,b)与np.hstack(c,d)np.column_stack(a,b)将a、b两个数组按列合并np.hstack(c,d)将c、d两个数组按水平方向叠加。P np.column_stack((A, B, C)).dot(np.hstack((b1, b2, b3))) #np.column_stack将ABC三点坐标按列排列;np.hstack将b1b2b3水平方向合并5.numpy.cross(a, b, axisa-1, axisb-1, axisc-1, axisNone)该函数返回两个数组向量a, b的叉积其中axisa int, 可选定义向量的a轴。默认情况下最后一个轴。axisb int, 可选定义向量的b轴。默认情况下最后一个轴。axisc int, 可选包含叉积向量的c轴。如果两个输入向量的维数均为2则将其忽略因为返回值为标量。默认情况下最后一个轴。axis int, 可选如果定义则定义矢量和叉积的ab和c轴。覆盖axisaaxisb和axisc。五其他1.time.sleep(t)按给定的秒数t暂停执行t可以是浮点数以指示更精确的睡眠时间。由于任何捕获的信号将在执行该信号的捕获程序之后终止所以实际的暂停时间可能会小于请求的时间。time.sleep(.01) #延时0.01s2.try excepttry: 可能产生异常的代码块 except [ (Error1, Error2, ... ) [as e] ]: 处理异常的代码块1 except [ (Error3, Error4, ... ) [as e] ]: 处理异常的代码块2 except [Exception]: #[Exception]可省略 处理其它异常[] 内部分可以使用也可以省略。try有且仅有一个但 except 可为多个且每个 except 都可以同时处理多种异常。3.open(file, moder)用于打开一个文件并返回文件对象。在对文件进行处理过程都需要使用到这个函数如果该文件无法被打开会抛出 OSError。file为文件路径相对或者绝对路径mode为文件打开模式可省略。4.pickle.dump(obj, file)序列化对象将对象obj保存到文件file中去。obj表示要保存的对象file必须有write()接口file可以是一个以w打开的文件或者是一个String对象也可以是任何可以实现write()接口的对象。pickle.dump(value,open(ARbot.cal,wb)) #以二进制格式打开文件ARbot.cal只用于写入5.round(x,n)返回浮点数x的四舍五入值,n为小数点位数。J1AngCur round(J1NegAngLim (J1StepCur * J1DegPerStep),2) #四舍五入小数点为26.循环结构for-in与range(start, stop, step)range创建一个整数列表一般用在 for 循环中。• start: 计数从 start 开始。默认是从 0 开始。例如range5等价于range0 5;• stop: 计数到 stop 结束但不包括 stop。例如range0 5 是[0, 1, 2, 3, 4]没有5• step步长默认为1。例如range0 5 等价于 range(0, 5, 1)for-in经常用于遍历字符串、列表元组字典等。for i in range(numWayPts1): #给i赋值为从1到numWayPts1的数组

相关新闻

使用AE(After Effects)描绘物体移动路径(一点跟踪)

使用AE(After Effects)描绘物体移动路径(一点跟踪)

👨‍🏫🥰🥳需要机械臂相关资源的同学可以在评论区中留言哦🤖😽🦄 指南目录📖: 🎉🎉机械臂速成小指南(零点五)&#xff1a…

2026/8/25 7:48:29 阅读更多 →
前端跨域解决方案全解析:从同源策略到CORS、代理实战

前端跨域解决方案全解析:从同源策略到CORS、代理实战

1. 从一次真实的跨域报错说起那天下午,我正在调试一个前后端分离的项目。前端是跑在http://localhost:8080的 Vue 应用,后端 API 服务部署在http://api.myapp.com:3000。当我点击页面上的一个按钮,试图从后端获取用户列表时,熟悉的…

2026/8/25 7:48:29 阅读更多 →
使用五次多项式插值jtraj进行关节空间轨迹规划的matlab仿真

使用五次多项式插值jtraj进行关节空间轨迹规划的matlab仿真

👨‍🏫🥰🥳需要机械臂相关资源的同学可以在评论区中留言哦🤖😽🦄 指南目录📖: 🎉🎉机械臂速成小指南(零点五)&#xff1a…

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

最新新闻

解决VMware日志文件缺失错误:从权限到配置的完整修复指南

解决VMware日志文件缺失错误:从权限到配置的完整修复指南

1. 问题定位:当VMware提示“unable to proceed without a log file”时,到底发生了什么?如果你正在用VMware Workstation 16(或者更早的版本)启动一个虚拟机,突然弹出一个错误窗口,上面写着“un…

2026/8/25 8:36:49 阅读更多 →
MySQL小数类型选型指南:DECIMAL、FLOAT与DOUBLE精度与性能实战

MySQL小数类型选型指南:DECIMAL、FLOAT与DOUBLE精度与性能实战

1. 项目概述:为什么MySQL里存个小数,反而最容易翻车?“MySQL数据库(8):数据类型-小数”——这个标题看起来平平无奇,像极了教科书里第8章的课后习题。但我在带团队做金融系统迁移时,…

2026/8/25 8:36:49 阅读更多 →
AI求职转型:两周斩获offer的三大关键问题

AI求职转型:两周斩获offer的三大关键问题

1. 项目概述作为一名在AI行业摸爬滚打多年的从业者,我最近刚经历了一次成功的求职转型,仅用两周时间就拿到了心仪的AI岗位offer。在这个过程中,我总结出了三个关键问题,它们像指南针一样帮助我精准定位适合自己的工作机会。今天就…

2026/8/25 8:36:49 阅读更多 →
px还是dp?AndroidScreenAdaptation两种适配模式怎么选:UI标注px直接写、dp党也适用的完整对比

px还是dp?AndroidScreenAdaptation两种适配模式怎么选:UI标注px直接写、dp党也适用的完整对比

px还是dp?AndroidScreenAdaptation两种适配模式怎么选:UI标注px直接写、dp党也适用的完整对比 【免费下载链接】AndroidScreenAdaptation A light and easy-to-use Android development screen adaptation tool library(一个轻量好用的安卓开发屏幕适配工…

2026/8/25 8:36:49 阅读更多 →
HyperLine Spotify插件深度解析:如何在macOS终端实时显示正在播放歌曲(完整原理指南)

HyperLine Spotify插件深度解析:如何在macOS终端实时显示正在播放歌曲(完整原理指南)

HyperLine Spotify插件深度解析:如何在macOS终端实时显示正在播放歌曲(完整原理指南) 【免费下载链接】hyperline ✨ Status line plugin for Hyper ✨ 项目地址: https://gitcode.com/gh_mirrors/hy/hyperline HyperLine 是一款为 Hy…

2026/8/25 8:36:49 阅读更多 →
foobox-cn:三步给foobar2000换上现代化DUI皮肤,新手直接上手

foobox-cn:三步给foobar2000换上现代化DUI皮肤,新手直接上手

foobox-cn:三步给foobar2000换上现代化DUI皮肤,新手直接上手 【免费下载链接】foobox-cn DUI 配置 for foobar2000 项目地址: https://gitcode.com/GitHub_Trending/fo/foobox-cn foobar2000的音质口碑一直在线,但默认界面还是那套灰扑…

2026/8/25 8:35:49 阅读更多 →

日新闻

洛谷 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 阅读更多 →