ROS1 Tutorial
If you haven't built the core Smart Capture SDK yet, please take a look here.
For more comprehensive SDK documentation, take a look here.
Overview
In this tutorial we'll be demonstrating how to use Smart Capture in conjunction with ROS. We'll be using a couple of different open-source packages as well as Scale-provided utilities to process object detection and clip embeddings inside of the tutorial. If you aren't already a ROS user, it might be better to take a look at our non-ROS tutorial for inspiration on what that might look like.
We'll also be using the provided Smart Capture On-Device Update Service to retrieve updated trigger definitions from the Smart Capture Web Interface.
The diagram here can help explain what these different components do. For the purpose of simplicity in this tutorial, we'll be omitting the Update Server component, and will be allowing the On-Device Update Service to directly call the Smart Capture Web Server.
This tutorial was written with ROS1 Noetic in mind, and has been tested on an Nvidia Jetson Orin embedded device. If you are rusty on some of your ROS concepts, it might be helpful to look at the ROS specific tutorials before working through this one.
Dependencies
OpenCV
Since we'll be using OpenCV inside C++, we'll need to build it from source. There are some good instructions for doing so on Linux here.
ROS
We'll be using ROS Noetic in this tutorial. Official instructions for installing it can be found here.
This tutorial also uses the excellent catkin_tools library, which can be installed with the instructions found here.
After installing ROS, we will need to clone a couple of other packages into our catkin workspace before we can run the full tutorial, but that'll be described in the ROS Workspace page.
Updated 10 months ago