Git Product home page Git Product logo

rmyscontrol's Introduction

Readme

中文(详细)说明:https://www.jianshu.com/p/4b9c0f4658b1?v=1713596074817

Intro

This repo provides simple control plan over robotic football, each team consists of several Yanshees and RoboMasters (RM).

Positional feedback comes from motion capture system.

Prerequisites

Ubuntu20.

Install ros2-galactic.

Install robomaster-ros.

Install RVO2 v2.0.2.

Use system python to install all required modules, conda could cause unexpected problem like "module not found".

Install nokov by pip.

Install other python modules:

pip install interval sympy

Could need to install "empy, lark" by pip too.

For yanshee control, usually need to install nest-asyncio and google protobuf==3.20.0.

pip install nest-asyncio protobuf==3.20.0

For yanshee API, refer to this website.

For robomaster API, check this website. Better way is to check the examples

Build

Pack this repo to a folder 'src', and put it in a workspace.

In workspace, run colcon build.

Usage

Start XINGYING (Nokov mocap software), check 'SDK' in settings and start running.

If XINGYING starts on another PC, then connect server to the switch of mocap by ethernet cable.(Important note: must be connected AFTER XINGYING is started.)

Run following command on server.

ros2 run motion_capture motion_capture

If it shows 'motion capture initialization finished!!' then run following commands in new terminals.

ros2 run roscpp pub_pos # obastacle avoidance
ros2 launch rmcontrol ep_startup.launch.py # connect to RM EPs
ros2 launch rmcontrol s1_startup.launch.py # connect to RM S1s
ros2 launch yscontrol ys_control.launch.py # control Yanshees
ros2 run rmcontrol strategy # start control plans for RMs
ros2 launch rmcontrol ep_control.launch.py # control RMs
ros2 run rmcontrol draw_plot # optional. Show current and expected position of all robots and ball
ros2 run motion_capture inbetween #optional. If need a second server in local network to cooperate, then run this 'inbetween' node before ethernet connection to transmit positional info.

To stop RMs, stop strategy node and ep_startup.launch.py and s1_startup.launch.py.

Hardware

./motion_capture: Nokov motion capture system

./rmcontrol: DJI Robomaster EP/S1

./yscontrol: Yanshee from UBTech (Always fall over. Recalibration works badly.)

About

Provided by Haier Zhu from THU SIGS under instruction of Prof. Li, Xiang.

This work was supported in part by the National Natural Science Foundation of China under Grant U21A20517 and 52075290, and in part by the Science and Technology Innovation 2030-Key Project under Grant 2021ZD0201404.

rmyscontrol's People

Contributors

zhuhaier1992 avatar

Stargazers

 avatar

Watchers

 avatar  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.