完整教程:图漾TM26X相机专栏

文章目录

1.TM26X相机

在这里插入图片描述

TM260/262-E1相机外观

加粗样式在这里插入图片描述

TM265-E1相机外观

1.1 TM26X相机工作场景

特点:机身小巧易集成,适用于客流计、立体避障【TM262】和叉尖避障【TM265】等应用。
不适用场景:场景中有发光柱、识别3m外5cm以下黑色低反材质。

:TM260/262相机不带RGB,TM265相机带RGB,同时整体厚度更小

1.2 TM26X IO线和数据线定义

1.2.1 IO接口定义

在这里插入图片描述

  相机的电源&数据接口线定义如下:
在这里插入图片描述

1.2.2 数据接口线

  TM26X相机数据线如下图:
在这里插入图片描述

1.2.3 TM26X相机连接拓扑网络

   TM26X相机拓扑网络如下图:
在这里插入图片描述

1.2.4 TM260/262-E1相机正面安装方向

  TM260/262-E1相机正面安装方向如下:
在这里插入图片描述
  黄色标签在上。

1.2.5 TM260/262相机上下面螺纹孔安装

在这里插入图片描述
  相机顶面有一组M3接口(螺纹深度 5mm)

1.2.6 TM260/262侧面螺纹孔安装

在这里插入图片描述
  侧面有一组M3接口(螺纹深度4mm)

1.2.7 TM265-E1相机正面安装方向

  TM265-E1相机正面安装方向如下:
在这里插入图片描述
在这里插入图片描述
   从左到右依次是Tx接收器,Rx(IR)接收器,RGB相机。

1.2.8 TM265上下面螺纹孔安装

在这里插入图片描述

  TM265-E1相机上下面有一组M3螺纹孔(螺纹深度5mm)

1.2.6 TM265侧面螺纹孔安装

在这里插入图片描述

1.2.9 TM26X相机IO指示灯

  TM260/262相机的状态指示灯如下图:
在这里插入图片描述

TM260/262相机指示灯

在这里插入图片描述

TM260/262相机指示灯说明

  TM265-E1相机的状态指示灯如下图:在这里插入图片描述

TM265-E1相机指示灯

在这里插入图片描述

TM265-E1相机指示灯说明

如遇到相机状态指示灯不亮,请仔细检查相机硬件连接是否正常,供电是否正常。

1.3 TM26X相机性能指标

1.3.1 TM260/262相机性能

  TM260/262相机的性能指标如下:
在这里插入图片描述

1.3.2 TM265相机性能

  TM265-E1相机的性能指标如下:
在这里插入图片描述

2.TM26X相机操作

2.1 下载看图软件连接相机

  1.TM265-E1相机,建议搭配图漾官网PercipioViewer看图软件使用,看图软件下载链接:图漾官网
在这里插入图片描述

  2.PercipioViewer看图软件详细操作,可查看此链接:图漾官网PercipioViewer软件操作手册

2.2 图漾PercipioViewer软件更改相机IP

  详细更改相机的IP操作,可打开链接:
通过PercipioViewer软件更改相机IP

2.3 深度图调参

  个人推荐的参数配置:
在这里插入图片描述
  每个参数的作用,可参看链接:相机参数作用
在这里插入图片描述
在这里插入图片描述

2.4 深度图评估

2.4.1 评估点云

  打开深度取图开关,打开下图如下位置:

在这里插入图片描述
  个人建议参考上图中的1和3,2的数值会收到ROI大小和ROI是否平整等因素有关,会波动较大。

2.4.2 填充空洞

在这里插入图片描述

2.4.3 滤波功能

在这里插入图片描述

2.4.4 时域滤波功能

在这里插入图片描述

2.4.5 中值滤波

在这里插入图片描述

2.4.6 调节深度图渲染效果

  个人推荐使用Turto渲染功能,该功能类似Opencv中的colorformap函数。

在这里插入图片描述

2.5 保存图像

  详细操作和图像格式,可打开链接:图漾看图软件保存图片

2.5.1 单张存图

在这里插入图片描述
  具体操作步骤如下:
在这里插入图片描述

2.5.2 连续存图

  Percipio Viewer 可以按照预设帧数连续保存图像(深度图、彩色图、左右灰度图、深度图映射至彩色图的对齐图、彩色图映射至深度图的对齐图、点云图、深度与彩色对齐后生成的点云图)。
在这里插入图片描述

2.6 相机保存参数配置

  保存相机参数进相机storage区域,具体操作流程如下图:
图漾相机保存参数配置

在这里插入图片描述

2.6.1 保存参数限制

  只能保存每个组件control下的属性,其他的参数无法保存进相机里。
在这里插入图片描述

3.TM26X相机SDK

  TM265-E1相机,推荐使用的编程语言和SDK版本如下:

3.1 C++语言SDK(推荐)

  TM265-E1相机,既可以使用官网3.X.X版本的SDK,也可以使用4.X.X版本的SDK。

  具体操作和Sample和案例,可打开如下链接:
  1.图漾相机4.X.X版本C++语言SDK
  2.图漾官网C++语言教程

3.2 ROS1版本(推荐)

  TM265-E1相机,既可以使用官网3.X.X版本的SDK,也可以使用4.X.X版本的SDK。

  具体操作和Sample和案例,可打开如下链接:
图漾相机-ROS1_SDK_ubuntu 4.X.X版本编译
图漾官网ROS1教程

3.3 ROS2版本(推荐)

  TM265-E1相机,既可以使用官网3.X.X版本的SDK,也可以使用4.X.X版本的SDK。

  具体操作和Sample和案例,可打开如下链接:
图漾相机-ROS2-SDK-Ubuntu 4.X.X版本编译
图漾官网ROS2教程

3.4 C#语言SDK

目前只建议使用3.X.X版本

  建议参考以下链接
  1.图漾相机——C#语言 3.X.X版本属性设置
  2.图漾官网3.X.X版本C#语言属性设置

3.5 Python语言SDK

  目前只建议使用3.X.X版本

  建议参考以下链接:
  1.图漾相机——Python 3.X.X版本属性设置
  2.图漾官网3.X.X版本Python语言属性设置

3.6 Halcon语言SDK

  建议参考以下链接:
  1.图漾Halcon版本SDK使用教程【V1.1.X新版本】

3.7 VisionPro语言SDK

  建议参考以下链接:
  1.图漾相机搭配VisionPro使用简易教程
  如果使用VisionPro调用TOF相机,请联系图漾技术,获取最新版本SDK。

4.TM26X相机内外参说明

4.1 如何获取TM265-E1相机内参?

4.1.1 方法一 运行DumpCalibInfo

SDK3.6.52之后版本,新增示例程序,此示例程序可以将相机的标定参数以json文件的形式导出到本地。

  编译C++语言中的例子,之后运行Sample_V1文件夹中的DumpCalibInfo例子,会生成一个json文件,里面记录TM265–E1相机的内外参信息。
在这里插入图片描述
  生成的json文件如下图:

{
"sn": "207000166092",
"timestamp": "2025-11-27 17:06:37",
"depth_calib_info" : {
"intri": [
99.824997,
0.000000,
121.879997,
0.000000,
99.824997,
46.987000,
0.000000,
0.000000,
1.000000
],
"distortion": [
-0.064389,
0.022902,
-0.003130,
-0.000454,
0.001025,
0.176800,
0.013377,
-0.002249,
0.000000,
0.000000,
0.000000,
0.000000
],
"image_width": 240,
"image_height": 96,
"scale_unit": 1.000000
},
"color_calib_info" : {
"intri": [
797.859985,
0.000000,
978.809998,
0.000000,
797.859985,
560.369995,
0.000000,
0.000000,
1.000000
],
"extri": [
0.999910,
0.003119,
-0.013046,
-15.561625,
-0.003290,
0.999909,
-0.013087,
-0.231324,
0.013004,
0.013129,
0.999829,
1.352020,
0.000000,
0.000000,
0.000000,
1.000000,
-0.056036
],
"distortion": [
-0.056036,
0.006733,
-0.000250,
0.000252,
-0.001001,
0.148940,
0.007927,
-0.004931,
0.000000,
0.000000,
0.000000,
0.000000
],
"image_width": 1920,
"image_height": 1080
}
}

4.1.2 方法二 运行DumpAllFeature例子

图漾C++语言SDK下载链接
  使用官网如下路径下的x64压缩包,通过鼠标右键+shift键,进入到PowerShell界面,运行DumpAllFeatures例子,生成对应内容:
在这里插入图片描述

4.1.3 通过PV软件

  具体方法如下:
在这里插入图片描述在这里插入图片描述

  而fetch_config.xml文件中,具体属性的功能,可查看链接:
相机config属性解读

4.2 TM265-E1相机内参说明

  运行DumpAllFeatures例子,具体方法参考4.1章节方法二,打印出来的内参如下:

TY_INT_WIDTH: comp(0x10000) feat(0x1104) name(image width) access(1) bindComponent(0x0) bindFeature(0x0)
: 240
TY_INT_HEIGHT: comp(0x10000) feat(0x1105) name(image height) access(1) bindComponent(0x0) bindFeature(0x0)
: 96
TY_ENUM_IMAGE_MODE: comp(0x10000) feat(0x3109) name(image mode) access(3) bindComponent(0x0) bindFeature(0x0)
: entry count 2
:     value(0x200f0060), desc(depth16 240x96)
:     value(0x820f0060), desc(xyz48 240x96)
TY_FLOAT_SCALE_UNIT: comp(0x10000) feat(0x210a) name(scale unit) access(1) bindComponent(0x0) bindFeature(0x0)
: 1.000000
TY_COMPONENT_IR_CAM_LEFT:
TY_STRUCT_CAM_INTRINSIC: comp(0x40000) feat(0x7000) name(intrinsic) access(1) bindComponent(0x0) bindFeature(0x0)
99.824997 0.000000 121.879997
0.000000 99.824997 46.987000
0.000000 0.000000 1.000000
TY_STRUCT_CAM_DISTORTION: comp(0x40000) feat(0x7006) name(distortion) access(1) bindComponent(0x0) bindFeature(0x0)
-0.064389 0.022902 -0.003130 -0.000454
0.001025 0.176800 0.013377 -0.002249
0.000000 0.000000 0.000000 0.000000
TY_INT_WIDTH: comp(0x40000) feat(0x1104) name(image width) access(1) bindComponent(0x0) bindFeature(0x0)
: 240
TY_INT_HEIGHT: comp(0x40000) feat(0x1105) name(image height) access(1) bindComponent(0x0) bindFeature(0x0)
: 96
TY_ENUM_IMAGE_MODE: comp(0x40000) feat(0x3109) name(image mode) access(1) bindComponent(0x0) bindFeature(0x0)
: entry count 1
:     value(0x230f0060), desc(mono16 240x96)
TY_COMPONENT_RGB_CAM_LEFT:
TY_STRUCT_CAM_INTRINSIC: comp(0x100000) feat(0x7000) name(rgb intrinsic) access(1) bindComponent(0x0) bindFeature(0x0)
265.953339 0.000000 326.269989
0.000000 265.953339 186.789993
0.000000 0.000000 1.000000
TY_STRUCT_EXTRINSIC_TO_DEPTH: comp(0x100000) feat(0x7001) name(rgb to leftIR extrinsic) access(1) bindComponent(0x0) bindFeature(0x0)
0.999910 0.003119 -0.013046 -15.561625
-0.003290 0.999909 -0.013087 -0.231324
0.013004 0.013129 0.999829 1.352020
0.000000 0.000000 0.000000 1.000000
TY_STRUCT_CAM_DISTORTION: comp(0x100000) feat(0x7006) name(distortion) access(1) bindComponent(0x0) bindFeature(0x0)
-0.056036 0.006733 -0.000250 0.000252
-0.001001 0.148940 0.007927 -0.004931
0.000000 0.000000 0.000000 0.000000
TY_INT_WIDTH: comp(0x100000) feat(0x1104) name(image width) access(1) bindComponent(0x0) bindFeature(0x0)
: 640
TY_INT_HEIGHT: comp(0x100000) feat(0x1105) name(image height) access(1) bindComponent(0x0) bindFeature(0x0)(2025-11-27 17:00:57) ===                       : 360
TY_ENUM_IMAGE_MODE: comp(0x100000) feat(0x3109) name(image mode) access(3) bindComponent(0x0) bindFeature(0x0)
: entry count 3
:     value(0x32780438), desc(jpeg 1920x1080)
:     value(0x225002d0), desc(yuyv 1280x720)
:     value(0x22280168), desc(yuyv 640x360)
TY_BOOL_AUTO_EXPOSURE: comp(0x100000) feat(0x4300) name(auto exposure) access(3) bindComponent(0x0) bindFeature(0x0)(2025-11-27 17:00:57) ===                       : 1
TY_INT_EXPOSURE_TIME: comp(0x100000) feat(0x1301) name(exposure time) access(3) bindComponent(0x0) bindFeature(0x0)
: 500
TY_BOOL_AUTO_AWB: comp(0x100000) feat(0x4304) name(auto balance) access(3) bindComponent(0x0) bindFeature(0x0)
: 1
TY_INT_R_GAIN: comp(0x100000) feat(0x1520) name(r gain) access(3) bindComponent(0x0) bindFeature(0x0)
: 400
TY_INT_B_GAIN: comp(0x100000) feat(0x1522) name(b gain) access(3) bindComponent(0x0) bindFeature(0x0)
: 400
Close device

注意:通过此方式打印的相机内参可能是相机当前分辨率的内参(通过PercipioViewer软件进行保存参数),而不是出厂标定分辨率的内参。

4.2.1 深度图内参

注意:从下图可以看出,图漾TOF相机深度图是需要做畸变校正的

TY_COMPONENT_DEPTH_CAM:
TY_STRUCT_CAM_INTRINSIC: comp(0x10000) feat(0x7000) name(depth intrinsic) access(1) bindComponent(0x0) bindFeature(0x0)
99.824997 0.000000 121.879997
0.000000 99.824997 46.987000
0.000000 0.000000 1.000000
TY_STRUCT_CAM_DISTORTION: comp(0x10000) feat(0x7006) name(distortion) access(1) bindComponent(0x0) bindFeature(0x0)
-0.064389 0.022902 -0.003130 -0.000454
0.001025 0.176800 0.013377 -0.002249
0.000000 0.000000 0.000000 0.000000

在这里插入图片描述
  1.cx和cy通常大约是图像分辨率W和H的一半,得出TM265-E1相机深度图出厂标定分辨率为240x96
  2.通过此处,发现图漾相机的TOF相机,深度图也是需要进行畸变校正的

4.2.2 彩色图内参/畸变系数/外参

TY_COMPONENT_RGB_CAM_LEFT:
TY_STRUCT_CAM_INTRINSIC: comp(0x100000) feat(0x7000) name(rgb intrinsic) access(1) bindComponent(0x0) bindFeature(0x0)
797.859985 0.000000 978.809998
0.000000 797.859985 560.369995
0.000000 0.000000 1.000000
TY_STRUCT_CAM_DISTORTION: comp(0x100000) feat(0x7006) name(distortion) access(1) bindComponent(0x0) bindFeature(0x0)
-0.056036 0.006733 -0.000250 0.000252
-0.001001 0.148940 0.007927 -0.004931
0.000000 0.000000 0.000000 0.000000

  1.cx和cy通常大约是图像分辨率W和H的一半,得出TM265-E1相机深度图出厂标定分辨率为1920x1080
  2.彩色图相机的畸变系数如下:
在这里插入图片描述

TYGetEnum(hDevice, comp_id, TY_ENUM_LENS_OPTICAL_TYPE, &lens_tpye)来区分新旧相机。
//TY_LENS_PINHOLE是小孔成像,RGB畸变系数依次是k1,k2,p1,p2,k3,k4,k5,k6,s1,s2,s3,s4
//TY_LENS_FISHEYE是新的鱼眼标定,RGB畸变系数依次是k1,k2,k3,k4

  3.彩色图相机的外参如下:

TY_STRUCT_EXTRINSIC_TO_DEPTH: comp(0x100000) feat(0x7001) name(rgb to leftIR extrinsic) access(1) bindComponent(0x0) bindFeature(0x0)
0.999910 0.003119 -0.013046 -15.561625
-0.003290 0.999909 -0.013087 -0.2313241764237341969
0.013004 0.013129 0.999829 1.352020
0.000000 0.000000 0.000000 1.000000

在这里插入图片描述

4.3 TM26X相机光心位置

4.3.1 TM260/262相机光心位置

在这里插入图片描述
在这里插入图片描述

4.3.2 TM265相机光心位置

  以左IR为光心
在这里插入图片描述
在这里插入图片描述

4.4 TM26X相机标定距离

  待补充

5.TM26X相机常见问题FAQ

5.1 TM26X成像问题

5.1.1多台相机同时使用产生异常点云

  TM26X相机拍摄远方物体时,总是有莫名噪点产生,如下图所示:
在这里插入图片描述

【解决措施】:

  开启相机Depth Stream数据流中的 tof anti-interference功能,开启后实际效果如下图:
在这里插入图片描述
  具体在PercipioViewer软件,操作如下图:
在这里插入图片描述

5.1.2 倒车过程中,叉尖相机误避障

问题描述】:
  TM26X插尖相机,在倒车过程中,偶发出现误避障问题。
排查过程】:
  通过保存的点云,观察如下图所示:
在这里插入图片描述
原因分析】:
  当托盘超出叉臂一部分,同时货物又超出叉臂一部分,叉尖相机只能看到托盘下表面和货物下表面,托盘上下表面有一个倾斜角,相机打出去的激光,打到托盘下表面和货物下表面,有反射的光线打到地面,又再次进入相机,在两者各超托间隙形成类似“拉丝”现象。
在这里插入图片描述

实际货物超托示意图

【解决措施】

  比如之前设置的600,可适当改为1104/1105,可解决大部分“拉丝”现象。
注意1:末尾数值越大,近处滤波倍率越大,末尾数值是9,过滤倍率最大,但容易丢失小目标物体。
注意2:使用此功能,需要TM262相机固件在1.2.21以上版本,TM265相机固件在1.0.28版本以上。

5.2 相机常见错误码及解决措施

  1.图漾官网给出了常见错误码及解决措施,具体可打开如下链接:
图漾官网错误码链接
  2.其他错误码解析,可打开如下链接:
个人整理的相机错误码

5.3 找到相机IP并进入相机内部

  首先需要知道相机IP地址,可以通过鼠标邮件+shift键,进入powershell界面,或者在Linux终端,输入arp-a命令获取,图漾的相机以06开头,如下图:
在这里插入图片描述
  进入相机底层指令,查看日志文件。

ssh root@cameraIP  密码123456

  不同相机日志文件保存地址不同。

cat /home/percipio/.messages (双目散斑相机)
cat /var/log/messages(TM26X/TM421/TM461等ToF相机)
方法一

  如果出现链接不进去的情况,需要输入ssh-keygen -R 相机IP地址,如下图:

ssh-keygen -R 192.168.1.100(相机实际IP
方法二

在这里插入图片描述

  如果遇到上面的情况,是需要输入RSA校验的,请输入下面这段话,相机IP替换为实际的IP地址

ssh -o HostKeyAlgorithms=+ssh-rsa -o PubkeyAcceptedKeyTypes=+ssh-rsa root@相机IP
方法三
  使用SecureCRT工具登录。

5.3.1 dmesg指令

  如下图,通过dmesg命令,看到相机从千兆偶发性变成了百兆。
在这里插入图片描述
  1).dmesg命令可以显示上电以来系统以及驱动的log
  2).检测上电后网络是否稳定。

5.3.2 cat /var/log/messages指令

  该指令包括所有以前上电的log+demsg+应用层log,可以查看相机是否有:
  1).trigger failed的情况
  2).open/close设备时间
  3).start/stop capture时间
  4).time(可以通过date指令同步下时间差)
  5).uptime查看上电时间

5.3.3 uptime:查看系统运行时间与负载

  uptime 命令用于显示系统的运行时间、当前时间、登录用户数以及系统的平均负载。
  在终端中输入以下命令:

uptime

  输出示例:

10:30:45 up 2 days,  3:15,  2 users,  load average: 0.15, 0.10, 0.05

  10:30:45:当前系统时间。
  up 2 days, 3:15:系统已经运行了2天3小时15分钟。
  2 users:当前有2个用户登录。
  load average: 0.15, 0.10, 0.05:系统在过去1分钟、5分钟和15分钟的平均负载。

5.3.4 其他指令

1.版本信息

cat /sys/modules/depth_cam/version

2.取图超时次数

cat /sys/modules/depth_cam/parameters/reset_cnt

3.是否为异步模式

cat /sys/modules/depth_cam/parameters/cmos_sync

4.是否缺少sensor

cat /sys/modules/depth_cam/parameters/device_list
2为left IR, 4 right ir, 8 rgb, bit位或起来

6.TM26X相机测试结果

6.1 TM260/262帧率和延迟时间测试

6.1.1 TM260/262相机参数表

在这里插入图片描述

6.1.2 TM260/262 出图延迟时间

出图延迟时间:相机在连续采集模式下统计从开始曝光到系统完全处理完图像的总之时间,单位微秒。
出图延时时间测试结果如下所示:

出图延迟时间结果(depth-quality=medium)

在这里插入图片描述

出图延迟时间结果(depth-quality=basic)

在这里插入图片描述

6.1.3 TM260/262 帧率测试

帧率测试结果

在这里插入图片描述

6.2 TM265-E1 帧率和延迟时间测试

6.2.1 TM265-E1相机参数表

在这里插入图片描述

TM265-E1相机参数表

6.2.2 TM265-E1 出图延迟时间

出图延迟时间:相机在连续采集模式下统计从开始曝光到系统完全处理完图像的总之时间,单位微秒。
出图延时时间测试结果如下所示:

在这里插入图片描述

TM265-E1相机出图延迟时间结果

6.2.3 TM265-E1 帧率测试

FPS(帧率):指相机设置在自由采集模式下,上位机每秒采集的图像帧数。
   TM265-E1帧率测试结果如下所示:

在这里插入图片描述

TM265-E1相机帧率结果

7.其他学习资料

   1.TOF系统 第一章 系统综述
   2.TOF系统 第二章 dTOF系统
   3.TOF系统 第三章 iTOF系统
   4.TOF系统 第四章 dTOF和iTOF比较及应用
   5.TOF系统 第五章 VCSEL
   6.TOF系统 第六章 电路系统
   7.TOF系统
   8. 图漾官网相机规格书

posted @ 2025-12-27 17:00  clnchanpin  阅读(30)  评论(0)    收藏  举报