Play with SENSR-I output data
SENSR-I is a market-leading 3D computer vision perception engine that utilizes 3D sensor data. SENSR-I is used as a key technology in various industries such as security and smart space to provide data necessary for various use cases.
If you request through the sales contact, you can use the demo output data stream in advance before purchasing the SENSR and check the integration with your own solution.
This is an example written assuming that you are using ubuntu
and python 3
.
How to use demo output data stream
Get URL and account information(ID|Password) for your demo experience through Seoul Robotics' sales representative. URL will be like
company-name.demo.seoulrobotics.io
Pull SENSR-I’s standard SDK via Github.
git clone https://github.com/seoulrobotics/sensr_sdk/
- Build dependencies from source using command below.
sudo apt-get install autoconf automake libtool curl make g++ unzip
curl -OL https://github.com/protocolbuffers/protobuf/releases/download/v3.11.4/protobuf-cpp-3.11.4.zip
unzip protobuf-cpp-3.11.4.zip
rm protobuf-cpp-3.11.4.zip
cd protobuf-3.11.4
./autogen.sh
./configure CXXFLAGS=-fPIC
make
make check
sudo make install
sudo ldconfig
- Build SENSR SDK using command below.
sudo apt-get install autoconf automake libtool curl make g++ unzip
git submodule update --init
- Install python package using command below. (Make sure that pip3 and python3 are pre-installed.)
cd pulled-directory-path/sensr_sdk/python/
./configure.sh
- Modify codes in
pulled-directory-path/sensr_sdk/python/sensr_message_listener.py
following below description.
...
class MessageListener(metaclass=ABCMeta):
def __init__(self,
address="localhost",
listener_type=ListenerType.BOTH,
- output_port = "5050",
- point_port = "5051",
- use_ssl=False,
+ output_port = "5450",
+ point_port = "5451",
+ use_ssl=True,
crt_file_path=""):
protocol = 'ws'
if use_ssl:
protocol = 'wss'
self._ssl_context = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
- self._ssl_context.verify_mode = ssl.CERT_REQUIRED
- assert os.path.exists(crt_file_path), "Please indicate a valid certificate file."
- self._ssl_context.load_verify_locations(crt_file_path)
+ # self._ssl_context.verify_mode = ssl.CERT_REQUIRED
+ # assert os.path.exists(crt_file_path), "Please indicate a valid certificate file."
+ # self._ssl_context.load_verify_locations(crt_file_path)
...
- Run the python script using command below.
python3 console_output.py --address id:password@company-name.demo.seoulrobotics.io --example_type object
- Now you can check output data stream coming out by checking logs.
...
Obj (32858): point no. 103
Obj (32858): velocity x: -0.02483910322189331
y: -0.0073462980799376965
Obj (32858): bbox position {
x: -6.325636863708496
y: -38.590065002441406
}
size {
x: 2.22884202003479
y: 4.3332977294921875
z: 1.3581733703613281
}
yaw: 6.063457489013672
Obj (32858): tracking status TRACKING
Obj (32858): Object type LABEL_CAR
Obj (32858): prediction positions {
x: -6.328120708465576
y: -38.59080123901367
}
positions {
x: -6.330604553222656
y: -38.59153366088867
}
positions {
x: -6.333088397979736
y: -38.59226989746094
}
positions {
x: -6.335572719573975
y: -38.59300231933594
}
...
For more information, you can check README.md
in Github.