![]() |
robotics_fundamentals_ros_gazebo package from robotics_fundamentals_ros_gazebo reporobotics_fundamentals_ros_gazebo |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | BSD |
Build type | AMENT_PYTHON |
Use | RECOMMENDED |
Repository Summary
Description | ROSCon DE 2023 talk "Learning Robotics Fundamentals with ROS 2 and modern Gazebo" |
Checkout URI | https://github.com/andreasbihlmaier/robotics_fundamentals_ros_gazebo.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2023-11-23 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- ahb
Authors
ROSCon DE 2023 talk “Learning Robotics Fundamentals with ROS 2 and modern Gazebo”
Setup:
- Follow the official installation instructions at https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html.
- In the step “Install ROS 2 packages”, install the packages
ros-humble-desktop
andros-dev-tools
. - In addition, install the following packages
sudo apt install \
python3-colcon-common-extensions \
ros-humble-ign-ros2-control \
ros-humble-plotjuggler-ros \
ros-humble-ros2-control \
ros-humble-ros2-controllers \
ros-humble-ros-gz-sim-demos \
ros-humble-ros-ign-gazebo \
ros-humble-rqt-joint-trajectory-controller \
ros-humble-rqt-tf-tree
M1:
- Start (modern) Gazebo:
ros2 launch ros_gz_sim gz_sim.launch.py gz_args:="empty.sdf -r"
- Spawn a simple mobile robot in Gazebo:
ros2 run ros_gz_sim create -file $(pwd)/vehicle_blue.sdf -z 0.325
- Create a bridge between ROS and Gazebo:
ros2 run ros_gz_bridge parameter_bridge \
'/model/vehicle_blue/cmd_vel@geometry_msgs/msg/Twist]gz.msgs.Twist' \
'/model/vehicle_blue/pose@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V'
- Start PlotJuggler
ros2 run plotjuggler plotjuggler
- Add plots:
- ROS2 Topic Subscriber -> Select
/model/vehicle_blue/pose
- Drag and drop
/model/vehicle_blue/pose/empty/vehicle_blue/translation/x
from Timeseries List to the plot area - Split the plot vertical twice
- Add Custom Series -> Input timeseries: Same
x
as above; Function library:backward_difference_derivative
; New name:v
; Create New Timeseries - Drag and drop
v
from Custom Series to the middle plot and to the bottom plot - Apply filter to data on the bottom plot -> Derivative
- Now the top plot shows the position x, the middle plot shows the velocity v, and the bottom plot shows the acceleration a.
- ROS2 Topic Subscriber -> Select
- Command the mobile robot to move forward:
ros2 topic pub --once /model/vehicle_blue/cmd_vel geometry_msgs/msg/Twist '
linear:
x: 0.1
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0'
P1:
- Start Gazebo:
ros2 launch ros_gz_sim gz_sim.launch.py gz_args:="$(pwd)/falling_world.sdf"
- Create ROS-Gazebo bridge:
ros2 run ros_gz_bridge parameter_bridge '/model/sphere/pose@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V'
- Record pose of falling sphere:
ros2 bag record /model/sphere/pose
- Unpause Gazebo
- Wait for sphere to hit the ground. Stop recording.
- Open bag file in PlotJuggler
P2:
- Start Gazebo:
ros2 launch ros_gz_sim gz_sim.launch.py gz_args:="$(pwd)/slippery_slope.sdf"
- Create ROS-Gazebo bridge:
ros2 run ros_gz_bridge parameter_bridge \
'/model/sphere/pose@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V' \
'/model/cylinder/pose@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V'
- Record pose of falling sphere:
ros2 bag record /model/sphere/pose /model/cylinder/pose
- Unpause Gazebo
- Wait for both objects to have rolled down the inclined plane. Stop recording.
- Open bag file in PlotJuggler
R1:
- Start Gazebo:
```
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_copyright | |
ament_flake8 | |
ament_pep257 |
System Dependencies
Name |
---|
python3-pytest |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged robotics_fundamentals_ros_gazebo at Robotics Stack Exchange
![]() |
robotics_fundamentals_ros_gazebo package from robotics_fundamentals_ros_gazebo reporobotics_fundamentals_ros_gazebo |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | BSD |
Build type | AMENT_PYTHON |
Use | RECOMMENDED |
Repository Summary
Description | ROSCon DE 2023 talk "Learning Robotics Fundamentals with ROS 2 and modern Gazebo" |
Checkout URI | https://github.com/andreasbihlmaier/robotics_fundamentals_ros_gazebo.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2023-11-23 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- ahb
Authors
ROSCon DE 2023 talk “Learning Robotics Fundamentals with ROS 2 and modern Gazebo”
Setup:
- Follow the official installation instructions at https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html.
- In the step “Install ROS 2 packages”, install the packages
ros-humble-desktop
andros-dev-tools
. - In addition, install the following packages
sudo apt install \
python3-colcon-common-extensions \
ros-humble-ign-ros2-control \
ros-humble-plotjuggler-ros \
ros-humble-ros2-control \
ros-humble-ros2-controllers \
ros-humble-ros-gz-sim-demos \
ros-humble-ros-ign-gazebo \
ros-humble-rqt-joint-trajectory-controller \
ros-humble-rqt-tf-tree
M1:
- Start (modern) Gazebo:
ros2 launch ros_gz_sim gz_sim.launch.py gz_args:="empty.sdf -r"
- Spawn a simple mobile robot in Gazebo:
ros2 run ros_gz_sim create -file $(pwd)/vehicle_blue.sdf -z 0.325
- Create a bridge between ROS and Gazebo:
ros2 run ros_gz_bridge parameter_bridge \
'/model/vehicle_blue/cmd_vel@geometry_msgs/msg/Twist]gz.msgs.Twist' \
'/model/vehicle_blue/pose@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V'
- Start PlotJuggler
ros2 run plotjuggler plotjuggler
- Add plots:
- ROS2 Topic Subscriber -> Select
/model/vehicle_blue/pose
- Drag and drop
/model/vehicle_blue/pose/empty/vehicle_blue/translation/x
from Timeseries List to the plot area - Split the plot vertical twice
- Add Custom Series -> Input timeseries: Same
x
as above; Function library:backward_difference_derivative
; New name:v
; Create New Timeseries - Drag and drop
v
from Custom Series to the middle plot and to the bottom plot - Apply filter to data on the bottom plot -> Derivative
- Now the top plot shows the position x, the middle plot shows the velocity v, and the bottom plot shows the acceleration a.
- ROS2 Topic Subscriber -> Select
- Command the mobile robot to move forward:
ros2 topic pub --once /model/vehicle_blue/cmd_vel geometry_msgs/msg/Twist '
linear:
x: 0.1
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0'
P1:
- Start Gazebo:
ros2 launch ros_gz_sim gz_sim.launch.py gz_args:="$(pwd)/falling_world.sdf"
- Create ROS-Gazebo bridge:
ros2 run ros_gz_bridge parameter_bridge '/model/sphere/pose@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V'
- Record pose of falling sphere:
ros2 bag record /model/sphere/pose
- Unpause Gazebo
- Wait for sphere to hit the ground. Stop recording.
- Open bag file in PlotJuggler
P2:
- Start Gazebo:
ros2 launch ros_gz_sim gz_sim.launch.py gz_args:="$(pwd)/slippery_slope.sdf"
- Create ROS-Gazebo bridge:
ros2 run ros_gz_bridge parameter_bridge \
'/model/sphere/pose@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V' \
'/model/cylinder/pose@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V'
- Record pose of falling sphere:
ros2 bag record /model/sphere/pose /model/cylinder/pose
- Unpause Gazebo
- Wait for both objects to have rolled down the inclined plane. Stop recording.
- Open bag file in PlotJuggler
R1:
- Start Gazebo:
```
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_copyright | |
ament_flake8 | |
ament_pep257 |
System Dependencies
Name |
---|
python3-pytest |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged robotics_fundamentals_ros_gazebo at Robotics Stack Exchange
![]() |
robotics_fundamentals_ros_gazebo package from robotics_fundamentals_ros_gazebo reporobotics_fundamentals_ros_gazebo |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | BSD |
Build type | AMENT_PYTHON |
Use | RECOMMENDED |
Repository Summary
Description | ROSCon DE 2023 talk "Learning Robotics Fundamentals with ROS 2 and modern Gazebo" |
Checkout URI | https://github.com/andreasbihlmaier/robotics_fundamentals_ros_gazebo.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2023-11-23 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- ahb
Authors
ROSCon DE 2023 talk “Learning Robotics Fundamentals with ROS 2 and modern Gazebo”
Setup:
- Follow the official installation instructions at https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html.
- In the step “Install ROS 2 packages”, install the packages
ros-humble-desktop
andros-dev-tools
. - In addition, install the following packages
sudo apt install \
python3-colcon-common-extensions \
ros-humble-ign-ros2-control \
ros-humble-plotjuggler-ros \
ros-humble-ros2-control \
ros-humble-ros2-controllers \
ros-humble-ros-gz-sim-demos \
ros-humble-ros-ign-gazebo \
ros-humble-rqt-joint-trajectory-controller \
ros-humble-rqt-tf-tree
M1:
- Start (modern) Gazebo:
ros2 launch ros_gz_sim gz_sim.launch.py gz_args:="empty.sdf -r"
- Spawn a simple mobile robot in Gazebo:
ros2 run ros_gz_sim create -file $(pwd)/vehicle_blue.sdf -z 0.325
- Create a bridge between ROS and Gazebo:
ros2 run ros_gz_bridge parameter_bridge \
'/model/vehicle_blue/cmd_vel@geometry_msgs/msg/Twist]gz.msgs.Twist' \
'/model/vehicle_blue/pose@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V'
- Start PlotJuggler
ros2 run plotjuggler plotjuggler
- Add plots:
- ROS2 Topic Subscriber -> Select
/model/vehicle_blue/pose
- Drag and drop
/model/vehicle_blue/pose/empty/vehicle_blue/translation/x
from Timeseries List to the plot area - Split the plot vertical twice
- Add Custom Series -> Input timeseries: Same
x
as above; Function library:backward_difference_derivative
; New name:v
; Create New Timeseries - Drag and drop
v
from Custom Series to the middle plot and to the bottom plot - Apply filter to data on the bottom plot -> Derivative
- Now the top plot shows the position x, the middle plot shows the velocity v, and the bottom plot shows the acceleration a.
- ROS2 Topic Subscriber -> Select
- Command the mobile robot to move forward:
ros2 topic pub --once /model/vehicle_blue/cmd_vel geometry_msgs/msg/Twist '
linear:
x: 0.1
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0'
P1:
- Start Gazebo:
ros2 launch ros_gz_sim gz_sim.launch.py gz_args:="$(pwd)/falling_world.sdf"
- Create ROS-Gazebo bridge:
ros2 run ros_gz_bridge parameter_bridge '/model/sphere/pose@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V'
- Record pose of falling sphere:
ros2 bag record /model/sphere/pose
- Unpause Gazebo
- Wait for sphere to hit the ground. Stop recording.
- Open bag file in PlotJuggler
P2:
- Start Gazebo:
ros2 launch ros_gz_sim gz_sim.launch.py gz_args:="$(pwd)/slippery_slope.sdf"
- Create ROS-Gazebo bridge:
ros2 run ros_gz_bridge parameter_bridge \
'/model/sphere/pose@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V' \
'/model/cylinder/pose@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V'
- Record pose of falling sphere:
ros2 bag record /model/sphere/pose /model/cylinder/pose
- Unpause Gazebo
- Wait for both objects to have rolled down the inclined plane. Stop recording.
- Open bag file in PlotJuggler
R1:
- Start Gazebo:
```
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_copyright | |
ament_flake8 | |
ament_pep257 |
System Dependencies
Name |
---|
python3-pytest |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged robotics_fundamentals_ros_gazebo at Robotics Stack Exchange
![]() |
robotics_fundamentals_ros_gazebo package from robotics_fundamentals_ros_gazebo reporobotics_fundamentals_ros_gazebo |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | BSD |
Build type | AMENT_PYTHON |
Use | RECOMMENDED |
Repository Summary
Description | ROSCon DE 2023 talk "Learning Robotics Fundamentals with ROS 2 and modern Gazebo" |
Checkout URI | https://github.com/andreasbihlmaier/robotics_fundamentals_ros_gazebo.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2023-11-23 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- ahb
Authors
ROSCon DE 2023 talk “Learning Robotics Fundamentals with ROS 2 and modern Gazebo”
Setup:
- Follow the official installation instructions at https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html.
- In the step “Install ROS 2 packages”, install the packages
ros-humble-desktop
andros-dev-tools
. - In addition, install the following packages
sudo apt install \
python3-colcon-common-extensions \
ros-humble-ign-ros2-control \
ros-humble-plotjuggler-ros \
ros-humble-ros2-control \
ros-humble-ros2-controllers \
ros-humble-ros-gz-sim-demos \
ros-humble-ros-ign-gazebo \
ros-humble-rqt-joint-trajectory-controller \
ros-humble-rqt-tf-tree
M1:
- Start (modern) Gazebo:
ros2 launch ros_gz_sim gz_sim.launch.py gz_args:="empty.sdf -r"
- Spawn a simple mobile robot in Gazebo:
ros2 run ros_gz_sim create -file $(pwd)/vehicle_blue.sdf -z 0.325
- Create a bridge between ROS and Gazebo:
ros2 run ros_gz_bridge parameter_bridge \
'/model/vehicle_blue/cmd_vel@geometry_msgs/msg/Twist]gz.msgs.Twist' \
'/model/vehicle_blue/pose@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V'
- Start PlotJuggler
ros2 run plotjuggler plotjuggler
- Add plots:
- ROS2 Topic Subscriber -> Select
/model/vehicle_blue/pose
- Drag and drop
/model/vehicle_blue/pose/empty/vehicle_blue/translation/x
from Timeseries List to the plot area - Split the plot vertical twice
- Add Custom Series -> Input timeseries: Same
x
as above; Function library:backward_difference_derivative
; New name:v
; Create New Timeseries - Drag and drop
v
from Custom Series to the middle plot and to the bottom plot - Apply filter to data on the bottom plot -> Derivative
- Now the top plot shows the position x, the middle plot shows the velocity v, and the bottom plot shows the acceleration a.
- ROS2 Topic Subscriber -> Select
- Command the mobile robot to move forward:
ros2 topic pub --once /model/vehicle_blue/cmd_vel geometry_msgs/msg/Twist '
linear:
x: 0.1
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0'
P1:
- Start Gazebo:
ros2 launch ros_gz_sim gz_sim.launch.py gz_args:="$(pwd)/falling_world.sdf"
- Create ROS-Gazebo bridge:
ros2 run ros_gz_bridge parameter_bridge '/model/sphere/pose@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V'
- Record pose of falling sphere:
ros2 bag record /model/sphere/pose
- Unpause Gazebo
- Wait for sphere to hit the ground. Stop recording.
- Open bag file in PlotJuggler
P2:
- Start Gazebo:
ros2 launch ros_gz_sim gz_sim.launch.py gz_args:="$(pwd)/slippery_slope.sdf"
- Create ROS-Gazebo bridge:
ros2 run ros_gz_bridge parameter_bridge \
'/model/sphere/pose@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V' \
'/model/cylinder/pose@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V'
- Record pose of falling sphere:
ros2 bag record /model/sphere/pose /model/cylinder/pose
- Unpause Gazebo
- Wait for both objects to have rolled down the inclined plane. Stop recording.
- Open bag file in PlotJuggler
R1:
- Start Gazebo:
```
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_copyright | |
ament_flake8 | |
ament_pep257 |
System Dependencies
Name |
---|
python3-pytest |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged robotics_fundamentals_ros_gazebo at Robotics Stack Exchange
![]() |
robotics_fundamentals_ros_gazebo package from robotics_fundamentals_ros_gazebo reporobotics_fundamentals_ros_gazebo |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | BSD |
Build type | AMENT_PYTHON |
Use | RECOMMENDED |
Repository Summary
Description | ROSCon DE 2023 talk "Learning Robotics Fundamentals with ROS 2 and modern Gazebo" |
Checkout URI | https://github.com/andreasbihlmaier/robotics_fundamentals_ros_gazebo.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2023-11-23 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- ahb
Authors
ROSCon DE 2023 talk “Learning Robotics Fundamentals with ROS 2 and modern Gazebo”
Setup:
- Follow the official installation instructions at https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html.
- In the step “Install ROS 2 packages”, install the packages
ros-humble-desktop
andros-dev-tools
. - In addition, install the following packages
sudo apt install \
python3-colcon-common-extensions \
ros-humble-ign-ros2-control \
ros-humble-plotjuggler-ros \
ros-humble-ros2-control \
ros-humble-ros2-controllers \
ros-humble-ros-gz-sim-demos \
ros-humble-ros-ign-gazebo \
ros-humble-rqt-joint-trajectory-controller \
ros-humble-rqt-tf-tree
M1:
- Start (modern) Gazebo:
ros2 launch ros_gz_sim gz_sim.launch.py gz_args:="empty.sdf -r"
- Spawn a simple mobile robot in Gazebo:
ros2 run ros_gz_sim create -file $(pwd)/vehicle_blue.sdf -z 0.325
- Create a bridge between ROS and Gazebo:
ros2 run ros_gz_bridge parameter_bridge \
'/model/vehicle_blue/cmd_vel@geometry_msgs/msg/Twist]gz.msgs.Twist' \
'/model/vehicle_blue/pose@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V'
- Start PlotJuggler
ros2 run plotjuggler plotjuggler
- Add plots:
- ROS2 Topic Subscriber -> Select
/model/vehicle_blue/pose
- Drag and drop
/model/vehicle_blue/pose/empty/vehicle_blue/translation/x
from Timeseries List to the plot area - Split the plot vertical twice
- Add Custom Series -> Input timeseries: Same
x
as above; Function library:backward_difference_derivative
; New name:v
; Create New Timeseries - Drag and drop
v
from Custom Series to the middle plot and to the bottom plot - Apply filter to data on the bottom plot -> Derivative
- Now the top plot shows the position x, the middle plot shows the velocity v, and the bottom plot shows the acceleration a.
- ROS2 Topic Subscriber -> Select
- Command the mobile robot to move forward:
ros2 topic pub --once /model/vehicle_blue/cmd_vel geometry_msgs/msg/Twist '
linear:
x: 0.1
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0'
P1:
- Start Gazebo:
ros2 launch ros_gz_sim gz_sim.launch.py gz_args:="$(pwd)/falling_world.sdf"
- Create ROS-Gazebo bridge:
ros2 run ros_gz_bridge parameter_bridge '/model/sphere/pose@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V'
- Record pose of falling sphere:
ros2 bag record /model/sphere/pose
- Unpause Gazebo
- Wait for sphere to hit the ground. Stop recording.
- Open bag file in PlotJuggler
P2:
- Start Gazebo:
ros2 launch ros_gz_sim gz_sim.launch.py gz_args:="$(pwd)/slippery_slope.sdf"
- Create ROS-Gazebo bridge:
ros2 run ros_gz_bridge parameter_bridge \
'/model/sphere/pose@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V' \
'/model/cylinder/pose@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V'
- Record pose of falling sphere:
ros2 bag record /model/sphere/pose /model/cylinder/pose
- Unpause Gazebo
- Wait for both objects to have rolled down the inclined plane. Stop recording.
- Open bag file in PlotJuggler
R1:
- Start Gazebo:
```
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_copyright | |
ament_flake8 | |
ament_pep257 |
System Dependencies
Name |
---|
python3-pytest |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged robotics_fundamentals_ros_gazebo at Robotics Stack Exchange
![]() |
robotics_fundamentals_ros_gazebo package from robotics_fundamentals_ros_gazebo reporobotics_fundamentals_ros_gazebo |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | BSD |
Build type | AMENT_PYTHON |
Use | RECOMMENDED |
Repository Summary
Description | ROSCon DE 2023 talk "Learning Robotics Fundamentals with ROS 2 and modern Gazebo" |
Checkout URI | https://github.com/andreasbihlmaier/robotics_fundamentals_ros_gazebo.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2023-11-23 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- ahb
Authors
ROSCon DE 2023 talk “Learning Robotics Fundamentals with ROS 2 and modern Gazebo”
Setup:
- Follow the official installation instructions at https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html.
- In the step “Install ROS 2 packages”, install the packages
ros-humble-desktop
andros-dev-tools
. - In addition, install the following packages
sudo apt install \
python3-colcon-common-extensions \
ros-humble-ign-ros2-control \
ros-humble-plotjuggler-ros \
ros-humble-ros2-control \
ros-humble-ros2-controllers \
ros-humble-ros-gz-sim-demos \
ros-humble-ros-ign-gazebo \
ros-humble-rqt-joint-trajectory-controller \
ros-humble-rqt-tf-tree
M1:
- Start (modern) Gazebo:
ros2 launch ros_gz_sim gz_sim.launch.py gz_args:="empty.sdf -r"
- Spawn a simple mobile robot in Gazebo:
ros2 run ros_gz_sim create -file $(pwd)/vehicle_blue.sdf -z 0.325
- Create a bridge between ROS and Gazebo:
ros2 run ros_gz_bridge parameter_bridge \
'/model/vehicle_blue/cmd_vel@geometry_msgs/msg/Twist]gz.msgs.Twist' \
'/model/vehicle_blue/pose@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V'
- Start PlotJuggler
ros2 run plotjuggler plotjuggler
- Add plots:
- ROS2 Topic Subscriber -> Select
/model/vehicle_blue/pose
- Drag and drop
/model/vehicle_blue/pose/empty/vehicle_blue/translation/x
from Timeseries List to the plot area - Split the plot vertical twice
- Add Custom Series -> Input timeseries: Same
x
as above; Function library:backward_difference_derivative
; New name:v
; Create New Timeseries - Drag and drop
v
from Custom Series to the middle plot and to the bottom plot - Apply filter to data on the bottom plot -> Derivative
- Now the top plot shows the position x, the middle plot shows the velocity v, and the bottom plot shows the acceleration a.
- ROS2 Topic Subscriber -> Select
- Command the mobile robot to move forward:
ros2 topic pub --once /model/vehicle_blue/cmd_vel geometry_msgs/msg/Twist '
linear:
x: 0.1
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0'
P1:
- Start Gazebo:
ros2 launch ros_gz_sim gz_sim.launch.py gz_args:="$(pwd)/falling_world.sdf"
- Create ROS-Gazebo bridge:
ros2 run ros_gz_bridge parameter_bridge '/model/sphere/pose@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V'
- Record pose of falling sphere:
ros2 bag record /model/sphere/pose
- Unpause Gazebo
- Wait for sphere to hit the ground. Stop recording.
- Open bag file in PlotJuggler
P2:
- Start Gazebo:
ros2 launch ros_gz_sim gz_sim.launch.py gz_args:="$(pwd)/slippery_slope.sdf"
- Create ROS-Gazebo bridge:
ros2 run ros_gz_bridge parameter_bridge \
'/model/sphere/pose@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V' \
'/model/cylinder/pose@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V'
- Record pose of falling sphere:
ros2 bag record /model/sphere/pose /model/cylinder/pose
- Unpause Gazebo
- Wait for both objects to have rolled down the inclined plane. Stop recording.
- Open bag file in PlotJuggler
R1:
- Start Gazebo:
```
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_copyright | |
ament_flake8 | |
ament_pep257 |
System Dependencies
Name |
---|
python3-pytest |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged robotics_fundamentals_ros_gazebo at Robotics Stack Exchange
![]() |
robotics_fundamentals_ros_gazebo package from robotics_fundamentals_ros_gazebo reporobotics_fundamentals_ros_gazebo |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | BSD |
Build type | AMENT_PYTHON |
Use | RECOMMENDED |
Repository Summary
Description | ROSCon DE 2023 talk "Learning Robotics Fundamentals with ROS 2 and modern Gazebo" |
Checkout URI | https://github.com/andreasbihlmaier/robotics_fundamentals_ros_gazebo.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2023-11-23 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- ahb
Authors
ROSCon DE 2023 talk “Learning Robotics Fundamentals with ROS 2 and modern Gazebo”
Setup:
- Follow the official installation instructions at https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html.
- In the step “Install ROS 2 packages”, install the packages
ros-humble-desktop
andros-dev-tools
. - In addition, install the following packages
sudo apt install \
python3-colcon-common-extensions \
ros-humble-ign-ros2-control \
ros-humble-plotjuggler-ros \
ros-humble-ros2-control \
ros-humble-ros2-controllers \
ros-humble-ros-gz-sim-demos \
ros-humble-ros-ign-gazebo \
ros-humble-rqt-joint-trajectory-controller \
ros-humble-rqt-tf-tree
M1:
- Start (modern) Gazebo:
ros2 launch ros_gz_sim gz_sim.launch.py gz_args:="empty.sdf -r"
- Spawn a simple mobile robot in Gazebo:
ros2 run ros_gz_sim create -file $(pwd)/vehicle_blue.sdf -z 0.325
- Create a bridge between ROS and Gazebo:
ros2 run ros_gz_bridge parameter_bridge \
'/model/vehicle_blue/cmd_vel@geometry_msgs/msg/Twist]gz.msgs.Twist' \
'/model/vehicle_blue/pose@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V'
- Start PlotJuggler
ros2 run plotjuggler plotjuggler
- Add plots:
- ROS2 Topic Subscriber -> Select
/model/vehicle_blue/pose
- Drag and drop
/model/vehicle_blue/pose/empty/vehicle_blue/translation/x
from Timeseries List to the plot area - Split the plot vertical twice
- Add Custom Series -> Input timeseries: Same
x
as above; Function library:backward_difference_derivative
; New name:v
; Create New Timeseries - Drag and drop
v
from Custom Series to the middle plot and to the bottom plot - Apply filter to data on the bottom plot -> Derivative
- Now the top plot shows the position x, the middle plot shows the velocity v, and the bottom plot shows the acceleration a.
- ROS2 Topic Subscriber -> Select
- Command the mobile robot to move forward:
ros2 topic pub --once /model/vehicle_blue/cmd_vel geometry_msgs/msg/Twist '
linear:
x: 0.1
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0'
P1:
- Start Gazebo:
ros2 launch ros_gz_sim gz_sim.launch.py gz_args:="$(pwd)/falling_world.sdf"
- Create ROS-Gazebo bridge:
ros2 run ros_gz_bridge parameter_bridge '/model/sphere/pose@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V'
- Record pose of falling sphere:
ros2 bag record /model/sphere/pose
- Unpause Gazebo
- Wait for sphere to hit the ground. Stop recording.
- Open bag file in PlotJuggler
P2:
- Start Gazebo:
ros2 launch ros_gz_sim gz_sim.launch.py gz_args:="$(pwd)/slippery_slope.sdf"
- Create ROS-Gazebo bridge:
ros2 run ros_gz_bridge parameter_bridge \
'/model/sphere/pose@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V' \
'/model/cylinder/pose@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V'
- Record pose of falling sphere:
ros2 bag record /model/sphere/pose /model/cylinder/pose
- Unpause Gazebo
- Wait for both objects to have rolled down the inclined plane. Stop recording.
- Open bag file in PlotJuggler
R1:
- Start Gazebo:
```
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_copyright | |
ament_flake8 | |
ament_pep257 |
System Dependencies
Name |
---|
python3-pytest |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged robotics_fundamentals_ros_gazebo at Robotics Stack Exchange
![]() |
robotics_fundamentals_ros_gazebo package from robotics_fundamentals_ros_gazebo reporobotics_fundamentals_ros_gazebo |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | BSD |
Build type | AMENT_PYTHON |
Use | RECOMMENDED |
Repository Summary
Description | ROSCon DE 2023 talk "Learning Robotics Fundamentals with ROS 2 and modern Gazebo" |
Checkout URI | https://github.com/andreasbihlmaier/robotics_fundamentals_ros_gazebo.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2023-11-23 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- ahb
Authors
ROSCon DE 2023 talk “Learning Robotics Fundamentals with ROS 2 and modern Gazebo”
Setup:
- Follow the official installation instructions at https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html.
- In the step “Install ROS 2 packages”, install the packages
ros-humble-desktop
andros-dev-tools
. - In addition, install the following packages
sudo apt install \
python3-colcon-common-extensions \
ros-humble-ign-ros2-control \
ros-humble-plotjuggler-ros \
ros-humble-ros2-control \
ros-humble-ros2-controllers \
ros-humble-ros-gz-sim-demos \
ros-humble-ros-ign-gazebo \
ros-humble-rqt-joint-trajectory-controller \
ros-humble-rqt-tf-tree
M1:
- Start (modern) Gazebo:
ros2 launch ros_gz_sim gz_sim.launch.py gz_args:="empty.sdf -r"
- Spawn a simple mobile robot in Gazebo:
ros2 run ros_gz_sim create -file $(pwd)/vehicle_blue.sdf -z 0.325
- Create a bridge between ROS and Gazebo:
ros2 run ros_gz_bridge parameter_bridge \
'/model/vehicle_blue/cmd_vel@geometry_msgs/msg/Twist]gz.msgs.Twist' \
'/model/vehicle_blue/pose@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V'
- Start PlotJuggler
ros2 run plotjuggler plotjuggler
- Add plots:
- ROS2 Topic Subscriber -> Select
/model/vehicle_blue/pose
- Drag and drop
/model/vehicle_blue/pose/empty/vehicle_blue/translation/x
from Timeseries List to the plot area - Split the plot vertical twice
- Add Custom Series -> Input timeseries: Same
x
as above; Function library:backward_difference_derivative
; New name:v
; Create New Timeseries - Drag and drop
v
from Custom Series to the middle plot and to the bottom plot - Apply filter to data on the bottom plot -> Derivative
- Now the top plot shows the position x, the middle plot shows the velocity v, and the bottom plot shows the acceleration a.
- ROS2 Topic Subscriber -> Select
- Command the mobile robot to move forward:
ros2 topic pub --once /model/vehicle_blue/cmd_vel geometry_msgs/msg/Twist '
linear:
x: 0.1
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0'
P1:
- Start Gazebo:
ros2 launch ros_gz_sim gz_sim.launch.py gz_args:="$(pwd)/falling_world.sdf"
- Create ROS-Gazebo bridge:
ros2 run ros_gz_bridge parameter_bridge '/model/sphere/pose@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V'
- Record pose of falling sphere:
ros2 bag record /model/sphere/pose
- Unpause Gazebo
- Wait for sphere to hit the ground. Stop recording.
- Open bag file in PlotJuggler
P2:
- Start Gazebo:
ros2 launch ros_gz_sim gz_sim.launch.py gz_args:="$(pwd)/slippery_slope.sdf"
- Create ROS-Gazebo bridge:
ros2 run ros_gz_bridge parameter_bridge \
'/model/sphere/pose@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V' \
'/model/cylinder/pose@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V'
- Record pose of falling sphere:
ros2 bag record /model/sphere/pose /model/cylinder/pose
- Unpause Gazebo
- Wait for both objects to have rolled down the inclined plane. Stop recording.
- Open bag file in PlotJuggler
R1:
- Start Gazebo:
```
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_copyright | |
ament_flake8 | |
ament_pep257 |
System Dependencies
Name |
---|
python3-pytest |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged robotics_fundamentals_ros_gazebo at Robotics Stack Exchange
![]() |
robotics_fundamentals_ros_gazebo package from robotics_fundamentals_ros_gazebo reporobotics_fundamentals_ros_gazebo |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | BSD |
Build type | AMENT_PYTHON |
Use | RECOMMENDED |
Repository Summary
Description | ROSCon DE 2023 talk "Learning Robotics Fundamentals with ROS 2 and modern Gazebo" |
Checkout URI | https://github.com/andreasbihlmaier/robotics_fundamentals_ros_gazebo.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2023-11-23 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- ahb
Authors
ROSCon DE 2023 talk “Learning Robotics Fundamentals with ROS 2 and modern Gazebo”
Setup:
- Follow the official installation instructions at https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html.
- In the step “Install ROS 2 packages”, install the packages
ros-humble-desktop
andros-dev-tools
. - In addition, install the following packages
sudo apt install \
python3-colcon-common-extensions \
ros-humble-ign-ros2-control \
ros-humble-plotjuggler-ros \
ros-humble-ros2-control \
ros-humble-ros2-controllers \
ros-humble-ros-gz-sim-demos \
ros-humble-ros-ign-gazebo \
ros-humble-rqt-joint-trajectory-controller \
ros-humble-rqt-tf-tree
M1:
- Start (modern) Gazebo:
ros2 launch ros_gz_sim gz_sim.launch.py gz_args:="empty.sdf -r"
- Spawn a simple mobile robot in Gazebo:
ros2 run ros_gz_sim create -file $(pwd)/vehicle_blue.sdf -z 0.325
- Create a bridge between ROS and Gazebo:
ros2 run ros_gz_bridge parameter_bridge \
'/model/vehicle_blue/cmd_vel@geometry_msgs/msg/Twist]gz.msgs.Twist' \
'/model/vehicle_blue/pose@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V'
- Start PlotJuggler
ros2 run plotjuggler plotjuggler
- Add plots:
- ROS2 Topic Subscriber -> Select
/model/vehicle_blue/pose
- Drag and drop
/model/vehicle_blue/pose/empty/vehicle_blue/translation/x
from Timeseries List to the plot area - Split the plot vertical twice
- Add Custom Series -> Input timeseries: Same
x
as above; Function library:backward_difference_derivative
; New name:v
; Create New Timeseries - Drag and drop
v
from Custom Series to the middle plot and to the bottom plot - Apply filter to data on the bottom plot -> Derivative
- Now the top plot shows the position x, the middle plot shows the velocity v, and the bottom plot shows the acceleration a.
- ROS2 Topic Subscriber -> Select
- Command the mobile robot to move forward:
ros2 topic pub --once /model/vehicle_blue/cmd_vel geometry_msgs/msg/Twist '
linear:
x: 0.1
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0'
P1:
- Start Gazebo:
ros2 launch ros_gz_sim gz_sim.launch.py gz_args:="$(pwd)/falling_world.sdf"
- Create ROS-Gazebo bridge:
ros2 run ros_gz_bridge parameter_bridge '/model/sphere/pose@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V'
- Record pose of falling sphere:
ros2 bag record /model/sphere/pose
- Unpause Gazebo
- Wait for sphere to hit the ground. Stop recording.
- Open bag file in PlotJuggler
P2:
- Start Gazebo:
ros2 launch ros_gz_sim gz_sim.launch.py gz_args:="$(pwd)/slippery_slope.sdf"
- Create ROS-Gazebo bridge:
ros2 run ros_gz_bridge parameter_bridge \
'/model/sphere/pose@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V' \
'/model/cylinder/pose@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V'
- Record pose of falling sphere:
ros2 bag record /model/sphere/pose /model/cylinder/pose
- Unpause Gazebo
- Wait for both objects to have rolled down the inclined plane. Stop recording.
- Open bag file in PlotJuggler
R1:
- Start Gazebo:
```
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_copyright | |
ament_flake8 | |
ament_pep257 |
System Dependencies
Name |
---|
python3-pytest |