wrp_sdk provides C++ interface to mobile robot bases and robot peripherals (IMU, Ultrasonic, GPS, Camera Lift, etc.) from Weston Robot.
wrp_sdk is provided as a Debian installation package only and you can install it by following the steps given below.
- For the sample codes, please check the appropriate version tags of this repository.
- For another example of how to use the SDK, you can refer to wrp_ros2 & wrp_ros
- Ubuntu 20.04 LTS (Focal Fossa): x86_64, arm64
- Ubuntu 22.04 LTS (Jammy Jellyfish): x86_64, arm64
- AgileX Robot Bases using AgileX Robotics' V2 Protocol
- Mobile Bases using Weston Robot's zbus Protocol
- Serial GPS Receivers using NMEA Protocol
- Hipnuc IMU Sensors
- Dyp Ultrasonic Sensors
- Weston Robot's Power Regulator V2
-
Install Dependencies
- LelyCAN.
- Required by the peripheral drivers, only the robot base samples will be built if you don't install the dependencies.
- LelyCAN.
-
Add Weston Robot's APT repository to your system.
- Please find the latest installation instructions from this page.
-
Install wrp-sdk
$ sudo apt update
$ sudo apt install wrp-sdk
Note:
"apt" will install the latest version of wrp_sdk by default. Weston Robot releases stable versions of the SDK regularly. In case your robot firmware is not compatible with the latest SDK, you can install older versions of the SDK manually.
For example, if your robot is only compatible with wrp_sdk up to v1.0.7, you can specify the version you want to install
$ sudo apt remove wrp-zbus wrp-sdk
$ sudo apt install wrp-sdk=1.0.7
You can also download compatible wrp_sdk and wrp_zbus debian installation packages from Releases. Please contact us (refer below) if you're not sure which version of the SDK you should use.
Sample code demos are provided in the sample folder.
To build the sample code demos, please follow the instructions below after installing the SDK (and dependencies).
$ mkdir build && cd build
$ cmake ..
$ make -j8
You will get executable "sample_xxx" inside the build/bin folder.
- For support and enquiries, please contact us through our support form.
- Documentation of the various robots are available at docs.westonrobot.com.
-
Q1: What's the difference between ugv_sdk and wrp_sdk?
A1: ugv_sdk provides a C++ interface to mobile robot bases manufactured by AgileX Robotics. It's a joint effort by Weston Robot and Agilex Robotics development teams. Robots compatible with ugv_sdk talk the AgileX Procotocol (V1 and V2) on the CAN bus. wrp_sdk provides a C++ interface to both robot bases and peripherals supported by Weston Robot. It allows users to use a single unified interface to control all different kinds of mobile robots (e.g. wheeled/tracked/legged robots), including but not limited to the ones from AgileX. It is also the foundation of the various robotics software toolboxes developed by Weston Robot (e.g. the Robot Maintenance Toolbox, the Assisted Driving Toolbox).