Skip to content

yunbum/bcr_bot

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

New BCR Robot

amr_showcase_navigation.mp4

About

This repository contains a Gazebo simulation for a differential drive robot, equipped with an IMU, a depth camera and a 2D LiDAR. The primary contriution of this project is to support multiple ROS and Gazebo distros. Currently, the project supports the following versions -

  1. ROS Noetic + Gazebo Classic 11 (branch ros1)
  2. ROS2 Humble + Gazebo Classic 11 (branch ros2)
  3. ROS2 Humble + Gazebo Fortress (branch ros2)

Each of the following sections describes depedencies, build and run instructions for each of the above combinations

Noetic + Classic (Ubuntu 20.04)

Dependencies

In addition to ROS1 Noetic and Gazebo Classic installations, the dependencies can be installed with rosdep

# From the root directory of the workspace. This will install everything mentioned in package.xml
rosdep install --from-paths src --ignore-src -r -y

Build

catkin build --packages-select bcr_bot

Run

To launch the robot in Gazebo,

roslaunch bcr_bot gazebo.launch

To view in rviz,

roslaunch bcr_bot rviz.launch

Configuration

The launch file accepts multiple launch arguments,

roslaunch bcr_bot gazebo.launch 
	camera_enabled:=True
	two_d_lidar_enabled:=True
	position_x:=0.0
	position_y:=0.0
	orientation_yaw:=0.0
	world_file:=small_warehouse.world

Humble + Classic (Ubuntu 22.04)

Dependencies

In addition to ROS2 Humble and Gazebo Classic installations, we need to manually install gazebo_ros_pkgs (since the same branch supports Classic and Fortress)

sudo apt-get install ros-humble-gazebo-ros-pkgs

Remainder of the dependencies can be installed with rosdep

# From the root directory of the workspace. This will install everything mentioned in package.xml
rosdep install --from-paths src --ignore-src -r -y

Build

colcon build --packages-select bcr_bot

Run

To launch the robot in Gazebo,

ros2 launch bcr_bot gazebo.launch.py

To view in rviz,

ros2 launch bcr_bot rviz.launch.py

Configuration

The launch file accepts multiple launch arguments,

ros2 launch bcr_bot gazebo.launch.py 
	camera_enabled:=True
	two_d_lidar_enabled:=True
	position_x:=0.0
	position_y:=0.0
	orientation_yaw:=0.0
	world_file:=small_warehouse.world

Humble + Fortress (Ubuntu 22.04)

Dependencies

In addition to ROS2 Humble and Gazebo Fortress installations, we need to manually install interfaces between ROS2 and Gazebo sim as follows,

sudo apt-get install ros-humble-ros-gz-sim ros-humble-ros-gz-bridge ros-humble-ros-gz-interfaces 

Remainder of the dependencies can be installed with rosdep

# From the root directory of the workspace. This will install everything mentioned in package.xml
rosdep install --from-paths src --ignore-src -r -y

Build

colcon build --packages-select bcr_bot

Run

To launch the robot in Gazebo,

ros2 launch bcr_bot gz.launch.py

To view in rviz,

ros2 launch bcr_bot rviz.launch.py

Configuration

The launch file accepts multiple launch arguments,

ros2 launch bcr_bot gz.launch.py 
	camera_enabled:=True
	two_d_lidar_enabled:=True
	position_x:=0.0
	position_y:=0.0
	orientation_yaw:=0.0
	world_file:=small_warehouse.world

Simulation and Visualization

  1. Gz Sim (Ignition Gazebo) (small_warehouse World):

  2. Rviz (Depth camera) (small_warehouse World):

About

A Gazebo-ROS AMR robot with differential drive, depth camera, IMU and 2D LiDAR

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 80.8%
  • Dockerfile 12.2%
  • Shell 4.5%
  • CMake 2.5%