Python(Ubuntu)
本章介绍如何在Ubuntu系统中获取并运行Mech-Eye API的Python例程。
例程简介
目前提供了如下例程:
-
trigger_with_software_and_fixed_rate:通过软触发 + 固定频率的方式触发数据采集,然后获取并保存采集的数据。
-
trigger_with_external_device_and_fixed_rate:通过外部触发 + 固定频率的方式触发数据采集,然后获取并保存采集的数据。
-
trigger_with_software_and_encoder:通过软触发 + 编码器的方式触发数据采集,然后获取并保存采集的数据。
-
trigger_with_external_device_and_encoder:通过外部触发 + 编码器的方式触发数据采集,然后获取并保存采集的数据。
-
trigger_multiple_profilers_simultaneously:异步触发多台轮廓测量仪进行采集,然后获取并保存采集的数据。
-
blind_spot_filtering:识别并去除死角造成的错误数据,然后获取过滤后的轮廓线数据。
-
noise_removal:去除深度数据中的噪点,然后获取过滤后的轮廓线数据。
-
profile_alignment:校正轮廓线中沿X轴和Z轴方向的振动(即对齐轮廓线),然后校正后的轮廓线数据。
-
render_depth_map:获取并保存使用jet配色方案渲染的深度图。
-
transform_point_cloud:获取并保存自定义坐标系下的点云。
-
manage_user_sets:管理参数组,如获取所有参数组的名称、新增参数组、切换参数组和保存参数设置至参数组。
-
print_profiler_status:获取并打印轮廓测量仪型号、序列号、固件版本、温度等信息。
-
register_profiler_event:定义并注册检测轮廓测量仪事件的回调函数。
-
use_virtual_device:获取虚拟设备中储存的轮廓线数据,并生成和保存强度图和深度图。
关于触发轮廓测量仪进行数据采集的不同方式,请参考触发数据采集的方式。 |
使用前提
使用Mech-Eye API的Python例程,需先满足以下使用前提:
-
确保安装的Python为64位,且版本在3.7至3.11之间。
-
获取例程。
-
安装必需软件。
-
(可选)安装例程依赖的软件库。
获取例程
Python例程包含在Mech-Eye SDK的安装路径中,也可从GitHub克隆获取。安装路径中的例程为Mech-Eye SDK发布时的版本,GitHub上的例程可能包含最新修改。
-
安装路径中的例程位于/opt/mech-mind/mech-eye-sdk/samples/python/profiler路径下;
-
通过GitHub克隆获取的例程位于xxx/mecheye_python_samples/profiler路径下。
执行以下指令从GitHub克隆Python例程:
cd ~
git clone https://github.com/MechMindRobotics/mecheye_python_samples.git
安装必需软件
使用Mech-Eye API的Python例程,必须安装依赖库、Mech-Eye SDK及Python Mech-Eye API。
-
安装Mech-Eye SDK:详见Mech-Eye SDK安装指南(Ubuntu)。
-
安装pip3或升级pip3,保证其版本为20.3.1或以上。
操作步骤
-
执行以下指令查看pip3是否安装及其版本:
pip3 -V
-
执行以下指令安装pip3:
sudo apt install python3-pip
-
执行以下指令升级pip3:
python3 -m pip install --upgrade pip
-
-
升级g++,保证选中的版本为12或以上。
如g++版本低于12,将导致 import
失败。操作步骤
-
执行以下指令安装新版本g++(以g++ 13为例):
sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get update sudo apt install g++-13
-
通过
ls
指令查看已安装的g++的版本:ls /usr/bin/g++*
-
执行以下指令将各版本的g++添加为alternative(以g++ 9和g++ 13为例):
命令末尾的数字为优先级。数字越大,优先级越高。 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 10 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 20
-
执行以下指令,选择g++版本。输入新版本g++对应的数字以选中该版本。
sudo update-alternatives --config g++
-
执行以下指令,确认是否成功选中新版本g++:
g++ --version
-
-
安装Python Mech-Eye API。
sudo pip3 install MechEyeApi
(可选)安装依赖的软件库
部分例程中的功能依赖OpenCV。如需使用下方列出的例程,则必须安装OpenCV(推荐最新版本)。
-
blind_spot_filtering
-
noise_removal
-
profile_alignment
-
render_depth_map
-
trigger_with_software_and_fixed_rate
-
trigger_with_external_device_and_fixed_rate
-
trigger_with_software_and_encoder
-
trigger_with_external_device_and_encoder
-
trigger_multiple_profilers_simultaneously
-
use_virtual_device
请执行以下命令安装最新版本的OpenCV:
sudo apt-get install libopencv-dev
sudo apt-get install python3-opencv
运行例程
本节以安装路径中包含的例程为例提供相关路径,如使用从GitHub克隆获取的例程,需对应更改路径。 |
请执行以下步骤运行例程:
-
进入例程所在的文件夹。
cd ~/opt/mech-mind/mech-eye-sdk/samples/python/profiler
-
运行例程:将sample_name替换为例程名称。例程运行过程中,请根据提示输入待连接轮廓测量仪的编号(index),并按Enter键连接轮廓测量仪。
sudo python3 sample_name.py
-
如例程保存了图像或点云,将在例程所在文件夹中得到保存的文件。
自行编写程序时,请先使用import指令导入Mech-Eye API:
|