Repository Summary
Checkout URI | https://github.com/iRobotEducation/create3_sim.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2024-01-13 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
irobot_create_common_bringup | 2.0.0 |
irobot_create_control | 2.0.0 |
irobot_create_description | 2.0.0 |
irobot_create_nodes | 2.0.0 |
irobot_create_toolbox | 2.0.0 |
irobot_create_gazebo_bringup | 2.0.0 |
irobot_create_gazebo_plugins | 2.0.0 |
irobot_create_gazebo_sim | 2.0.0 |
irobot_create_ignition_bringup | 2.0.0 |
irobot_create_ignition_plugins | 2.0.0 |
irobot_create_ignition_sim | 2.0.0 |
irobot_create_ignition_toolbox | 2.0.0 |
README
iRobot® Create® 3 Simulator
This is a ROS 2 simulation stack for the iRobot® Create® 3 robot. Both Ignition Gazebo and Classic Gazebo are supported.
Have a look at the Create® 3 documentation for more details on the ROS 2 interfaces exposed by the robot.
Prerequisites
Required dependencies:
- ROS 2 humble
- ROS 2 dev tools:
- colcon-common-extensions
- rosdep: Used to install dependencies when building from sources
- vcs: Automates cloning of git repositories declared on a YAML file.
Besides the aforementioned dependencies you will also need at least one among Ignition Gazebo and Classic Gazebo
Classic Gazebo
Install Gazebo 11
Ignition Fortress
sudo apt-get update && sudo apt-get install wget
sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
sudo apt-get update && sudo apt-get install ignition-fortress
Build
- Create a workspace if you don't already have one:
mkdir -p ~/create3_ws/src
Clone this repository into the src directory from above.
Navigate to the workspace and install ROS 2 dependencies with:
cd ~/create3_ws
sudo apt-get update
rosdep install --from-path src -yi
- Build the workspace with:
export IGNITION_VERSION=fortress
colcon build --symlink-install
source install/local_setup.bash
Run
Classic Gazebo
Empty world
Create® 3 can be spawned in an empty world in Gazebo and monitored through RViz with:
ros2 launch irobot_create_gazebo_bringup create3_gazebo.launch.py
The spawn point can be changed with the x
, y
, z
and yaw
launch arguments:
ros2 launch irobot_create_gazebo_bringup create3_gazebo.launch.py x:=1.0 y:=0.5 yaw:=1.5707
Namespacing
A namespace can be applied to the robot using the namespace
launch argument:
ros2 launch irobot_create_gazebo_bringup create3_gazebo.launch.py namespace:=my_robot
Multiple robots can be spawned with unique namespaces:
ros2 launch irobot_create_gazebo_bringup create3_gazebo.launch.py namespace:=robot1
ros2 launch irobot_create_gazebo_bringup create3_spawn.launch.py namespace:=robot2 x:=1.0
:warning:
create3_gazebo.launch.py
should only be used once as it launches the Gazebo simulator itself. Additional robots should be spawned withcreate3_spawn.launch.py
. Namespaces and spawn points should be unique for each robot.
AWS house
Create® 3 can be spawned in the AWS small house in Gazebo and monitored through RViz.
This requires that the package aws_robomaker_small_house_world
is available.
If you need it, you can build aws_robomaker_small_house_world
in your ROS 2 workspace by doing:
vcs import ~/create3_ws/src/ < ~/create3_ws/src/create3_sim/irobot_create_gazebo/demo.repos
cd ~/create3_ws
colcon build --symlink-install
source install/local_setup.bash
Then you can run:
ros2 launch irobot_create_gazebo_bringup create3_gazebo_aws_small.launch.py
Ignition Gazebo
Create® 3 can be spawned in a demo world in Ignition and monitored through RViz with
ros2 launch irobot_create_ignition_bringup create3_ignition.launch.py
The spawn point can be changed with the x
, y
, z
and yaw
launch arguments:
ros2 launch irobot_create_ignition_bringup create3_ignition.launch.py x:=1.0 y:=0.5 yaw:=1.5707
Namespacing
A namespace can be applied to the robot using the namespace
launch argument:
ros2 launch irobot_create_ignition_bringup create3_ignition.launch.py namespace:=my_robot
Multiple robots can be spawned with unique namespaces:
ros2 launch irobot_create_ignition_bringup create3_ignition.launch.py namespace:=robot1
ros2 launch irobot_create_ignition_bringup create3_spawn.launch.py namespace:=robot2 x:=1.0
:warning:
create3_ignition.launch.py
should only be used once as it launches the Ignition simulator itself. Additional robots should be spawned withcreate3_spawn.launch.py
. Namespaces and spawn points should be unique for each robot.
Package layout
This repository contains packages for both the Classic and Ignition Gazebo simulators:
-
irobot_create_common
Packages common to both Classic and Ignition-
irobot_create_common_bringup
Launch files and configurations -
irobot_create_control
Launch control nodes -
irobot_create_description
URDF and mesh files describing the robot -
irobot_create_nodes
Nodes for simulating robot topics and motion control -
irobot_create_toolbox
Tools and helpers for creating nodes and plugins
-
-
irobot_create_gazebo
Packages used for the Classic Gazebo Simulator-
irobot_create_gazebo_bringup
Launch files and configurations -
irobot_create_gazebo_plugins
Sensor plugins -
irobot_create_gazebo_sim
Metapackage
-
-
irobot_create_ignition
Packages used for the Ignition Gazebo Simulator-
irobot_create_ignition_bringup
Launch files and configurations -
irobot_create_ignition_plugins
GUI plugins -
irobot_create_ignition_sim
Metapackage -
irobot_create_ignition_toolbox
Sensor and interface nodes
-
CONTRIBUTING
Repository Summary
Checkout URI | https://github.com/iRobotEducation/create3_sim.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2024-01-13 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
irobot_create_common_bringup | 2.0.0 |
irobot_create_control | 2.0.0 |
irobot_create_description | 2.0.0 |
irobot_create_nodes | 2.0.0 |
irobot_create_toolbox | 2.0.0 |
irobot_create_gazebo_bringup | 2.0.0 |
irobot_create_gazebo_plugins | 2.0.0 |
irobot_create_gazebo_sim | 2.0.0 |
irobot_create_ignition_bringup | 2.0.0 |
irobot_create_ignition_plugins | 2.0.0 |
irobot_create_ignition_sim | 2.0.0 |
irobot_create_ignition_toolbox | 2.0.0 |
README
iRobot® Create® 3 Simulator
This is a ROS 2 simulation stack for the iRobot® Create® 3 robot. Both Ignition Gazebo and Classic Gazebo are supported.
Have a look at the Create® 3 documentation for more details on the ROS 2 interfaces exposed by the robot.
Prerequisites
Required dependencies:
- ROS 2 humble
- ROS 2 dev tools:
- colcon-common-extensions
- rosdep: Used to install dependencies when building from sources
- vcs: Automates cloning of git repositories declared on a YAML file.
Besides the aforementioned dependencies you will also need at least one among Ignition Gazebo and Classic Gazebo
Classic Gazebo
Install Gazebo 11
Ignition Fortress
sudo apt-get update && sudo apt-get install wget
sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
sudo apt-get update && sudo apt-get install ignition-fortress
Build
- Create a workspace if you don't already have one:
mkdir -p ~/create3_ws/src
Clone this repository into the src directory from above.
Navigate to the workspace and install ROS 2 dependencies with:
cd ~/create3_ws
sudo apt-get update
rosdep install --from-path src -yi
- Build the workspace with:
export IGNITION_VERSION=fortress
colcon build --symlink-install
source install/local_setup.bash
Run
Classic Gazebo
Empty world
Create® 3 can be spawned in an empty world in Gazebo and monitored through RViz with:
ros2 launch irobot_create_gazebo_bringup create3_gazebo.launch.py
The spawn point can be changed with the x
, y
, z
and yaw
launch arguments:
ros2 launch irobot_create_gazebo_bringup create3_gazebo.launch.py x:=1.0 y:=0.5 yaw:=1.5707
Namespacing
A namespace can be applied to the robot using the namespace
launch argument:
ros2 launch irobot_create_gazebo_bringup create3_gazebo.launch.py namespace:=my_robot
Multiple robots can be spawned with unique namespaces:
ros2 launch irobot_create_gazebo_bringup create3_gazebo.launch.py namespace:=robot1
ros2 launch irobot_create_gazebo_bringup create3_spawn.launch.py namespace:=robot2 x:=1.0
:warning:
create3_gazebo.launch.py
should only be used once as it launches the Gazebo simulator itself. Additional robots should be spawned withcreate3_spawn.launch.py
. Namespaces and spawn points should be unique for each robot.
AWS house
Create® 3 can be spawned in the AWS small house in Gazebo and monitored through RViz.
This requires that the package aws_robomaker_small_house_world
is available.
If you need it, you can build aws_robomaker_small_house_world
in your ROS 2 workspace by doing:
vcs import ~/create3_ws/src/ < ~/create3_ws/src/create3_sim/irobot_create_gazebo/demo.repos
cd ~/create3_ws
colcon build --symlink-install
source install/local_setup.bash
Then you can run:
ros2 launch irobot_create_gazebo_bringup create3_gazebo_aws_small.launch.py
Ignition Gazebo
Create® 3 can be spawned in a demo world in Ignition and monitored through RViz with
ros2 launch irobot_create_ignition_bringup create3_ignition.launch.py
The spawn point can be changed with the x
, y
, z
and yaw
launch arguments:
ros2 launch irobot_create_ignition_bringup create3_ignition.launch.py x:=1.0 y:=0.5 yaw:=1.5707
Namespacing
A namespace can be applied to the robot using the namespace
launch argument:
ros2 launch irobot_create_ignition_bringup create3_ignition.launch.py namespace:=my_robot
Multiple robots can be spawned with unique namespaces:
ros2 launch irobot_create_ignition_bringup create3_ignition.launch.py namespace:=robot1
ros2 launch irobot_create_ignition_bringup create3_spawn.launch.py namespace:=robot2 x:=1.0
:warning:
create3_ignition.launch.py
should only be used once as it launches the Ignition simulator itself. Additional robots should be spawned withcreate3_spawn.launch.py
. Namespaces and spawn points should be unique for each robot.
Package layout
This repository contains packages for both the Classic and Ignition Gazebo simulators:
-
irobot_create_common
Packages common to both Classic and Ignition-
irobot_create_common_bringup
Launch files and configurations -
irobot_create_control
Launch control nodes -
irobot_create_description
URDF and mesh files describing the robot -
irobot_create_nodes
Nodes for simulating robot topics and motion control -
irobot_create_toolbox
Tools and helpers for creating nodes and plugins
-
-
irobot_create_gazebo
Packages used for the Classic Gazebo Simulator-
irobot_create_gazebo_bringup
Launch files and configurations -
irobot_create_gazebo_plugins
Sensor plugins -
irobot_create_gazebo_sim
Metapackage
-
-
irobot_create_ignition
Packages used for the Ignition Gazebo Simulator-
irobot_create_ignition_bringup
Launch files and configurations -
irobot_create_ignition_plugins
GUI plugins -
irobot_create_ignition_sim
Metapackage -
irobot_create_ignition_toolbox
Sensor and interface nodes
-