Skip to content

Latest commit

 

History

History
196 lines (152 loc) · 9.38 KB

README.en.md

File metadata and controls

196 lines (152 loc) · 9.38 KB

English | 中文

version license vue maplibre

BicMap | Documentation

Seamless indoor/outdoor GPU map rendering & interaction SDK · Built for robotics

BicMap Example Portal

BicMap (@x-humanoid-cloud/bic-map) is a WebGL-based map rendering library built on top of MapLibre GL, Three.js, and Turf, extended with robotics-oriented features including indoor SLAM maps, outdoor tile/HD maps, point clouds, 3D models, POI markers, drawing tools, path planning, and robot orchestration — all ready to use out of the box.

BicMap maps data (GeoJSON / point clouds / robot poses) to a set of composable layers and overlays. Developers can build seamless indoor/outdoor visualization scenes through a single bicMap instance without worrying about engine initialization, coordinate transformations, or asset hosting.

Key Features:

  • Unified indoor/outdoor rendering — SLAM grid maps, tile base maps, HD maps, 2D/3D point clouds, and 3D models in the same scene
  • Rich overlay types — direction markers, batch POIs, robot markers, rectangles, polygons, circles, polylines, and wide line segments
  • Interactive drawing — rectangles, polygons, polylines, circles, and traversable-area drawing & editing
  • Robotics capabilities — pose tracking, relocalization, real-time positioning, path planning & playback, task orchestration
  • Zero-config engine — maplibre-gl / three / @turf/turf / urdf-loader bundled via npm, CSS and fonts injected at runtime automatically

Installation

NPM Module

pnpm add @x-humanoid-cloud/bic-map
import bicMap from '@x-humanoid-cloud/bic-map'

await bicMap.init()

const map = bicMap.createMap({
  container: 'map',
  center: [116.397, 39.908],
  zoom: 16
})

Use as a Vue plugin (accessible via this.$bicMap):

import { createApp } from 'vue'
import bicMap from '@x-humanoid-cloud/bic-map'
import App from './App.vue'

createApp(App).use(bicMap).mount('#app')

Script Tag / CDN

For environments without a build step (uniapp renderJS, plain <script> tags, etc.), access via window.bicMap after loading:

<script src="https://your-cdn/bicMap.ext.min.js"></script>
<script>
  bicMap.init().then(() => {
    const map = bicMap.createMap({ container: 'map' })
  })
</script>

Feature Gallery

Robot Mapping
Robot Mapping
3D Model Control
3D Model Control
Real-time Location
Real-time Location
POI Markers
POI Markers
PCD Point Cloud
PCD Point Cloud
Cleaning Robot Scene
Cleaning Robot Scene
Transit Hub Map Guide
Transit Hub Map Guide
Museum Tour Guide
Museum Tour Guide
Community 24h Inspection
Community 24h Inspection
Outdoor Buildings
Outdoor Buildings
Outdoor Point Cloud
Outdoor Point Cloud
HD Map Loading
HD Map Loading

View more examples →

Local Development & Examples

The repository includes a built-in example portal covering 30+ examples across indoor / outdoor / basic / extended / scene categories:

pnpm install
pnpm dev            # Start the example portal at https://bicmap.x-humanoid-cloud.com/

Build commands:

pnpm build          # Build npm package (ESM + UMD), third-party deps external
pnpm build:cdn      # Build CDN version (IIFE self-contained single file)
pnpm build:web      # Build example portal static site
pnpm build:all      # Build both npm package and CDN version

Resources

  • Online Docs & Example Portal — Latest API reference and interactive preview of all examples; click any card to open the corresponding demo

Ecosystem

Project Description Repository
BICMap-Mobile Mobile app built with uni-app (Vue3 + Vite), integrating BicMap via renderJS for scenes like SLAM mapping GitHub
BICMap-Python Lets Python code drive the BicMap JS SDK directly through a pywebview desktop container and JS Bridge, enabling map rendering and data visualization from Python GitHub

Tech Stack

BicMap is built on top of the following open-source projects:

  • MapLibre GL JS — Core map rendering engine
  • Three.js — 3D model and custom layer rendering
  • Turf.js — Geospatial computation
  • Vue 3 + Vite — Example portal and build toolchain
  • urdf-loader — URDF robot model loading
  • Fabric.js — Canvas-based drawing engine for the map editor in the example portal
  • PCL.js — Point cloud processing via WebAssembly

Contributors

Thanks to the following developers for their contributions to BicMap:

HouserHao
HouserHao
lxycreate
lxycreate
yinwensong
yinwensong
tianxiangLee
tianxiangLee
Zy9907yy
Zy9907yy
mayanhui
mayanhui (Yuri)

Contact Us

Scan the QR code below to join our WeChat community for the latest updates and technical support:

Scan to join WeChat group

License

MIT © 2024-2026 Beijing Innovation Center of Humanoid Robotics

This project bundles and redistributes several third-party open-source libraries. Their copyright and license notices are listed in THIRD-PARTY-LICENSES.md.