2.1 System Feature Overview
Bianbu ROS is a modular, full-stack operating system for robotics. It spans the entire software stack from low-level boot firmware to rich user-space applications. Its architecture includes:
- User Applications
- Application Frameworks & Development Tools
- ROS 2 Functional Interfaces
- Runtime Environment
- System Middleware
- High-Performance Libraries
- Linux Kernel
- Bootloader (U-Boot)
- Firmware Interface (OpenSBI)
User Applications
Bianbu ROS comes with a preinstalled suite of essential desktop tools for development, productivity, media, and system management:
- Desktop Environment: LXQt with core utilities
- Office Tools: LibreOffice suite, nobleNote (sticky notes)
- Web Browser: Chromium
- IDE: VSCodium
- Containerization: Docker
- Remote Access: VNC Server
- Media Tools: Cheese (camera), MPV (video player), Audacious (music player)
- Graphics & Editing: Okular (PDF viewer), LXImage-Qt (image viewer), FeatherPad (text editor)
- System Utilities: KCalc (calculator), LXQt Archiver, PCManFM-Qt (file manager), Fcitx 5 (input method)
- Entertainment: 2048-Qt puzzle game
Application Frameworks & Development Tools
-
GUI & App Frameworks
- Electron
- GTK
- Qt
-
Multimedia Frameworks
- FFmpeg (hardware-accelerated)
- GStreamer (hardware-accelerated)
- PipeWire
-
AI Inference Frameworks & Tools
- ONNX Runtime (hardware-accelerated)
- Ollama (hardware-accelerated)
- llama.cpp
- xquant (model quantization tool)
ROS 2 Functional Interfaces
Bianbu ROS provides modular, high-level ROS 2 interfaces for common robotics tasks:
- Visual and video-based AI inference (ONNX)
- Human-following modules
- ByteTrack multi-object tracking
- Automatic Speech Recognition (ASR)
- Large Language Model (LLM) chatbot interface
- USB and MIPI camera support
- Sparse Visual Odometry (SVO)
- WebSocket-based visualization
- SLAM and autonomous navigation
- Acoustic source localization
- Hardware-accelerated video encode/decode nodes
Runtime Environment
Built-in multi-language runtime support allows flexible development in:
- Python
- Java
- Node.js
- Rust
System Middleware
The middleware layer provides unified hardware access and optimized data flow:
- USB and MIPI camera capture
- V2D image processing module
- Hardware video encoding/decoding
- VO (video output) support
- DRM-based display rendering
- RTSP streaming (input/output)
- ONNX C API inference interface
High-Performance Libraries
Optimized for AI workloads, multimedia, and vector acceleration:
- Eigen (with RISC-V Vector Extension - RVV support)
- OpenCV (RVV-enabled)
- OpenVML (vectorized math library with RVV)
- OpenSSL (hardware-accelerated)
- MPP (Multimedia Processing Platform with C APIs and samples)
- Mesa 3D
- OpenGLES
Linux Kernel
The Linux kernel manages the processor and hardware resources, acting as an interface between user applications and hardware. Key responsibilities include interrupt handling, timers, process and memory management, file systems, device drivers, and networking.
- Version: 6.6 (LTS)
- Source: https://gitee.com/bianbu-linux/linux-6.6
U-Boot (Bootloader)
U-Boot initializes hardware and loads the Linux kernel, device tree, and initramfs from various media: SD card, eMMC, SPI Flash, SSD, or network.
- Version: 2022.10
- Source: https://gitee.com/bianbu-linux/uboot-2022.10
OpenSBI (Firmware Interface)
OpenSBI (Supervisor Binary Interface) is firmware for RISC-V processors running in machine mode (M-mode). It provides system-level services to bootloaders, hypervisors, and OS kernels.
- Version: 1.3
- Source: https://gitee.com/bianbu-linux/opensbi