Skip to content

Birdiebot/bubble

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

version Docker Pulls license documentation

English | 简体中文

Bubble is a ROS2-based open-source software stack made by the Birdiebot Team founded by the Mechanics and Science Innovation Base in Shanghai University of Engineering Science. Bubble provides a series of solution to the RMU related visual tasks.

Bubble documentation is maintained on the Bubble Documentation Page, follow the link for details.

Getting start

Step-by-step execution and configuration walk-through could be found here

Build Bubble

# Install vcs tools
sudo apt-get install python3-vcstool
mkdir src

# Load source code
vcs import src < bubble.repos

# Build source code
colcon build --symlink-install

Pre-building Docker Containers

# Allow external applications to connect to the host's display
xhost +

# Run the Bubble Docker container
docker run -it --rm --net=host --runtime nvidia \
    -e DISPLAY=$DISPLAY -v /tmp/.X11-unix/:/tmp/.X11-unix \
    --device=/dev/bus/usb/ --device=/dev/ttyTHS0 \
    -v /home/nvidia/Desktop/bubble:/home/bubble \
    birdiebot/bubble-aarch64v8:v1.0-l4t-r32.7.1 /bin/bash

# Run project
ros2 launch bubble_bringup infantry_launch.py

Parameter Configuration

# Using infantry role as example here
# For detailed information, please check the bubble_bringup repo
# Modifying the configuration file
gedit ./src/bubble_bringup/config/infantry_param.yaml
gedit ./src/bubble_bringup/launch/infantry_launch.py

# Run project
. install/setup.sh
ros2 launch bubble_bringup infantry_launch.py

Why Bubble

Bubble uses a modular design. Each module is maintained with independent repositories and thus new features could be adapted swiftly into our ecosystem.

Here is the demonstartion of Bubble in action.

repos name link notes
bubble_core bubble_core repo Used for RMU communication protocol between MCU and onbord computer, contents of the protocol is documented in birdiebot communication protocol manual
bubble_camera bubble_camera repo Maintains ROS packages for different cameras we used. main for common USB camera, hikrobot_camera for Hikrobot Industrial camera, and gxusb_camera for Daheng Industrial camera
bubble_interface bubble_interface repo Bubble inter-package message type definition
bubble_detector bubble_detector repo Visual module, visual uses traditional CV algorithms for armor detection, visual_SJTU package is a customized intergration of Shanghai Jiaotong University sentinel auto-aiming system with improved YOLOv5 network for armor detection, visual_rune package is for RMUC2019-2022 rune detection
bubble_contrib bubble_contrib repo Package for RMU tasks. The aiming package for autoaiming (both armors and runes), and the decesion package for robot behavior contol using finite state machines (FSM)
bubble_resouces bubble_resouces repo Resource files that may be needed in the project, including ROS Bag data for testing purpose
bubble_navigation bubble_navigation repo Robot URDF
bubble_bringup bubble_bringup repo Launch files and configuration of each robot role

About us

Birdiebot is a school-level tech-innovation team oprated under the office of Academic Affairs in Shanghai University of Engineering Science. Supported by the Mechanics Innovation Base of Student Science and Technology Innovation Center, Birdiebot is committed to conduct technology innovation activities in robotics related affiars. We hope our work will encourage and promote new engineers for the robotics industry in China.

Contributing

Everyone is welcomed to join the Bubble project to further imporve this ecosystem for the RoboMaster competition. We have some future work plans and ideas listed here.

Contact

Questions could be raised through Issues page or in the RoboMaster forum. For Bubble related topics, you can also reach us at algorithm@birdiebot.top. We are also open for forum and demonstration sessions with Robomaster participants, either online or offline. Feel free to contact us at robomaster@birdiebot.top.

License

Projects that Bubble's referenced or based on could be found here.

The Bubble project is licensed under the GNU AGPL3.0 License.

Copyright of Shanghai University of Engineering Science Birdiebot Team. All rights reserved.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published