Huge ROS fans here but with very little hands-on experience so far… wanting to get more into implementing support for ROS. The most we’ve done is this quick (now old/stale) stab at support here for the USB variant of DepthAI.
So we’re making a power-over-ethernet version of DepthAI (what that is, here) and we’re wanting to implement the Ethernet stack so that it’s maximally compatible with ROS if possible (since we’re starting from scratch, we might as well!).
So along those lines, we wanted to see if there as a standard auto-discover sort of UDP system or otherwise in ROS that we should be implementing on DepthAI directly.
We were thinking of doing a UDP-broadcast discover for example… which would return device config information (firmware version, number of cameras, capabilities, etc.), but wasn’t sure if such a protocol for auto-discovery already exists in ROS. This would be implemented directly into the firmware in DepthAI (so on the Myriad X).
Some quick googling we found zeroconf (here). Is this what we should be implementing to?
Or should we go ahead and make our own discovery protocol/implementation?
Thanks in advance,
Brandon & The Luxonis Team
And for a quick video of what DepthAI does, here’s depth data overlaid on bounding boxes. DepthAI does the whole bit here, at 30FPS. The depth data is optional and just the meta-data-can be requested (i.e. object class, and 3D position of the object). And in this example the host used couldn’t keep up with the full 1280x720p depth data, so it’s shown at ~8FPS here as a result:
And here’s a similar version but for finding 3D location of facial landmarks in real-time (running the face detector -> facial landmark detector in series, and those together in parallel off of the global-shutter/synched stereo pair):