快捷导航
如题 ,看了现有的sdk和demo ,

只看到 如何获取图片和获取取到的图片的时间戳信息,
        bool GetImagePtr(uint8_t *ppdata[], uint64_t &timestamp,uint8_t camera_no);

而我们的功能需求是需要 在固定的时刻去触发相机拍照并获取该时刻的相机时间戳


所用机型: xavier apex II
举报 使用道具
| 回复

共 7 个关于本帖的回复 最后回复于 2021-7-3 20:08

Hcheng 游客 发表于 2021-7-1 21:53 | 显示全部楼层
您好

我们规格上标识的(正式)支持的相机,都是支持您说的这种情况的。
但只能控制触发频率,具体频率的设置是在初始化函数里面设置。
具体您可以看我们手册里面的“GMSL2”相关的部分,使用方法,测试方法和测试说明都有写。
sjy 游客 发表于 2021-7-2 17:36 | 显示全部楼层
Hcheng 发表于 2021-7-1 21:53
您好

我们规格上标识的(正式)支持的相机,都是支持您说的这种情况的。

我刚刚又看了一遍文档,里面还是没有找到如何手动下发触发时刻,我用camera_sdk的代码集成后,
发现相机会自动对齐到整秒,这并不是我想要的对齐,
我想要的对齐是相对于整秒的固定偏移时间,比如相机是10Hz 100ms一帧图片输出,
但是我希望的是 40ms, 140ms ,240ms, 340ms.....的周期输出
  而不是 0ms ,100ms ,200ms,300ms,400ms,500ms,600ms.....
2021-07-02 13-05-50屏幕截图.png
如上图  camera_sdk 会自动同步对齐到整秒 不会产生额外偏移量
Hcheng 游客 发表于 2021-7-2 19:58 | 显示全部楼层
sjy 发表于 2021-7-2 17:36
我刚刚又看了一遍文档,里面还是没有找到如何手动下发触发时刻,我用camera_sdk的代码集成后,
发现相机 ...

您好

目前是不支持手动调整偏移量这个功能的呢?
请教您如下的问题,我们会转告产品,会看看是否能通过后续的OTA来进行支持这个需求。

1. 您是在怎样的用法下需要这个功能呢?
2. 没有这个偏移量会造成怎样的问题呢?
3. 同时使用几个相机?是每个相机都需要相同的偏移量么?
4. 这个偏移量很小,不会被ROS的通信机制来放大误差么?对时间误差的容忍是多少呢?(ROS的误差应该能达到10ms以上)
sjy 游客 发表于 2021-7-2 20:50 | 显示全部楼层
本帖最后由 sjy 于 2021-7-2 20:54 编辑
Hcheng 发表于 2021-7-2 19:58
您好

目前是不支持手动调整偏移量这个功能的呢?

1,2,3:因为相机的fov是有限的,激光雷达做360度感知融合必然需要多个相机拍照配合,那么激光雷达扫描到不同位置需要的相机图片是不一样的,是存在时间差的,因此需要激光雷达在扫描到不同位置时触发不同的相机,如果相机只能对齐到整秒 那么对于点云做匹配时就存在极大的时间滞后,无法用于计算,因此需要每个相机都能设置触发时刻

4:这个偏移量一般在数十毫秒到百毫秒级,每个相机之间的时间偏移是固定的,且触发周期相同,linux系统获取时间是基于系统调用及软中断的,因此在系统占用不高的情况下,不会出现较大偏差,之前有做过测试误差在300us左右;

我对gmsl相机触发快门机制不太清楚,我们希望最好的方式肯定是基于硬件的信号触发是最可靠的(不会受系统调度影响),因为对于整个计算来讲相机触发快门的时刻,以及相机采集图片花了多长时间是重要的,系统获取到图片的时间需要快,但是对计算结果影响并不大
Hcheng 游客 发表于 2021-7-3 16:57 | 显示全部楼层
sjy 发表于 2021-7-2 20:50
1,2,3:因为相机的fov是有限的,激光雷达做360度感知融合必然需要多个相机拍照配合,那么激光雷达扫描到 ...

您好

感谢您的详细介绍。
我能否这么理解:
1. 我们需要相机的快门时间配合激光器的旋转角度。
2. 我们需要多个相机,每个相机的快门时刻都匹配激光的旋转角度。因此比如接入4个相机,则在一个激光器旋转周期,需要相机在t1,t2,t3,t4四个时刻进行快门,并且t1,t2,t3,t4各不相同。
3. 虽然每个相机有传输延迟,激光器的数据也有传输延迟,只要时间戳准确,在应用层面可以进行对齐。

这部分功能我们是在规划中的。
硬件信号的触发虽然是可靠的,但是由于相机的传输延迟存在,因此触发时间和真实相机帧对齐是一个比较复杂的工作。也比较难进行准确的测试验证,这是目前我们一直没有推出这个功能的原因。(根据相机不同,帧传输延迟会在40ms ~ 100ms不等)

想请教您一下:
1. 您的应用场景需要多少个相机,各自在不同的时间触发?
2. 相机的分辨率希望是多少?卷帘快门的就可以,还是一定要全局快门。
3. 是否有目前设想中的验证手段?

我们是很乐意来推动这个功能落地的,也是苦于没有比较好的验证手段。
如果有好的想法的话,我们应该能够比较快的通过OTA来支持的。
sjy 游客 发表于 2021-7-3 18:54 | 显示全部楼层
Hcheng 发表于 2021-7-3 16:57
您好

感谢您的详细介绍。

是的,激光雷达也是做了时间同步的,激光雷达的机械结构决定了在不同角度需要匹配不同时刻的相机图片,因此如你说,4个相机需要配合在t1 t2 t3 t4时刻分别触发快门,虽然会有传输延迟,但对于全局曝光的相机来说触发时刻加曝光时间,可以认为就是相机图片产生时刻,因为曝光结束的时刻sensor的收集线路已被切断,并开始进行模数转换;传输延迟实际是转换时间和传输时间,这并不影响相机采集图片的时刻,因此只要触发时刻对齐即可;

另外卷帘式曝光和全局曝光实际影响最大的是动态增益即图像亮度,以及逐行曝光的方式不同,因此全局曝光的相机关注的是快门触发时刻和曝光时间,而对于卷帘式曝光相机我们关注的是快门触发时刻和图片最后一行曝光结束的时间(可以认为是图片输出结束的时刻),
但是不管是哪一种,相机的触发时刻都需要于激光雷达在不同角度对齐,不然做点云融合会出现较大偏差

1.相机使用个数取决于相机镜头的fov角,fov角越大,使用的数量就越少,这个不是固定的,需要根据相机实际的选择来定,我们目前测试使用的是6个
2.3 实际上全局快门更合适,因为拍出的图片没有拖影,之前一直使用的是全局快门相机,但是其图片噪点太大,增益不足导致识别出现障碍,因此在测试另一款卷帘式4k相机,但是因为sdk不支持触发信号控制,因此受到很大限制,因此希望能尽快开放触发信号人为下发的接口
Hcheng 游客 发表于 2021-7-3 20:08 | 显示全部楼层
sjy 发表于 2021-7-3 18:54
是的,激光雷达也是做了时间同步的,激光雷达的机械结构决定了在不同角度需要匹配不同时刻的相机图片,因 ...

好的。

也就是说,需要4~6个相机,来匹配机械激光雷达,工作在大概10~20Hz左右。
不知道您指的4K相机是哪一款,目前我们接触到的4K相机,似乎只有820C这一种解决方案。
但是按照目前这款相机的价格,基本属于非主流的价格,从用户需求到用量上面都很少。

由于使用者稀少,您要是非常需要类似功能,可以和对接您的商务沟通一下,可能可以提高我们类似功能的优先级。

但目前看来:
1. 4K相机本身价格太高,使用者很少。所以我们只提供到Beta支持。
2. 类似异步触发的测试方法不明,无法界定产品和用户边界。
3. 异步和同步在实际效果中体现出来的差异并不够明显,受众较小。

上述都是阻碍我们在产品层面支持类似功能的原因。
您需要登录后才可以回帖 登录 | 点我注册

精彩推荐

  • canbus与vcu相连接,出现bus-off状态
  • 有线连接失败
  • Apex 串口通讯
  • 关于SPI通信问题咨询
  • MIIVII APEX DUAL ORIN米文域控制器产品合

明星用户