Pyslvs使用教程
在给机器人确定最优杆长的时候发现了Pyslvs,这是一个非常好用的基于Python的机械设计软件。在国内目前还不是很出名,其官方文档也比较简洁,故我认为可以总结一下Pyslvs的使用方法。
1. 安装介绍
成功环境:Win10,Python 3.10.12,Pyslvs 22.07.0,Qt5 5.15.0
文档:Pyslvs-UI
安装命令:
pip install pyslvs-ui
# Extras
pip install pyslvs-ui[slvs,scipy]
唤醒命令:
python -m pyslvs_ui
打开界面如图所示:
2. 界面操作
Pyslvs主要分为一个菜单栏,一个左下角的分组栏,一个右下角的操作栏和四个大的板块,分别是Mechanism、Inputs、Synthesis、Project。
“Shift”和“Ctrl”键将决定连续选择的行为。“Shift”键将更新选择为并。“Ctrl”键将取消选择交集,更新相对补码。
“Ctrl+A”和“Esc”键可以分别选择和取消选择所有实体。单击空白区域而不按住“Shift”和“Ctrl”键也可以取消选择所有实体。
使用“Shift”键加上滚动鼠标滚轮可以切换选项卡和选择模式。
2.1 操作栏
底部显示了当前光标位置和FPS。
最右下角显示了当前画布上的自由度总数。
可以通过滚轮缩放,拖动滚轮更改视图。默认为查看模式,也就是仅查看不能拖动点。你也可以右下角更改模式:
Translate就是平移模式,此时按住点可以实现以相同的光标偏移量移动点。Rotate就是旋转模式,此时按住点可以实现围绕原点(0,0)移动点。Reflect就是翻转模式,此时点击点就会绕原点翻转。
选中某个点,垂直和水平对齐可以快速更改点的垂直/水平位置,也就是x轴坐标和y轴坐标。
可以打开左边的栅格模式,这样就能实现栅格化的移动。
2.2 Mechanism
首先是Point部分。
右键空白区域添加新的点,在右边的坐标系中框选或者点选都能删除点,Ctrl+Z撤销:
你可以指定点的颜色,点的类型、点的位置和点的连接。
点的类型分为R、RP、P,“R”表示旋转(可旋转)关节。“P”表示棱柱关节。“RP”指旋转棱柱关节。
简单来说,就是旋转副R、平移副P、旋转+平移(圆柱副)RP。
你可以直接指定点的坐标,也可以通过高级设置来指定点的位置。
你还可以通过指定与两点的距离,指定正反方向来确定一个点。
然后是Link部分。
你可以在左手边的空白区域新增连接。在刚刚的点的部分,你可以添加ground(固定)连接,代表这个点固定。
像图中这个类似霍肯连杆的机构,就是固定了0,1两个点作为基座。
这个连接情况会导致点2/3/4之间的三个连接杆长固定,所以3.4是同心圆标记。
接下来是Calculation部分。
这显示了所使用的计算方法,比如点边角等等,便于核对固定杆长等。注意,Calculation是不允许修改的,属于求解结果。
2.3 Inputs
接下来是仿真部分。做简单的杆长分析,学到这里就可以了。
旋转关节R
Base Points作为本次运动坐标系的原点,Driver Points驱动点是矢量。如上图所示,选中左边的路径,点下面的开始按钮可以开始轨迹仿真,属于动态分析。需要停止复位则点下一个复位键。
输入右边的角度,可以指定转多少角度,属于静态分析。
平移关节(P)或圆柱关节(RP)
“Base Point”和“Driver Point”是输入对中的同一点。将“偏移”值设置为引脚和槽之间的距离。
接下来看Analysis部分:
双击Auto Review,此为整体分析,分析的是画布上所有的点的路径数据,此时弹窗点击"Save"可以保存我们的数据。数据以点集形式保存为csv。
想要更粗/细的点,可以在右上方的“Interval”中输入步长角度。
旁边的两个键:
- Refresh,更新数据
- DupLicate,复制一份数据的副本。
底下有一个回收键,可以删除不想要的数据组。
下面的栏目可以针对某个点分析,此处我们以2点为例,分析其位置和速度。
首先选中Point 2,如果想要只显示点2的轨迹,可以点击“Show Only",想要显示所有轨迹则点“Show All"。
然后我们可以导出点2的轨迹,Comma-Seperate Values是用空格隔开的坐标集:
0,0
0.1,0.1
Array-Like则是矩阵形式:
[0,0],
[0.1,0.1]
看到Plot,我们可以选笛卡尔坐标系或者极坐标系。或者选择相对某个点建立坐标系。
下面的栏目可以勾选需要分析的参数,比如你要分析位置和速度变化你就选这两项,然后点击“Plot”。
点击“Vector Animation",可以进行向量模拟。
2.4 Synthesis
将现有的机构再利用是Pyslvs的一大核心亮点。Synthesis由三大部分组成,分别是结构合成,集合和优化器。
这一部分是图论的应用,没有学习这一部分理论的可以依据作者的推荐去学习:https://pyslvs-ui.readthedocs.io/en/latest/references/#cite
如果不学习,也不妨碍基本的使用。
Structure Synthesis
2.5 Project
这一部分基本上是与外部的导入和导出。
导入Background可以导入背景图片,方便对照。
在导入部分,点第一个尺子和笔的按钮,可以导入一个机构运动的实例。
点击下面的PMKS,需要按该语法来导入想要的关节。
About PMKS: https://designengrlab.github.io/PMKS/
Project Overview,预览整个项目:
Mechanism Expression,机械表达式:
你可以选择导出为不同的格式。
最下方是操作记录,记录每一次你的操作,随项目一起保存。