No version for distro humble showing github. Known supported distros are highlighted in the buttons above.
Package symbol

robotics_fundamentals_ros_gazebo package from robotics_fundamentals_ros_gazebo repo

robotics_fundamentals_ros_gazebo

ROS Distro
github

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

ROSCon DE 2023 Learning Robotics Fundamentals with ROS 2 and modern Gazebo

Additional Links

No additional links.

Maintainers

  • ahb

Authors

No additional authors.

ROSCon DE 2023 talk “Learning Robotics Fundamentals with ROS 2 and modern Gazebo”

Slides available here

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 and ros-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.
  • 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

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged robotics_fundamentals_ros_gazebo at Robotics Stack Exchange

No version for distro jazzy showing github. Known supported distros are highlighted in the buttons above.
Package symbol

robotics_fundamentals_ros_gazebo package from robotics_fundamentals_ros_gazebo repo

robotics_fundamentals_ros_gazebo

ROS Distro
github

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

ROSCon DE 2023 Learning Robotics Fundamentals with ROS 2 and modern Gazebo

Additional Links

No additional links.

Maintainers

  • ahb

Authors

No additional authors.

ROSCon DE 2023 talk “Learning Robotics Fundamentals with ROS 2 and modern Gazebo”

Slides available here

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 and ros-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.
  • 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

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged robotics_fundamentals_ros_gazebo at Robotics Stack Exchange

No version for distro kilted showing github. Known supported distros are highlighted in the buttons above.
Package symbol

robotics_fundamentals_ros_gazebo package from robotics_fundamentals_ros_gazebo repo

robotics_fundamentals_ros_gazebo

ROS Distro
github

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

ROSCon DE 2023 Learning Robotics Fundamentals with ROS 2 and modern Gazebo

Additional Links

No additional links.

Maintainers

  • ahb

Authors

No additional authors.

ROSCon DE 2023 talk “Learning Robotics Fundamentals with ROS 2 and modern Gazebo”

Slides available here

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 and ros-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.
  • 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

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged robotics_fundamentals_ros_gazebo at Robotics Stack Exchange

No version for distro rolling showing github. Known supported distros are highlighted in the buttons above.
Package symbol

robotics_fundamentals_ros_gazebo package from robotics_fundamentals_ros_gazebo repo

robotics_fundamentals_ros_gazebo

ROS Distro
github

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

ROSCon DE 2023 Learning Robotics Fundamentals with ROS 2 and modern Gazebo

Additional Links

No additional links.

Maintainers

  • ahb

Authors

No additional authors.

ROSCon DE 2023 talk “Learning Robotics Fundamentals with ROS 2 and modern Gazebo”

Slides available here

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 and ros-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.
  • 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

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged robotics_fundamentals_ros_gazebo at Robotics Stack Exchange

Package symbol

robotics_fundamentals_ros_gazebo package from robotics_fundamentals_ros_gazebo repo

robotics_fundamentals_ros_gazebo

ROS Distro
github

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

ROSCon DE 2023 Learning Robotics Fundamentals with ROS 2 and modern Gazebo

Additional Links

No additional links.

Maintainers

  • ahb

Authors

No additional authors.

ROSCon DE 2023 talk “Learning Robotics Fundamentals with ROS 2 and modern Gazebo”

Slides available here

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 and ros-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.
  • 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

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged robotics_fundamentals_ros_gazebo at Robotics Stack Exchange

No version for distro galactic showing github. Known supported distros are highlighted in the buttons above.
Package symbol

robotics_fundamentals_ros_gazebo package from robotics_fundamentals_ros_gazebo repo

robotics_fundamentals_ros_gazebo

ROS Distro
github

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

ROSCon DE 2023 Learning Robotics Fundamentals with ROS 2 and modern Gazebo

Additional Links

No additional links.

Maintainers

  • ahb

Authors

No additional authors.

ROSCon DE 2023 talk “Learning Robotics Fundamentals with ROS 2 and modern Gazebo”

Slides available here

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 and ros-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.
  • 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

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged robotics_fundamentals_ros_gazebo at Robotics Stack Exchange

No version for distro iron showing github. Known supported distros are highlighted in the buttons above.
Package symbol

robotics_fundamentals_ros_gazebo package from robotics_fundamentals_ros_gazebo repo

robotics_fundamentals_ros_gazebo

ROS Distro
github

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

ROSCon DE 2023 Learning Robotics Fundamentals with ROS 2 and modern Gazebo

Additional Links

No additional links.

Maintainers

  • ahb

Authors

No additional authors.

ROSCon DE 2023 talk “Learning Robotics Fundamentals with ROS 2 and modern Gazebo”

Slides available here

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 and ros-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.
  • 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

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged robotics_fundamentals_ros_gazebo at Robotics Stack Exchange

No version for distro melodic showing github. Known supported distros are highlighted in the buttons above.
Package symbol

robotics_fundamentals_ros_gazebo package from robotics_fundamentals_ros_gazebo repo

robotics_fundamentals_ros_gazebo

ROS Distro
github

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

ROSCon DE 2023 Learning Robotics Fundamentals with ROS 2 and modern Gazebo

Additional Links

No additional links.

Maintainers

  • ahb

Authors

No additional authors.

ROSCon DE 2023 talk “Learning Robotics Fundamentals with ROS 2 and modern Gazebo”

Slides available here

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 and ros-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.
  • 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

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged robotics_fundamentals_ros_gazebo at Robotics Stack Exchange

No version for distro noetic showing github. Known supported distros are highlighted in the buttons above.
Package symbol

robotics_fundamentals_ros_gazebo package from robotics_fundamentals_ros_gazebo repo

robotics_fundamentals_ros_gazebo

ROS Distro
github

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

ROSCon DE 2023 Learning Robotics Fundamentals with ROS 2 and modern Gazebo

Additional Links

No additional links.

Maintainers

  • ahb

Authors

No additional authors.

ROSCon DE 2023 talk “Learning Robotics Fundamentals with ROS 2 and modern Gazebo”

Slides available here

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 and ros-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.
  • 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

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged robotics_fundamentals_ros_gazebo at Robotics Stack Exchange