Code Monkey home page Code Monkey logo

ugv_sdk's Introduction

UGV SDK

GitHub Workflow Status GitHub Workflow Status

Introduction

This software package provides a C++ interface to communicate with the mobile platforms from Weston Robot and AgileX Robotics, 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 robot platforms

  • Scout
  • Scout Mini
  • Hunter
  • Tracer
  • Bunker
  • Ranger Mini

Supported environments

  • Architecture: x86_64/arm64
  • OS: Ubuntu 16.04/18.04/20.04
  • ROS: Kinetic/Melodic/Noetic

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

Communication protocol

Robot Protocol V1 Protocol V2 UART CAN Support Status
Scout 1.0 Y - TODO Y Discontinued
Scout 2.0 Y Y TODO 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 TODO Y Active
Ranger Mini - Y - Y Active

Important Note: Currently we're transitioning the communication protocol from version 1 to version 2. Please check with Weston Robot or AgileX Robotics to confirm which version your robot is using.

  • V1 Protocol: master branch of scout_ros and ugv_sdk
  • V2 Protocol: v2.x branch of scout_ros and ugv_sdk

Build SDK

Install dependencies

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

Build the package in catkin workspace

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

Setup CAN-To-USB adapter

  1. Enable gs_usb kernel module
    $ sudo modprobe gs_usb
    
  2. Bringup can device
    $ sudo ip link set can0 up type can bitrate 500000
    
  3. If no error occured during the previous steps, you should be able to see the can device now by using command
    $ ifconfig -a
    
  4. Install and use can-utils to test the hardware
    $ sudo apt install can-utils
    
  5. Testing command
    # receiving data from can0
    $ candump can0
    # send data to can0
    $ cansend can0 001#1122334455667788
    

Two scripts inside the "./scripts" folder are provided for easy setup. You can run "./setup_can2usb.bash" for the first-time setup and run "./bringup_can2usb.bash" to bring up the device each time you unplug and re-plug the adapter.

Demo Code

You can find demo code for each robot in "demo" folder. For example, run the demo for Scout robot

$ ./bin/demo_scout_robot can0

Reference

ugv_sdk's People

Contributors

rdu-weston avatar rxdu avatar pllee4-weston avatar wangzheqie avatar chilatiao avatar agilexrobotics avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.