Skip to content

castacks/gremsy_ros2

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

172 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Gremsy PayloadSDK

Official Software Development Kit for Gremsy Payload Devices

The Gremsy PayloadSDK provides a comprehensive C++ library for integrating and controlling Gremsy's advanced payload systems. Whether you're building custom applications, integrating with existing platforms, or testing payload capabilities, this SDK offers a complete solution with an intuitive API and ready-to-use demo applications.


🎯 Key Highlights

πŸ–₯️ Professional UI Demo Application

Experience the full power of Gremsy payloads through our feature-rich graphical interface:

  • Real-time RTSP video streaming with interactive tracking controls
  • Complete camera control panel - zoom, focus, exposure, white balance, IR settings
  • Intuitive gimbal control - modes, speed adjustment, precise angle positioning
  • Live telemetry monitoring - GPS, storage, temperature, LRF data
  • One-click operations - capture, record, auto-focus, tracking

UI Demo Application Professional control interface for Gremsy payload devices

πŸš€ Cross-Platform Support

  • Ubuntu PC (x86_64)
  • NVIDIA Jetson (aarch64)
  • Raspberry Pi
  • Qualcomm RB5165

πŸ”§ Compatible Payloads

  • VIO Payload: software v2.0.0 or higher βœ…
  • MB1 Payload(Lynx, GHardron): software v2.0.0 or higher βœ…
  • OrusL Payload: software v2.0.0 or higher βœ…

πŸ“¦ Quick Start

Clone the Repository

git clone -b payloadsdk_v3 https://github.com/Gremsy/PayloadSdk.git
cd PayloadSdk

Hardware Setup

The PayloadSDK supports two connection methods for maximum flexibility:

Hardware Setup

Connection Options:

  • Ethernet: High-speed communication with video streaming support
  • UART: Alternative connection for embedded systems

Connection settings can be configured in payloadsdk.h


πŸ› οΈ Installation & Build

Install Dependencies

# Core libraries
sudo apt-get install libcurl4-openssl-dev libjsoncpp-dev

# UI Demo dependencies (optional, but recommended)
sudo apt-get install libgtkmm-3.0-dev
sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev

# OpenCV (required by examples)
sudo apt-get install libopencv-dev python3-opencv

Build the SDK

cd PayloadSdk
mkdir build && cd build

Choose your payload type:

# For VIO Payload
cmake -DVIO=1 ../

# For MB1 Payload
cmake -DMB1=1 ../

# For ORUSL Payload
cmake -DORUSL=1 ../

# For ZIO Payload
cmake -DZIO=1 ../

Compile:

make -j$(nproc)

πŸ’‘ Tip: Use -j$(nproc) to utilize all CPU cores for faster compilation


🎨 UI Demo Application - Your Control Center

Why Use the UI Demo?

The UI Demo is more than just a testing toolβ€”it's a complete reference implementation showing how to integrate all PayloadSDK features into a professional application. Perfect for:

βœ… Evaluation: Test all payload capabilities before integration

βœ… Development: Reference implementation for your own applications

βœ… Demonstration: Showcase payload features to clients

βœ… Testing: Validate payload configurations and functionality

βœ… Training: Learn the SDK through interactive examples

πŸš€ Launch UI Demo

After building the SDK (see above), launch the application:

./tests/ui_demo/ui_demo

πŸ“± Getting Started in 30 Seconds

  1. Enter IP Address - Update the IP field to match your payload (e.g., 192.168.55.1)
  2. Click Connect - Establish connection to your payload
  3. Start Streaming - Click Play to view live RTSP video
  4. Take Control - Use the control panels to operate camera and gimbal

🎯 Pro Tip: The RTSP URL auto-generates from your IP address. Just enter the IP and everything else is automatic!

πŸ“š Documentation

For detailed UI Demo documentation, architecture, and troubleshooting: πŸ‘‰ UI Demo Complete Guide


πŸ’Ό SDK Integration Examples

Beyond the UI Demo, the SDK includes various integration examples:

# After building, examples are available in:
./tests/
β”œβ”€β”€ ui_demo/              # Full GUI application
β”œβ”€β”€ camera_example/       # Camera control examples
β”œβ”€β”€ gimbal_example/       # Gimbal control examples
└── streaming_example/    # Video streaming examples

πŸ”— Connection Configuration

Edit payloadsdk.h to configure your connection:

// Ethernet connection (default)
#define udp_ip_target "192.168.55.1"
#define udp_port_target 14566

// Or UART connection
#define uart_target "/dev/ttyUSB0"
#define uart_baud_target 115200

πŸ› Troubleshooting

Common Issues

Build fails with OpenCV errors:

sudo apt-get install libopencv-dev python3-opencv

Cannot connect to payload:

  • Verify IP address matches payload configuration
  • Check network cable connection
  • Ensure payload firmware is v2.0.0 or higher

Video stream not working:

  • Enable "Auto Connection" in payload web interface
  • Check firewall allows RTSP traffic (port 8554)
  • Verify GStreamer plugins are installed

For more solutions, see UI Demo Troubleshooting


🀝 Support & Resources


πŸ“„ License

Copyright Β© 2024 Gremsy. All rights reserved.


About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • C++ 78.5%
  • C 18.8%
  • CMake 2.7%