Hello,
This is Anil from Michigan State University, I have six Femto Mega cameras connected in a network for a research project and I want to sync all the camera's color and depth. I have a sync hub pro and connector (Ethernet to 8 pin) for all cameras. I set up all cameras using OrbbecViewer SDK and checked there, all the secondary cameras won't record if the primary camera is not running. I am currently using OrbbecSDK_ROS2 for multi_net_camera launching. In the launch file, there is camera_mode parameter, I changed there too, but I am not getting time synced frames. Then, I got this link. I cloned it, built the package, changed necessary ips (in MultiDeviceSync.cpp file) and serial number (MultiDeviceSyncConfig.json file inside /bin). When I run the ./MultiCameraSync inside build/bin it prompted config and start stream options but either option threw following error. In this case I am using only two cameras for testing.
./MultiCamearSync
[03/18 16:55:19.300879][info][2481915][Context.cpp:68] Context created with config: /home/ani/ros2_ws/MultiDevicesSync/build/bin/OrbbecSDKConfig_v1.0.xml
[03/18 16:55:19.300888][info][2481915][Context.cpp:73] Work directory=/home/ani/ros2_ws/MultiDevicesSync/build/bin, SDK version=v1.10.14-20240926-34a94d1
[03/18 16:55:19.300897][info][2481915][LinuxPal.cpp:32] createObPal: create LinuxPal!
[03/18 16:55:19.301459][info][2481915][LinuxPal.cpp:166] Create PollingDeviceWatcher!
[03/18 16:55:20.316497][info][2481915][DeviceManager.cpp:15] Current found device(s): (2)
[03/18 16:55:20.316506][info][2481915][DeviceManager.cpp:20] - Name: Femto Mega, PID: 0x0669, SN/ID: CL2N24100FB, Connection: Ethernet, MAC:48:B0:2D:9B:3D:5A, ip:192.168.0.112
[03/18 16:55:20.316511][info][2481915][DeviceManager.cpp:20] - Name: Femto Mega, PID: 0x0669, SN/ID: CL2N241009F, Connection: Ethernet, MAC:48:B0:2D:9B:43:17, ip:192.168.0.110
libobsensor version: 11014
Please select options:
0 --> config devices
1 --> start stream
input: 0
config[0]: SN=CL2N241009F, mode=OB_MULTI_DEVICE_SYNC_MODE_PRIMARY
config[1]: SN=CL2N24100FB, mode=OB_MULTI_DEVICE_SYNC_MODE_SECONDARY
config[2]: SN=CL3N2410049, mode=OB_MULTI_DEVICE_SYNC_MODE_SECONDARY
config[3]: SN=CL3N2410056, mode=OB_MULTI_DEVICE_SYNC_MODE_SECONDARY
config[4]: SN=CL3N241006B, mode=OB_MULTI_DEVICE_SYNC_MODE_SECONDARY
config[5]: SN=CL2LC2P00EQ, mode=OB_MULTI_DEVICE_SYNC_MODE_SECONDARY
config[6]: SN=CL3N241006Y, mode=OB_MULTI_DEVICE_SYNC_MODE_SECONDARY
config[7]: SN=CL3N241005X, mode=OB_MULTI_DEVICE_SYNC_MODE_SECONDARY
config[8]: SN=CL2LC2P0002, mode=OB_MULTI_DEVICE_SYNC_MODE_SECONDARY
config[9]: SN=CL3B842001A, mode=OB_MULTI_DEVICE_SYNC_MODE_SECONDARY
config[10]: SN=CL3B842000A, mode=OB_MULTI_DEVICE_SYNC_MODE_SECONDARY
config[11]: SN=CL3N241003T, mode=OB_MULTI_DEVICE_SYNC_MODE_SECONDARY
config[12]: SN=CL3N2410053, mode=OB_MULTI_DEVICE_SYNC_MODE_SECONDARY
config[13]: SN=CL3B842001B, mode=OB_MULTI_DEVICE_SYNC_MODE_SECONDARY
config[14]: SN=CL3B8420013, mode=OB_MULTI_DEVICE_SYNC_MODE_SECONDARY
config[15]: SN=CL3B842000W, mode=OB_MULTI_DEVICE_SYNC_MODE_SECONDARY
config[16]: SN=CL3N241006E, mode=OB_MULTI_DEVICE_SYNC_MODE_SECONDARY
[03/18 16:55:26.831350][info][2481915][AbstractDevice.cpp:125] - Firmware version: 1.2.9
[03/18 16:55:26.901783][info][2481915][FemtoMegaNetDevice.cpp:137] FemtoMega Net device created! PID: 0x0669, SN: CL2N241009F
[03/18 16:55:26.901792][info][2481915][DeviceManager.cpp:99] create Net Device success! address=192.168.0.110, port=8090
[03/18 16:55:31.033087][info][2481915][AbstractDevice.cpp:125] - Firmware version: 1.2.9
[03/18 16:55:31.110947][info][2481915][FemtoMegaNetDevice.cpp:137] FemtoMega Net device created! PID: 0x0669, SN: CL2N24100FB
[03/18 16:55:31.110972][info][2481915][DeviceManager.cpp:99] create Net Device success! address=192.168.0.112, port=8091
[03/18 16:55:34.209433][warning][2481915][ObException.hpp:40] VendorTCPClient write data failed! socket=13, err_code=113
[03/18 16:55:34.209535][warning][2481915][VendorNetDataPort.cpp:17] Execute failure! A libobsensor_exception has occurred!
- where:17#sendData
- msg:VendorTCPClient write data failed! socket=13, err_code=113
- type:N11libobsensor12io_exceptionE
[03/18 16:55:34.209562][error][2481915][HostProtocol.cpp:475] get property value failed! propertyId: 111, rc:{statusCode: 2, respErrorCode: 65535, msg: send control transfer failed!}
[03/18 16:55:34.209569][warning][2481915][ObException.hpp:40] Request failed, statusCode: 2, msg: send control transfer failed!
[03/18 16:55:34.209600][warning][2481915][Ethernet.cpp:136] Execute failure! A libobsensor_exception has occurred!
- where:136#queryNetVendorPort
- msg:Request failed, statusCode: 2, msg: send control transfer failed!
- type:N11libobsensor12io_exceptionE
[03/18 16:55:37.281425][warning][2481915][ObException.hpp:40] VendorTCPClient write data failed! socket=13, err_code=113
[03/18 16:55:37.281475][warning][2481915][VendorNetDataPort.cpp:17] Execute failure! A libobsensor_exception has occurred!
- where:17#sendData
- msg:VendorTCPClient write data failed! socket=13, err_code=113
- type:N11libobsensor12io_exceptionE
[03/18 16:55:37.281500][error][2481915][HostProtocol.cpp:436] Set property value failed! propertyId:97, rc:{statusCode: 2, respErrorCode: 65535, msg: send control transfer failed!}
[03/18 16:55:37.281508][warning][2481915][ObException.hpp:40] Request failed, statusCode: 2, msg: send control transfer failed!
[03/18 16:55:37.281536][warning][2481915][FemtoMegaNetDevice.cpp:238] Execute failure! A libobsensor_exception has occurred!
- where:238#createCommand
- msg:Request failed, statusCode: 2, msg: send control transfer failed!
- type:N11libobsensor12io_exceptionE
[03/18 16:55:37.281701][info][2481915][FemtoMegaNetDevice.cpp:141] FemtoMega Net device destroyed! PID: 0x0669, SN: CL2N24100FB
[03/18 16:55:37.281928][info][2481915][FemtoMegaNetDevice.cpp:141] FemtoMega Net device destroyed! PID: 0x0669, SN: CL2N241009F
function:createNetDevice
args:address:1, port
message:Create vendor command failed! Device no response or bad connection.
type:0
sh: 1: pause: not found
[03/18 16:55:37.282827][info][2481915][Context.cpp:84] Context destroyed
(base) ani@bae-pc:~/ros2_ws/MultiDevicesSync/build/bin$
Even though I have to use it in OrbbecSDK_ROS2, I want to confirm that the cameras are syncing at least. Please suggest me the appropriate process to sync or share any useful resources Orbbec has. FYI, the cameras can be accessed from both OrbbecViewer and OrbbecSDK_ROS2 launching file.
Hello,
This is Anil from Michigan State University, I have six Femto Mega cameras connected in a network for a research project and I want to sync all the camera's color and depth. I have a sync hub pro and connector (Ethernet to 8 pin) for all cameras. I set up all cameras using OrbbecViewer SDK and checked there, all the secondary cameras won't record if the primary camera is not running. I am currently using OrbbecSDK_ROS2 for multi_net_camera launching. In the launch file, there is camera_mode parameter, I changed there too, but I am not getting time synced frames. Then, I got this link. I cloned it, built the package, changed necessary ips (in MultiDeviceSync.cpp file) and serial number (MultiDeviceSyncConfig.json file inside /bin). When I run the ./MultiCameraSync inside build/bin it prompted config and start stream options but either option threw following error. In this case I am using only two cameras for testing.
./MultiCamearSync
[03/18 16:55:19.300879][info][2481915][Context.cpp:68] Context created with config: /home/ani/ros2_ws/MultiDevicesSync/build/bin/OrbbecSDKConfig_v1.0.xml
[03/18 16:55:19.300888][info][2481915][Context.cpp:73] Work directory=/home/ani/ros2_ws/MultiDevicesSync/build/bin, SDK version=v1.10.14-20240926-34a94d1
[03/18 16:55:19.300897][info][2481915][LinuxPal.cpp:32] createObPal: create LinuxPal!
[03/18 16:55:19.301459][info][2481915][LinuxPal.cpp:166] Create PollingDeviceWatcher!
[03/18 16:55:20.316497][info][2481915][DeviceManager.cpp:15] Current found device(s): (2)
[03/18 16:55:20.316506][info][2481915][DeviceManager.cpp:20] - Name: Femto Mega, PID: 0x0669, SN/ID: CL2N24100FB, Connection: Ethernet, MAC:48:B0:2D:9B:3D:5A, ip:192.168.0.112
[03/18 16:55:20.316511][info][2481915][DeviceManager.cpp:20] - Name: Femto Mega, PID: 0x0669, SN/ID: CL2N241009F, Connection: Ethernet, MAC:48:B0:2D:9B:43:17, ip:192.168.0.110
libobsensor version: 11014
Please select options:
0 --> config devices
1 --> start stream
input: 0
config[0]: SN=CL2N241009F, mode=OB_MULTI_DEVICE_SYNC_MODE_PRIMARY
config[1]: SN=CL2N24100FB, mode=OB_MULTI_DEVICE_SYNC_MODE_SECONDARY
config[2]: SN=CL3N2410049, mode=OB_MULTI_DEVICE_SYNC_MODE_SECONDARY
config[3]: SN=CL3N2410056, mode=OB_MULTI_DEVICE_SYNC_MODE_SECONDARY
config[4]: SN=CL3N241006B, mode=OB_MULTI_DEVICE_SYNC_MODE_SECONDARY
config[5]: SN=CL2LC2P00EQ, mode=OB_MULTI_DEVICE_SYNC_MODE_SECONDARY
config[6]: SN=CL3N241006Y, mode=OB_MULTI_DEVICE_SYNC_MODE_SECONDARY
config[7]: SN=CL3N241005X, mode=OB_MULTI_DEVICE_SYNC_MODE_SECONDARY
config[8]: SN=CL2LC2P0002, mode=OB_MULTI_DEVICE_SYNC_MODE_SECONDARY
config[9]: SN=CL3B842001A, mode=OB_MULTI_DEVICE_SYNC_MODE_SECONDARY
config[10]: SN=CL3B842000A, mode=OB_MULTI_DEVICE_SYNC_MODE_SECONDARY
config[11]: SN=CL3N241003T, mode=OB_MULTI_DEVICE_SYNC_MODE_SECONDARY
config[12]: SN=CL3N2410053, mode=OB_MULTI_DEVICE_SYNC_MODE_SECONDARY
config[13]: SN=CL3B842001B, mode=OB_MULTI_DEVICE_SYNC_MODE_SECONDARY
config[14]: SN=CL3B8420013, mode=OB_MULTI_DEVICE_SYNC_MODE_SECONDARY
config[15]: SN=CL3B842000W, mode=OB_MULTI_DEVICE_SYNC_MODE_SECONDARY
config[16]: SN=CL3N241006E, mode=OB_MULTI_DEVICE_SYNC_MODE_SECONDARY
[03/18 16:55:26.831350][info][2481915][AbstractDevice.cpp:125] - Firmware version: 1.2.9
[03/18 16:55:26.901783][info][2481915][FemtoMegaNetDevice.cpp:137] FemtoMega Net device created! PID: 0x0669, SN: CL2N241009F
[03/18 16:55:26.901792][info][2481915][DeviceManager.cpp:99] create Net Device success! address=192.168.0.110, port=8090
[03/18 16:55:31.033087][info][2481915][AbstractDevice.cpp:125] - Firmware version: 1.2.9
[03/18 16:55:31.110947][info][2481915][FemtoMegaNetDevice.cpp:137] FemtoMega Net device created! PID: 0x0669, SN: CL2N24100FB
[03/18 16:55:31.110972][info][2481915][DeviceManager.cpp:99] create Net Device success! address=192.168.0.112, port=8091
[03/18 16:55:34.209433][warning][2481915][ObException.hpp:40] VendorTCPClient write data failed! socket=13, err_code=113
[03/18 16:55:34.209535][warning][2481915][VendorNetDataPort.cpp:17] Execute failure! A libobsensor_exception has occurred!
- where:17#sendData
- msg:VendorTCPClient write data failed! socket=13, err_code=113
- type:N11libobsensor12io_exceptionE
[03/18 16:55:34.209562][error][2481915][HostProtocol.cpp:475] get property value failed! propertyId: 111, rc:{statusCode: 2, respErrorCode: 65535, msg: send control transfer failed!}
[03/18 16:55:34.209569][warning][2481915][ObException.hpp:40] Request failed, statusCode: 2, msg: send control transfer failed!
[03/18 16:55:34.209600][warning][2481915][Ethernet.cpp:136] Execute failure! A libobsensor_exception has occurred!
- where:136#queryNetVendorPort
- msg:Request failed, statusCode: 2, msg: send control transfer failed!
- type:N11libobsensor12io_exceptionE
[03/18 16:55:37.281425][warning][2481915][ObException.hpp:40] VendorTCPClient write data failed! socket=13, err_code=113
[03/18 16:55:37.281475][warning][2481915][VendorNetDataPort.cpp:17] Execute failure! A libobsensor_exception has occurred!
- where:17#sendData
- msg:VendorTCPClient write data failed! socket=13, err_code=113
- type:N11libobsensor12io_exceptionE
[03/18 16:55:37.281500][error][2481915][HostProtocol.cpp:436] Set property value failed! propertyId:97, rc:{statusCode: 2, respErrorCode: 65535, msg: send control transfer failed!}
[03/18 16:55:37.281508][warning][2481915][ObException.hpp:40] Request failed, statusCode: 2, msg: send control transfer failed!
[03/18 16:55:37.281536][warning][2481915][FemtoMegaNetDevice.cpp:238] Execute failure! A libobsensor_exception has occurred!
- where:238#createCommand
- msg:Request failed, statusCode: 2, msg: send control transfer failed!
- type:N11libobsensor12io_exceptionE
[03/18 16:55:37.281701][info][2481915][FemtoMegaNetDevice.cpp:141] FemtoMega Net device destroyed! PID: 0x0669, SN: CL2N24100FB
[03/18 16:55:37.281928][info][2481915][FemtoMegaNetDevice.cpp:141] FemtoMega Net device destroyed! PID: 0x0669, SN: CL2N241009F
function:createNetDevice
args:address:1, port
message:Create vendor command failed! Device no response or bad connection.
type:0
sh: 1: pause: not found
[03/18 16:55:37.282827][info][2481915][Context.cpp:84] Context destroyed
(base) ani@bae-pc:~/ros2_ws/MultiDevicesSync/build/bin$
Even though I have to use it in OrbbecSDK_ROS2, I want to confirm that the cameras are syncing at least. Please suggest me the appropriate process to sync or share any useful resources Orbbec has. FYI, the cameras can be accessed from both OrbbecViewer and OrbbecSDK_ROS2 launching file.