hku-mars / r2live

R2LIVE: A Robust, Real-time, LiDAR-Inertial-Visual tightly-coupled state Estimator and mapping package
GNU General Public License v2.0
729 stars 194 forks source link

Hardware schema #53

Closed antun008 closed 3 years ago

antun008 commented 3 years ago

Does anyone have a schematic of how to pair all the hardware together? It especially bothers me how to connect the camera and make sync with others ...

borongyuan commented 3 years ago

The simplest way is using a GigE 2.0 camera, which support IEEE1588 (i.e. PTP synchronization). So all the devices and clocks can be synchronized using linuxptp. The camera can be driven using rc_genicam_camera. We also build a handheld device with simplified line design. IMG_20210924_135223 IMG_20210929_094410

antun008 commented 3 years ago

Thanks for the answer!:))

Just one more questions...

Can I use any brand of industrial camera or is it just recommended by FLIR blackfly? because the authors of r2live recommend BFS-U3-13Y3C-C : and it connects to usb 3.0. https://www.flir.eu/products/blackfly-s-usb3/?model=BFS-U3-13Y3C-C

While you recommend the GigE 2.0 connection, which is a totally different model: Model: BFS-PGE-13Y3C-C: https://www.flir.eu/products/blackfly-s-gige/?model=BFS-PGE-13Y3C- C The problem with ethernet connection is that on rpi4 I connect Livox avia on that, and then i dont have port for camera with gige 2.0 connection.

Now I don't know what kind of industrial cameras to buy? with the fact that they do not have BFS-U3-13Y3C-C in stock at all, so I was thinking of buying this second type. And if I can use another brand of this camera, can you recommend which one is good? I found something like that, which is similar to first solution with usb 3.0: https://www.rmaelectronics.com/hikrobot-mv-ca016-10uc/

And how many FPS do you reccomend?

borongyuan commented 3 years ago

You can use any brand of camera, as long as you can drive it and manage to achieve hardware synchronization. I use GigE 2.0 camera because one important component of the GigE Vision standards in version 2.0 is the Precision Time Protocol (PTP). PTP is also supported by Livox. So this is the simplest way for hardware synchronization. You don't need to modify the driver or add external trigger hardware. As you can see from the photo, there is only one network cable connected to the camera. It powers the camera, transmits data, and synchronizes the clock. The link you pasted is a GigE 1.2 camera, which does not support PTP. As far as I know you also can’t synchronize hardware via USB. But almost all types of industrial cameras support external trigger input. So you can connect your hardware like this, if you are not using a GigE 2.0 camera. GigE 2.0 cameras are not very popular yet. I'm using a Hikrobot camera, which is left over from another project. https://www.hikrobotics.com/en/machinevision/productdetail?id=5086&pageNumber=1&pageSize=50 It has relative high fame rate (125.2 fps) and low resolution (720x540). I don’t think current algorithms can make use of such a high frame rate. I would probably choose the following type if I need to build a new one. M12 lenses are also easier to get. https://www.hikrobotics.com/cn/machinevision/productdetail?id=7456&pageNumber=1&pageSize=20 I got pretty good test results with this set of equipment. This is not r2live but also based on FAST-LIO.

https://user-images.githubusercontent.com/22918715/136655706-7da9c022-2837-4097-bcce-4137e65fdb13.mp4

antun008 commented 3 years ago

Thanks a lot about ansewer! Just one more question before closing: Where can I get this type of device (which you showed on photo) that uses two ethernet ports? because my raspberry pi 4 or laptop has only one input for ethernet. Again, thanks a lot!

image

borongyuan commented 3 years ago

https://www.twowinit.com https://item.taobao.com/item.htm?spm=a2oq0.12575281.0.0.50111debVLmfVS&ft=t&id=616784802121 This carrier board is their new product, it seems to be only available in China at the moment

antun008 commented 3 years ago

sry, one more question... What kind of lens you use?

aditdoshi333 commented 3 years ago

Hello @borongyuan

Your sample SLAM video looks amazing. Can you please share which algorithm you are using for point cloud coloring? I am also using fastlio as a part of university project but I am not able get rgb color mapping for the same.

Thank you

stale[bot] commented 3 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

ToutDonner commented 2 years ago

The simplest way is using a GigE 2.0 camera, which support IEEE1588 (i.e. PTP synchronization). So all the devices and clocks can be synchronized using linuxptp. The camera can be driven using rc_genicam_camera. We also build a handheld device with simplified line design.

IMG_20210924_135223

IMG_20210929_094410

你好,请问你那块精灵四电池板是直接插在电池上然后通过vcc和gnd就可以进行输出的吗

borongyuan commented 2 years ago

是的

thisparticle commented 9 months ago

The simplest way is using a GigE 2.0 camera, which support IEEE1588 (i.e. PTP synchronization). So all the devices and clocks can be synchronized using linuxptp. The camera can be driven using rc_genicam_camera. We also build a handheld device with simplified line design. IMG_20210924_135223 IMG_20210929_094410

你好,想请教一下海康威视rc_genicam_camera应该怎么配置ptp同步呀?还有个问题就是ptp是只同步了时钟源,雷达和相机是没有同一时刻采集吗?

chenxiaocongAI commented 5 months ago

@borongyuan 海康威视的相机如果想设置为slave,是否买你那一款不用任何设置,其默认就是slave模式啊?如果需要进行配置,可以告诉我怎么设置吗

borongyuan commented 5 months ago

@borongyuan 海康威视的相机如果想设置为slave,是否买你那一款不用任何设置,其默认就是slave模式啊?如果需要进行配置,可以告诉我怎么设置吗

在海康MVS客户端里有IEEE 1588设置。主机上的ptp配置可参考linuxptp的文档。