blackcoffeerobotics/bcr_bot
A mobile robot simulation with differential drive, depth camera, IMU and 2D LiDAR that supports ROS, ROS2, Gazebo, Ignition, Mujoco, and ISAAC Sim
BCR Bot – Multi‑ROS/Gazebo robot simulation
What it is – A ready‑to‑run simulation package for a differential‑drive robot that carries an IMU, a depth camera, a stereo pair and a 2‑D LiDAR. The repo supplies the robot description, world files and ROS launch files for several common ROS/Gazebo stacks and for NVIDIA Isaac Sim.
Why it matters – Robotics research and teaching often need a stable simulated platform that works across ROS 1 (Noetic) and ROS 2 (Humble) and across the various Gazebo releases (Classic 11, Fortress, Harmonic) as well as the newer Isaac Sim. BCR Bot provides exactly that, letting you switch the underlying simulator with only a change of launch file/branch.
Key features (as described in the README)
- Supports five ROS‑simulator combos:
- ROS Noetic + Gazebo Classic 11
- ROS 2 Humble + Gazebo Classic 11
- ROS 2 Humble + Gazebo Fortress
- ROS 2 Humble + Gazebo Harmonic
- ROS 2 Humble + Isaac Sim
- Sensors: IMU, depth camera, stereo camera, 2‑D LiDAR.
- Launch files expose many parameters (camera on/off, lidar on/off, initial pose, world file, namespace, odometry source, etc.).
- Provides ready‑made worlds (
small_warehouse.world/.sdf) and USD scenes for Isaac Sim (warehouse_scene.usd,scene.usd,bcr_bot.usd). - Includes example pipelines for SLAM Toolbox mapping and Nav2 navigation, usable with any of the supported simulators.
- Binary packages are available via
aptfor both ROS 1 and ROS 2 distributions (e.g.,sudo apt-get install ros-humble-bcr-bot). - Build instructions use the standard ROS tools (
catkin buildfor ROS 1,colcon buildfor ROS 2).
Typical workflow
- Install the matching ROS distribution and the desired Gazebo/Isaac Sim version.
- Install ROS‑Gazebo bridge packages if needed (e.g.,
ros-humble-ros-gz-sim). - Resolve remaining dependencies with
rosdep. - Build the workspace (
catkin buildorcolcon build). - Launch the robot in the simulator (
roslaunch …orros2 launch …). - Optionally run mapping (
ros2 launch bcr_bot mapping.launch.py) or navigation (ros2 launch bcr_bot nav2.launch.py).
Who would use it – Students, researchers, or developers who need a plug‑and‑play robot model that works across the ROS‑1 → ROS‑2 transition and across the evolving Gazebo ecosystem, or who want to prototype algorithms in Isaac Sim without rewriting URDF/launch files.
Limitations noted in the README
- Harmonic support is not yet packaged as a binary.
- The
gz-harmoniccommand conflicts with the classic Gazebogzcommand, so they cannot be installed side‑by‑side. - Isaac Sim usage requires the separate NVIDIA installation and the ROS 2 extension.
All information above is taken directly from the repository’s README; no additional features have been inferred.
Related
- Project
- Project
- Project
- Project