使用Python计算结果
功能描述
该步骤可通过Python运行用户自定义的脚本,并将计算结果输出到Mech-MSR。
该步骤特点如下:
-
支持多线程使用;
-
可实时加载Python脚本;
-
在C++和Python端互相传输数据时,支持多种数据类型的转化;
-
支持将Python端的日志重定向到Mech-MSR中。
安装和使用
安装方法
Mech-MSR中内置了Python 3.9.13,该步骤将使用软件内置的环境。若在使用过程中出现缺少Python库的情况,需要将所缺少的Python库安装在Mech-MSR内置的Python环境中。安装方法如下:
-
打开命令提示符;
-
在命令行中使用
cd
命令,将路径切换至Mech-MSR的Python目录下; -
执行
python -m pip install Python库的名称
命令,下载安装对应的Python库。
Mech-MSR中已内置了NumPy和OpenCV两个常用的Python库。 |
使用方法
准备好Python脚本后,该步骤的使用方法如下(关于各参数的解释可参考 参数说明 ):
-
设置输入/输出端口数据类型。根据前后步骤的输入/输出端口数据类型,或根据实际需求,填写输入端口和输出端口的数据类型;
-
设置Python脚本路径。在脚本路径处选择需要加载的脚本的路径;
-
设置调用函数的名称。当选择脚本路径后,该步骤将自动获取该脚本内的函数名称,然后需在调用函数名称处的下拉栏中选择需要调用的脚本函数名称;
-
运行步骤。
|
参数说明
- 输入端口
-
参数解释:该参数用于设置该步骤输入端口的数据类型,输入的数据类型将会变为对应顺序的参数传入所调用的函数。
默认值:空。
- 输出端口
-
参数解释:该参数用于设置该步骤输出端口的数据类型,函数返回的各数据会按照对应顺序返回给该步骤,并且会按照对应数据类型进行解析。
默认值:空。
目前支持的数据类型如下表所示:
步骤端口类型 | Python 中使用的数据类型 | 输入数据示例 |
---|---|---|
PoseList |
列表 |
[[10, 20, 30, 0.951, 0.255, 0.168, 0.045], [10, 20, 30, 0.951, 0.255, 0.168, 0.045]] (每组数据中,前三个数值表示坐标值,后四个数值表示四元数。) |
Pose2DList |
列表 |
[[0, 0, 0], [2, 0, 120]] (每组数据中,前两个数值分别表示坐标的 X、Y 值,第三个数值表示角度。) |
NumberList |
列表 |
[1.1, 2, 999.9, -22] |
StringList |
字符串 |
['string_1', 'string_2', 'string_3'] |
Image |
8 位无符号整数/64 位浮点数 |
图像数据 |
Cloud(XYZ) |
数组 |
点云数据 |
Cloud(XYZ-Normal) |
数组 |
带法向的点云数据 |
Cloud(XYZ-RGB) |
数组 |
彩色点云数据 |
Size3DList |
64 位浮点数 |
[[2.5, 5, 0.001], [6, 5, 0.02]] (每组数据中,前两个数值分别表示宽度、高度,第三个数值表示每个像素的长度。) |
IndexList |
整数 |
[45, 10, 90] |
BoolList |
布尔 |
[True, False, True] |
Point2DList |
列表 |
轮廓线数据 |
- 脚本路径
-
参数解释:该参数用于选择所需要加载的脚本的文件路径。
- 调用函数名称
-
参数解释:该参数用于设置被调用的脚本函数名称。
错误排查
查看错误码列表了解通用的错误信息及解决方案。