SIYI-ROS-SDK for interface with A8 Mini camera
Camera webpage: https://siyi.biz/en/index.php?id=22
- publish video stream to ROS topic, RTSP or HDMI supported
- a panel to display video stream, and save frame with Odometry info
- interface with YOLOv5 if launched
- tool to control gimbal angles
If stream video with HDMI, nothing else to configure.
If stream video with RTSP,
- Connect the camera to PC or onboard computer using the ethernet cable that comes with it. The current implementation uses UDP communication.
- Do the PC wired network configuration. Make sure to assign a manual IP address to your computer
- For example, IP
192.168.144.30
- Gateway
192.168.144.1
- Netmask
255.255.255.0
- For example, IP
OpenCV
: https://opencv.org/get-started/ROS
: https://wiki.ros.org/noetic/Installation/UbuntuQt5
: https://wiki.qt.io/Install_Qt_5_on_Ubuntu
- Clone and build this package
git clone https://github.com/HuaYuXiao/siyi-ros-sdk.git ~/easondrone_ws/vision/siyi-ros-sdk
cd ~/easondrone_ws && catkin_make --source vision/siyi-ros-sdk --build vision/siyi-ros-sdk/build
-
Check the scripts in the
siyi_sdk/scripts
directory to learn how to use the SDK -
To import this module in your code, copy the
siyi_sdk.py
siyi_message.py
utility.py
crc16_python.py
scripts in your code directory, and import as follows, and then follow the test examples
from siyi_sdk import SIYISDK
roslaunch siyi_ros_sdk siyi_ros_sdk.launch
roslaunch siyi_ros_sdk yolov5.launch
The video will automatically switch to YOLO detection result once YOLO topics are available.
- An example of how to auto tracking with Yolov8 and CV2 tracket to0, see
examples/ml_object_tracker.py
- An example of how to auto tracking with CV2 tracket, see
examples/object_tracker.py
-
An example of gimbal control, see
examples/gimbal_control.py
-
Example: To run the
test_gimbal_rotation.py
run,
cd siyi_sdk/tests
python3 test_gimbal_rotation.py
Thanks for the following packages: