symoro软件的安装
一个用于机器人符号建模的开源软件包,用于获取机器人最小惯性参数集。
OpenSYMORO主要使用Python编程语言开发,源代码公开。新版本提供了对具有柔性关节、浮动底座和履带移动机器人的模型机器人的支持。支持开链,树结构和闭链机器人。
OpenSYMORO(以下简称为SYMORO)软件包的目的是估算设计、识别、控制和仿真所需的机器人符号模型。
该软件的论文名称:OpenSYMORO: An open-source software package for Symbolic Modelling of Robots
论文地址:
一个可视化工具,可以以查看机器人的结构。效果如下图:
安装过程 1.下载资源包
网站:
3个项目都下出来
注意:不要下载master版本的软件代码,有问题。下载GeometryFix版本的软件代码
官方安装过程说明:
安装要求
如果笔记本早已安装了这种库,就不需要进行这种操作了,直接安装该软件即可。
2.安装软件运行须要的库: sympy
pip install sympy==0.7.3
2021年,最新版本为1.8版
sympy是一个Python的科学估算库,用一套强悍的符号估算体系完成比如方程求值、求极限、解多项式、求积分、微分方程、级数展开、矩阵运算等等估算问题。
3.安装numpy
pip install numpy
numpy-1.16.6
numpy是一个由多维字段对象和用于处理字段的解释器集合组成的库。
3.安装wxPython
pip install wxPython
此命令会安装对应Python版本的最新版,好像我笔记本里早已装了3.0.2.0版本的了,所以执行此命令晨报错了,此命令下载了wxPython-4.1.1.tar.gz
wxPython是图形化模块,用来做界面之类的
查看版本
pip show wxPython
Name: wxPython
Version: 3.0.2.0
4.PyOpenGL,安装过程略过
pip show PyOpenGL
Name: PyOpenGL
Version: 3.1.0
在三维显示领域,OpenGL 是神一样的存在,其地位如同编程语言上面的 C 一样。基于 OpenGL 衍生下来的分支、派系,林林总总。Python 旗下,影响较大的三维库有 pyOpenGl / VTK / Mayavi / Vispy 等,它们各自拥有庞大的用户体。VTK 在医学领域应用广泛,Vispy 在科研领域粉丝诸多。VTK 和 Vispy 都是基于 OpenGL 的扩充,Mayavi 则是基于VTK 的,因此好多的医学影像应用都是采用 Python + VTK + ITK + Mayavi 的组合(ITK 是图象处理库,类似于 OpenCV 或 PIL)。
学习PyOpenGL时,如果你使用python3的环境去运行,会报错,请下载对应的OpenGL版本
安装前先查看笔记本有没有安装这两个库
pip3 show +库名
pip3 install PyOpenGL==3.1.0 numpy==1.14.5
5.安装python-setuptools
pip install setuptools
Collecting setuptools
Cache entry deserialization failed, entry ignored
Downloading https://files.pythonhosted.org/packages/e1/b7/182161210a13158cd3ccc41ee19aadef54496b74f2817cc147006ec932b4/setuptools-44.1.1-py2.py3-none-any.whl (583kB)
100% |████████████████████████████████| 583kB 2.0MB/s
Installing collected packages: setuptools
Successfully installed setuptools-44.1.1
6.安装该软件
在下载的软件包目录下,打开终端,运行以下命令
sudo python setup.py develop
终端上运行该软件
./launch.sh
打开时的界面
软件说明,机器翻译的论文内容机器人动力学参数辨识,将就着看吧
symoroutils,包含用于物理函数和文件处理的实用程序模块。文件处理模块包括对用于将机器人数据加载到环境中的文件进行解析的函数。
pysymoro
这个包中包含用于生成可以使用SYMORO获得的不同模型的算法。这个包中还提供了用于储存机器人数据和模型的数据结构。这个包反过来使用symy和NumPy来执行符号和数字估算。
symoroui
symoroui包为SYMORO软件提供图形用户界面。使用wxpython创建的用户界面如图3所示。这个包容许定义估算不同模型所需的参数。该插口还用于执行任何所需的模型。
symorooptim
这个包的目的是以符号方式生成优化的模型。通过使用中间变量,这些优化的模型降低了估算各自模型所需的操作总量(加法和加法)。优化后的模型输出可以以与C、Python、Matlab兼容的格式获得,从而生成的模型可以直接用于这种系统。
symoroviz
使用OpenGL的Python端口开发的这个包有助于机器人的可视化。从图1中可以看出,该包不仅勾画机器人的关节外,还按照Khalil和Kleinfinger[3]提出的改进的Denavit和Hartenberg方式勾画每位关节对应的坐标系。这容许验证用户是否正确地定义了附加到每位关节上的不同坐标系。
通过选择File->new,然后指定robot的基本属性,可以创建一个新的robot。在此步骤中,将指定曲轴数目、关节数目和机器人结构类型。机器人结构可以是串联的、树形的、固定底座的闭环机器人、轮式移动机器人或浮动底座机器人。在此步骤过后,以符号或数字形式指定图3中的参数。
1.Geometric parameters几何参数
几何参数定义了机器人的运动学结构、关节类型以及曲轴机构相对于其前导机构的位置。如上所述,Khalil和Kleinfinger[3]符号用于描述几何参数。坐标系j被指定为相对于曲轴j固定,使得zjis顺着关节j的轴,xjis在zjan和下边的一个轴之间法线。机器人的几何结构由以下参数描述:
γj,bj,αj,dj,θjand rj来定义一个相对于其前一帧a(j)的帧j。在串联机器人中,γjand和bj是零。关节变量qjis可以是θj或rj,具体取决于关节类型。
σj定义了关节类型–0表示“旋转”,1表示“棱柱”,2表示与其前身具有恒定关系的框架。对于回转接头和四面体接头,'σj=1 σj。
j表示关节是主动(已驱动)还是被动(未驱动)–1表示主动,0表示被动。对于开环机器人-串行和树形结构,所有关节都应驱动。
a(j)表示先行框架。这里“0”表示基数。
2.Dynamic parameters and external forces动力参数和外力
第一行惯性矩阵
M质量
IA是执行机构的定子惯性
FS、FV:关节处的库仑磨擦和粘滞磨擦参数
FX/FY/FZ:环境外力
CX/CY/CZ:外扭力 moment of inertia: 转动惯量;惯性矩
3.
机器人底座相对于通常固定坐标系的位置(矩阵Z)。
ηj定义了关节是刚性的还是挠性的- 0表示刚性,1表示挠性
K:指定了在柔性关节情况下的关节挠度
关节速率(QPj),加速度(QDPj)和力矩(GAMj)。用户可以指定特定的值机器人动力学参数辨识,如0或1,以获得订制的模型。
一旦机器人被前面提及的参数定义,用户就可以获得菜单中列举的选项的结果。SYMORO中的可用选项列表如图4所示。用户也可以在不使用此界面的情况下运行那些选项中的任何一个。