Repo symbol

ugv_sdk repository

Repo symbol

ugv_sdk repository

Repo symbol

ugv_sdk repository

Repo symbol

ugv_sdk repository

Repo symbol

ugv_sdk repository

ugv_sdk

Repository Summary

Description C++ SDK for Mobile Robot Platforms
Checkout URI https://github.com/westonrobot/ugv_sdk.git
VCS Type git
VCS Version main
Last Updated 2025-01-07
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
ugv_sdk 0.8.2

README

UGV SDK

GitHub Workflow Status GitHub Workflow Status

Introduction

This software package provides a C++ interface to communicate with the mobile platforms, for sending commands to the robot and receiving the latest robot state. The repository is a joint effort by the development teams at Weston Robot (Singapore) and AgileX Robotics (China).

Please create an issue on Github at https://github.com/westonrobot/ugv_sdk/issues if you encounter any problems when using the packages.

Supported Platforms

Software environments

  • Architecture: x86_64/arm64
  • OS: Ubuntu 18.04/20.04/22.04
  • ROS: Melodic/Noetic/Foxy/Humble

It should also work in other similar Linux environments but only the above listed environments are regularly tested.

Robots and communication protocols

Robot Protocol V1 Protocol V2 UART CAN Support Status
Scout 1.0 Y - N Y Discontinued
Scout 2.0 Y Y N Y Active
Scout Mini (Skid) Y Y - Y Active
Scout Mini (Omni) Y Y - Y Active
Hunter 1.0 Y Y - Y Active
Hunter 2.0 - Y - Y Active
Bunker Y Y - Y Active
Tracer - Y N Y Active
Ranger Mini 1.0 - Y* - Y Discontinued
Ranger Mini 2.0 - Y - Y Active
Ranger - Y - Y Active

Important note:

  • The main branch of this repository supports all robot models and both V1 and V2 protocol. Earlier versions of the SDK can be found in v1.x and v2.x branch for V1 and V2 protocol support respectively. These two branches are not actively maintained any longer and are only kept for reference.
  • * Ranger Mini 1.0 uses a modified version of Protocol V2. A few CAN messages and the reference frame definitions are inconsistent with other robot bases. Since this model has been discontinued by AgileX (as in May 2023), no new firmware will be released to fix this issue on Ranger Mini 1.0. Thus, a fix is provided for Ranger Mini 1.0 at the SDK level. You should use “class RangerMiniV1Robot” for Ranger Mini 1.0 to get consistent behaviors, as compared to Ranger and Ranger Mini 2.0.

Build SDK

Install dependencies

$ sudo apt-get update
$ sudo apt-get install build-essential git cmake libasio-dev

Build the package in a catkin workspace

$ cd <your-catkin-ws>/src
$ git clone https://github.com/westonrobot/ugv_sdk.git
$ cd ..
$ catkin_make

Build the package as a CMake project

$ git clone https://github.com/westonrobot/ugv_sdk.git
$ cd ugv_sdk
$ mkdir build && cd build
$ cmake .. && make

If you need Python binding, you can build the package with the following command

$ sudo apt-get install python3-dev

$ git clone --recursive https://github.com/westonrobot/ugv_sdk.git
$ cd ugv_sdk
# if you've checked out ugv_sdk without --recursive, you can run  the following command to fetch the submodule
$ git submodule update --init --recursive
$ mkdir build && cd build
$ cmake -DPYTHON_BINDING=ON .. && make

Build the package as a Python package

For development and testing, you can use inplace build

$ python setup.py build_ext --inplace

It will generate library files in build/temp.linux-x86_64-3.10/lib (the name could be different based on your system) and in the directory where you run the command.

You can then use the library in a python script from the same directory directly. If you want to use the library in other directories, you can add the path to the PYTHONPATH environment variable.

File truncated at 100 lines see the full file

Repo symbol

ugv_sdk repository

Repo symbol

ugv_sdk repository

Repo symbol

ugv_sdk repository

Repo symbol

ugv_sdk repository