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

Package Summary

Tags No category tags.
Version 0.0.0
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description Tutorials for the KBS robotics labs
Checkout URI https://github.com/uos/ros2_tutorial.git
VCS Type git
VCS Version main
Last Updated 2025-05-06
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Use simulated ceres robot. LaserScans and PointClouds. Learn TF.

Additional Links

No additional links.

Maintainers

  • Alexander Mock

Authors

  • Alexander Mock

ex02_gazebo_simulation

Download

Git-Clone the following packages into your ROS-workspace src directory using git: You will need some package to run the simulation of the robot. The same software packages are installed on the robot as well.

  • https://github.com/uos/ceres_robot
  • https://github.com/uos/uos_tools
  • https://github.com/uos/epos2_motor_controller
  • https://github.com/uos/volksbot_driver

The current main branch of those software packages should be compatible with ROS2 humble. To make sure, switch all the repositories to “humble” branch instead: Go to a cloned repository folder and run git checkout humble. After you did that for every repository, compile your workspace. If errors occur:

  • ROS-Package is missing: sudo apt-get install ros-humble-MISSING-PACKAGE
  • System package is missing: sudo apt-get install libftdipp1-dev

What to do when packages are missing?

Let’s assume the package missing_package is missing from your computer. Try to install it in this order, finish when one command has succeeded:

  1. Install via apt: sudo apt install ros-humble-missing-package
  2. Install via Github: Search for the package on github. Check if it’s a valid ROS2-humble package. Download missing_package into your src-folder and compile it
  3. Install via Gitlab: Search for the package on UOS-Gitlab. Check if it’s a valid ROS2-humble package. Download missing_package into your src-folder and compile it
  4. Go to Alex

Run the Simulation

ros2 launch ceres_gazebo ceres_gazebo_launch.py

A graphical interface starts with a robot in it, spawned in an office environment. Try to add a cube. Try to move the robot. Make yourself familiar with the functionalities. The simulation, as the name tells, simulates a real robot. So when you learn to control the robot in the simulation, you will be able to control the robot in the real world. The simulation will generate the sensor data and publish them on some topics. Find out which topics. Print out some of the messages that are streamed on those topics.

Control the robot

ros2 launch uos_diffdrive_teleop key.launch

A window will open. As long as it is the activate window you can control the robot via the shown keys. Move the robot through the office world.

Visualize the Sensor Data

ros2 run rviz2 rviz2

or the shortcut:

rviz2

The robot is equipped with a laser scanner. Try to visualize the corresponding topic. Set the fixed frame to ‘base_link’. What a fixed frame is will be explained soon. Move the robot around and see how the sensor data changes. RViz will be used with the real robot to monitor processes. Gazebo not.

Use the sensor data

Write a node that filters noise from the scan. Subscribe to the topic scan, average the distances with the direct neighboring measurements (average of 3 measurements in total) and publish the results on a new topic scan_filtered. Visualize the results with RViz.

Point Clouds

Messages on the topic are in polar coordinates. Write a node that converts the LaserScan to a PointCloud2 message and publishes it on the topic scan_cloud. Don’t use external libraries for the conversions. Copy the header of the LaserScan message to the header of the PointCloud2 message. After publishing, visualize the results with RViz.

TF

Make yourself familiar with the concept of transformations. Visualize the transformations via RViz. In ROS2 there is a library called tf2 that handles all the transformations. Internally they present all the transformations as a tree. You can visualize it by calling

ros2 run rqt_tf_tree rqt_tf_tree

If it’s not installed you can install it via sudo apt install ros-humble-rqt-tf-tree. Read the docs: https://docs.ros.org/en/foxy/Tutorials/Intermediate/Tf2/Introduction-To-Tf2.html

Every piece of sensor data was recorded in a certain reference system at a certain time. Therefore, sensor data messages usually have a field std_msgs/Header:

...
string frame_id
time stamp

Sometimes messages have the postfix Stamped if they are extending a message only by a header. For example, there is a message geometry_msgs/Point:

float64 x
float64 y
float64 z

And the corresponding geometry_msgs/PointStamped:

std_msgs/Header header
geometry_msgs/Point point

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

No direct 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 ex02_gazebo_simulation at Robotics Stack Exchange

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

Package Summary

Tags No category tags.
Version 0.0.0
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description Tutorials for the KBS robotics labs
Checkout URI https://github.com/uos/ros2_tutorial.git
VCS Type git
VCS Version main
Last Updated 2025-05-06
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Use simulated ceres robot. LaserScans and PointClouds. Learn TF.

Additional Links

No additional links.

Maintainers

  • Alexander Mock

Authors

  • Alexander Mock

ex02_gazebo_simulation

Download

Git-Clone the following packages into your ROS-workspace src directory using git: You will need some package to run the simulation of the robot. The same software packages are installed on the robot as well.

  • https://github.com/uos/ceres_robot
  • https://github.com/uos/uos_tools
  • https://github.com/uos/epos2_motor_controller
  • https://github.com/uos/volksbot_driver

The current main branch of those software packages should be compatible with ROS2 humble. To make sure, switch all the repositories to “humble” branch instead: Go to a cloned repository folder and run git checkout humble. After you did that for every repository, compile your workspace. If errors occur:

  • ROS-Package is missing: sudo apt-get install ros-humble-MISSING-PACKAGE
  • System package is missing: sudo apt-get install libftdipp1-dev

What to do when packages are missing?

Let’s assume the package missing_package is missing from your computer. Try to install it in this order, finish when one command has succeeded:

  1. Install via apt: sudo apt install ros-humble-missing-package
  2. Install via Github: Search for the package on github. Check if it’s a valid ROS2-humble package. Download missing_package into your src-folder and compile it
  3. Install via Gitlab: Search for the package on UOS-Gitlab. Check if it’s a valid ROS2-humble package. Download missing_package into your src-folder and compile it
  4. Go to Alex

Run the Simulation

ros2 launch ceres_gazebo ceres_gazebo_launch.py

A graphical interface starts with a robot in it, spawned in an office environment. Try to add a cube. Try to move the robot. Make yourself familiar with the functionalities. The simulation, as the name tells, simulates a real robot. So when you learn to control the robot in the simulation, you will be able to control the robot in the real world. The simulation will generate the sensor data and publish them on some topics. Find out which topics. Print out some of the messages that are streamed on those topics.

Control the robot

ros2 launch uos_diffdrive_teleop key.launch

A window will open. As long as it is the activate window you can control the robot via the shown keys. Move the robot through the office world.

Visualize the Sensor Data

ros2 run rviz2 rviz2

or the shortcut:

rviz2

The robot is equipped with a laser scanner. Try to visualize the corresponding topic. Set the fixed frame to ‘base_link’. What a fixed frame is will be explained soon. Move the robot around and see how the sensor data changes. RViz will be used with the real robot to monitor processes. Gazebo not.

Use the sensor data

Write a node that filters noise from the scan. Subscribe to the topic scan, average the distances with the direct neighboring measurements (average of 3 measurements in total) and publish the results on a new topic scan_filtered. Visualize the results with RViz.

Point Clouds

Messages on the topic are in polar coordinates. Write a node that converts the LaserScan to a PointCloud2 message and publishes it on the topic scan_cloud. Don’t use external libraries for the conversions. Copy the header of the LaserScan message to the header of the PointCloud2 message. After publishing, visualize the results with RViz.

TF

Make yourself familiar with the concept of transformations. Visualize the transformations via RViz. In ROS2 there is a library called tf2 that handles all the transformations. Internally they present all the transformations as a tree. You can visualize it by calling

ros2 run rqt_tf_tree rqt_tf_tree

If it’s not installed you can install it via sudo apt install ros-humble-rqt-tf-tree. Read the docs: https://docs.ros.org/en/foxy/Tutorials/Intermediate/Tf2/Introduction-To-Tf2.html

Every piece of sensor data was recorded in a certain reference system at a certain time. Therefore, sensor data messages usually have a field std_msgs/Header:

...
string frame_id
time stamp

Sometimes messages have the postfix Stamped if they are extending a message only by a header. For example, there is a message geometry_msgs/Point:

float64 x
float64 y
float64 z

And the corresponding geometry_msgs/PointStamped:

std_msgs/Header header
geometry_msgs/Point point

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

No direct 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 ex02_gazebo_simulation at Robotics Stack Exchange

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

Package Summary

Tags No category tags.
Version 0.0.0
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description Tutorials for the KBS robotics labs
Checkout URI https://github.com/uos/ros2_tutorial.git
VCS Type git
VCS Version main
Last Updated 2025-05-06
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Use simulated ceres robot. LaserScans and PointClouds. Learn TF.

Additional Links

No additional links.

Maintainers

  • Alexander Mock

Authors

  • Alexander Mock

ex02_gazebo_simulation

Download

Git-Clone the following packages into your ROS-workspace src directory using git: You will need some package to run the simulation of the robot. The same software packages are installed on the robot as well.

  • https://github.com/uos/ceres_robot
  • https://github.com/uos/uos_tools
  • https://github.com/uos/epos2_motor_controller
  • https://github.com/uos/volksbot_driver

The current main branch of those software packages should be compatible with ROS2 humble. To make sure, switch all the repositories to “humble” branch instead: Go to a cloned repository folder and run git checkout humble. After you did that for every repository, compile your workspace. If errors occur:

  • ROS-Package is missing: sudo apt-get install ros-humble-MISSING-PACKAGE
  • System package is missing: sudo apt-get install libftdipp1-dev

What to do when packages are missing?

Let’s assume the package missing_package is missing from your computer. Try to install it in this order, finish when one command has succeeded:

  1. Install via apt: sudo apt install ros-humble-missing-package
  2. Install via Github: Search for the package on github. Check if it’s a valid ROS2-humble package. Download missing_package into your src-folder and compile it
  3. Install via Gitlab: Search for the package on UOS-Gitlab. Check if it’s a valid ROS2-humble package. Download missing_package into your src-folder and compile it
  4. Go to Alex

Run the Simulation

ros2 launch ceres_gazebo ceres_gazebo_launch.py

A graphical interface starts with a robot in it, spawned in an office environment. Try to add a cube. Try to move the robot. Make yourself familiar with the functionalities. The simulation, as the name tells, simulates a real robot. So when you learn to control the robot in the simulation, you will be able to control the robot in the real world. The simulation will generate the sensor data and publish them on some topics. Find out which topics. Print out some of the messages that are streamed on those topics.

Control the robot

ros2 launch uos_diffdrive_teleop key.launch

A window will open. As long as it is the activate window you can control the robot via the shown keys. Move the robot through the office world.

Visualize the Sensor Data

ros2 run rviz2 rviz2

or the shortcut:

rviz2

The robot is equipped with a laser scanner. Try to visualize the corresponding topic. Set the fixed frame to ‘base_link’. What a fixed frame is will be explained soon. Move the robot around and see how the sensor data changes. RViz will be used with the real robot to monitor processes. Gazebo not.

Use the sensor data

Write a node that filters noise from the scan. Subscribe to the topic scan, average the distances with the direct neighboring measurements (average of 3 measurements in total) and publish the results on a new topic scan_filtered. Visualize the results with RViz.

Point Clouds

Messages on the topic are in polar coordinates. Write a node that converts the LaserScan to a PointCloud2 message and publishes it on the topic scan_cloud. Don’t use external libraries for the conversions. Copy the header of the LaserScan message to the header of the PointCloud2 message. After publishing, visualize the results with RViz.

TF

Make yourself familiar with the concept of transformations. Visualize the transformations via RViz. In ROS2 there is a library called tf2 that handles all the transformations. Internally they present all the transformations as a tree. You can visualize it by calling

ros2 run rqt_tf_tree rqt_tf_tree

If it’s not installed you can install it via sudo apt install ros-humble-rqt-tf-tree. Read the docs: https://docs.ros.org/en/foxy/Tutorials/Intermediate/Tf2/Introduction-To-Tf2.html

Every piece of sensor data was recorded in a certain reference system at a certain time. Therefore, sensor data messages usually have a field std_msgs/Header:

...
string frame_id
time stamp

Sometimes messages have the postfix Stamped if they are extending a message only by a header. For example, there is a message geometry_msgs/Point:

float64 x
float64 y
float64 z

And the corresponding geometry_msgs/PointStamped:

std_msgs/Header header
geometry_msgs/Point point

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

No direct 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 ex02_gazebo_simulation at Robotics Stack Exchange

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

Package Summary

Tags No category tags.
Version 0.0.0
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description Tutorials for the KBS robotics labs
Checkout URI https://github.com/uos/ros2_tutorial.git
VCS Type git
VCS Version main
Last Updated 2025-05-06
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Use simulated ceres robot. LaserScans and PointClouds. Learn TF.

Additional Links

No additional links.

Maintainers

  • Alexander Mock

Authors

  • Alexander Mock

ex02_gazebo_simulation

Download

Git-Clone the following packages into your ROS-workspace src directory using git: You will need some package to run the simulation of the robot. The same software packages are installed on the robot as well.

  • https://github.com/uos/ceres_robot
  • https://github.com/uos/uos_tools
  • https://github.com/uos/epos2_motor_controller
  • https://github.com/uos/volksbot_driver

The current main branch of those software packages should be compatible with ROS2 humble. To make sure, switch all the repositories to “humble” branch instead: Go to a cloned repository folder and run git checkout humble. After you did that for every repository, compile your workspace. If errors occur:

  • ROS-Package is missing: sudo apt-get install ros-humble-MISSING-PACKAGE
  • System package is missing: sudo apt-get install libftdipp1-dev

What to do when packages are missing?

Let’s assume the package missing_package is missing from your computer. Try to install it in this order, finish when one command has succeeded:

  1. Install via apt: sudo apt install ros-humble-missing-package
  2. Install via Github: Search for the package on github. Check if it’s a valid ROS2-humble package. Download missing_package into your src-folder and compile it
  3. Install via Gitlab: Search for the package on UOS-Gitlab. Check if it’s a valid ROS2-humble package. Download missing_package into your src-folder and compile it
  4. Go to Alex

Run the Simulation

ros2 launch ceres_gazebo ceres_gazebo_launch.py

A graphical interface starts with a robot in it, spawned in an office environment. Try to add a cube. Try to move the robot. Make yourself familiar with the functionalities. The simulation, as the name tells, simulates a real robot. So when you learn to control the robot in the simulation, you will be able to control the robot in the real world. The simulation will generate the sensor data and publish them on some topics. Find out which topics. Print out some of the messages that are streamed on those topics.

Control the robot

ros2 launch uos_diffdrive_teleop key.launch

A window will open. As long as it is the activate window you can control the robot via the shown keys. Move the robot through the office world.

Visualize the Sensor Data

ros2 run rviz2 rviz2

or the shortcut:

rviz2

The robot is equipped with a laser scanner. Try to visualize the corresponding topic. Set the fixed frame to ‘base_link’. What a fixed frame is will be explained soon. Move the robot around and see how the sensor data changes. RViz will be used with the real robot to monitor processes. Gazebo not.

Use the sensor data

Write a node that filters noise from the scan. Subscribe to the topic scan, average the distances with the direct neighboring measurements (average of 3 measurements in total) and publish the results on a new topic scan_filtered. Visualize the results with RViz.

Point Clouds

Messages on the topic are in polar coordinates. Write a node that converts the LaserScan to a PointCloud2 message and publishes it on the topic scan_cloud. Don’t use external libraries for the conversions. Copy the header of the LaserScan message to the header of the PointCloud2 message. After publishing, visualize the results with RViz.

TF

Make yourself familiar with the concept of transformations. Visualize the transformations via RViz. In ROS2 there is a library called tf2 that handles all the transformations. Internally they present all the transformations as a tree. You can visualize it by calling

ros2 run rqt_tf_tree rqt_tf_tree

If it’s not installed you can install it via sudo apt install ros-humble-rqt-tf-tree. Read the docs: https://docs.ros.org/en/foxy/Tutorials/Intermediate/Tf2/Introduction-To-Tf2.html

Every piece of sensor data was recorded in a certain reference system at a certain time. Therefore, sensor data messages usually have a field std_msgs/Header:

...
string frame_id
time stamp

Sometimes messages have the postfix Stamped if they are extending a message only by a header. For example, there is a message geometry_msgs/Point:

float64 x
float64 y
float64 z

And the corresponding geometry_msgs/PointStamped:

std_msgs/Header header
geometry_msgs/Point point

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

No direct 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 ex02_gazebo_simulation at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 0.0.0
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description Tutorials for the KBS robotics labs
Checkout URI https://github.com/uos/ros2_tutorial.git
VCS Type git
VCS Version main
Last Updated 2025-05-06
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Use simulated ceres robot. LaserScans and PointClouds. Learn TF.

Additional Links

No additional links.

Maintainers

  • Alexander Mock

Authors

  • Alexander Mock

ex02_gazebo_simulation

Download

Git-Clone the following packages into your ROS-workspace src directory using git: You will need some package to run the simulation of the robot. The same software packages are installed on the robot as well.

  • https://github.com/uos/ceres_robot
  • https://github.com/uos/uos_tools
  • https://github.com/uos/epos2_motor_controller
  • https://github.com/uos/volksbot_driver

The current main branch of those software packages should be compatible with ROS2 humble. To make sure, switch all the repositories to “humble” branch instead: Go to a cloned repository folder and run git checkout humble. After you did that for every repository, compile your workspace. If errors occur:

  • ROS-Package is missing: sudo apt-get install ros-humble-MISSING-PACKAGE
  • System package is missing: sudo apt-get install libftdipp1-dev

What to do when packages are missing?

Let’s assume the package missing_package is missing from your computer. Try to install it in this order, finish when one command has succeeded:

  1. Install via apt: sudo apt install ros-humble-missing-package
  2. Install via Github: Search for the package on github. Check if it’s a valid ROS2-humble package. Download missing_package into your src-folder and compile it
  3. Install via Gitlab: Search for the package on UOS-Gitlab. Check if it’s a valid ROS2-humble package. Download missing_package into your src-folder and compile it
  4. Go to Alex

Run the Simulation

ros2 launch ceres_gazebo ceres_gazebo_launch.py

A graphical interface starts with a robot in it, spawned in an office environment. Try to add a cube. Try to move the robot. Make yourself familiar with the functionalities. The simulation, as the name tells, simulates a real robot. So when you learn to control the robot in the simulation, you will be able to control the robot in the real world. The simulation will generate the sensor data and publish them on some topics. Find out which topics. Print out some of the messages that are streamed on those topics.

Control the robot

ros2 launch uos_diffdrive_teleop key.launch

A window will open. As long as it is the activate window you can control the robot via the shown keys. Move the robot through the office world.

Visualize the Sensor Data

ros2 run rviz2 rviz2

or the shortcut:

rviz2

The robot is equipped with a laser scanner. Try to visualize the corresponding topic. Set the fixed frame to ‘base_link’. What a fixed frame is will be explained soon. Move the robot around and see how the sensor data changes. RViz will be used with the real robot to monitor processes. Gazebo not.

Use the sensor data

Write a node that filters noise from the scan. Subscribe to the topic scan, average the distances with the direct neighboring measurements (average of 3 measurements in total) and publish the results on a new topic scan_filtered. Visualize the results with RViz.

Point Clouds

Messages on the topic are in polar coordinates. Write a node that converts the LaserScan to a PointCloud2 message and publishes it on the topic scan_cloud. Don’t use external libraries for the conversions. Copy the header of the LaserScan message to the header of the PointCloud2 message. After publishing, visualize the results with RViz.

TF

Make yourself familiar with the concept of transformations. Visualize the transformations via RViz. In ROS2 there is a library called tf2 that handles all the transformations. Internally they present all the transformations as a tree. You can visualize it by calling

ros2 run rqt_tf_tree rqt_tf_tree

If it’s not installed you can install it via sudo apt install ros-humble-rqt-tf-tree. Read the docs: https://docs.ros.org/en/foxy/Tutorials/Intermediate/Tf2/Introduction-To-Tf2.html

Every piece of sensor data was recorded in a certain reference system at a certain time. Therefore, sensor data messages usually have a field std_msgs/Header:

...
string frame_id
time stamp

Sometimes messages have the postfix Stamped if they are extending a message only by a header. For example, there is a message geometry_msgs/Point:

float64 x
float64 y
float64 z

And the corresponding geometry_msgs/PointStamped:

std_msgs/Header header
geometry_msgs/Point point

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

No direct 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 ex02_gazebo_simulation at Robotics Stack Exchange

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

Package Summary

Tags No category tags.
Version 0.0.0
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description Tutorials for the KBS robotics labs
Checkout URI https://github.com/uos/ros2_tutorial.git
VCS Type git
VCS Version main
Last Updated 2025-05-06
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Use simulated ceres robot. LaserScans and PointClouds. Learn TF.

Additional Links

No additional links.

Maintainers

  • Alexander Mock

Authors

  • Alexander Mock

ex02_gazebo_simulation

Download

Git-Clone the following packages into your ROS-workspace src directory using git: You will need some package to run the simulation of the robot. The same software packages are installed on the robot as well.

  • https://github.com/uos/ceres_robot
  • https://github.com/uos/uos_tools
  • https://github.com/uos/epos2_motor_controller
  • https://github.com/uos/volksbot_driver

The current main branch of those software packages should be compatible with ROS2 humble. To make sure, switch all the repositories to “humble” branch instead: Go to a cloned repository folder and run git checkout humble. After you did that for every repository, compile your workspace. If errors occur:

  • ROS-Package is missing: sudo apt-get install ros-humble-MISSING-PACKAGE
  • System package is missing: sudo apt-get install libftdipp1-dev

What to do when packages are missing?

Let’s assume the package missing_package is missing from your computer. Try to install it in this order, finish when one command has succeeded:

  1. Install via apt: sudo apt install ros-humble-missing-package
  2. Install via Github: Search for the package on github. Check if it’s a valid ROS2-humble package. Download missing_package into your src-folder and compile it
  3. Install via Gitlab: Search for the package on UOS-Gitlab. Check if it’s a valid ROS2-humble package. Download missing_package into your src-folder and compile it
  4. Go to Alex

Run the Simulation

ros2 launch ceres_gazebo ceres_gazebo_launch.py

A graphical interface starts with a robot in it, spawned in an office environment. Try to add a cube. Try to move the robot. Make yourself familiar with the functionalities. The simulation, as the name tells, simulates a real robot. So when you learn to control the robot in the simulation, you will be able to control the robot in the real world. The simulation will generate the sensor data and publish them on some topics. Find out which topics. Print out some of the messages that are streamed on those topics.

Control the robot

ros2 launch uos_diffdrive_teleop key.launch

A window will open. As long as it is the activate window you can control the robot via the shown keys. Move the robot through the office world.

Visualize the Sensor Data

ros2 run rviz2 rviz2

or the shortcut:

rviz2

The robot is equipped with a laser scanner. Try to visualize the corresponding topic. Set the fixed frame to ‘base_link’. What a fixed frame is will be explained soon. Move the robot around and see how the sensor data changes. RViz will be used with the real robot to monitor processes. Gazebo not.

Use the sensor data

Write a node that filters noise from the scan. Subscribe to the topic scan, average the distances with the direct neighboring measurements (average of 3 measurements in total) and publish the results on a new topic scan_filtered. Visualize the results with RViz.

Point Clouds

Messages on the topic are in polar coordinates. Write a node that converts the LaserScan to a PointCloud2 message and publishes it on the topic scan_cloud. Don’t use external libraries for the conversions. Copy the header of the LaserScan message to the header of the PointCloud2 message. After publishing, visualize the results with RViz.

TF

Make yourself familiar with the concept of transformations. Visualize the transformations via RViz. In ROS2 there is a library called tf2 that handles all the transformations. Internally they present all the transformations as a tree. You can visualize it by calling

ros2 run rqt_tf_tree rqt_tf_tree

If it’s not installed you can install it via sudo apt install ros-humble-rqt-tf-tree. Read the docs: https://docs.ros.org/en/foxy/Tutorials/Intermediate/Tf2/Introduction-To-Tf2.html

Every piece of sensor data was recorded in a certain reference system at a certain time. Therefore, sensor data messages usually have a field std_msgs/Header:

...
string frame_id
time stamp

Sometimes messages have the postfix Stamped if they are extending a message only by a header. For example, there is a message geometry_msgs/Point:

float64 x
float64 y
float64 z

And the corresponding geometry_msgs/PointStamped:

std_msgs/Header header
geometry_msgs/Point point

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

No direct 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 ex02_gazebo_simulation at Robotics Stack Exchange

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

Package Summary

Tags No category tags.
Version 0.0.0
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description Tutorials for the KBS robotics labs
Checkout URI https://github.com/uos/ros2_tutorial.git
VCS Type git
VCS Version main
Last Updated 2025-05-06
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Use simulated ceres robot. LaserScans and PointClouds. Learn TF.

Additional Links

No additional links.

Maintainers

  • Alexander Mock

Authors

  • Alexander Mock

ex02_gazebo_simulation

Download

Git-Clone the following packages into your ROS-workspace src directory using git: You will need some package to run the simulation of the robot. The same software packages are installed on the robot as well.

  • https://github.com/uos/ceres_robot
  • https://github.com/uos/uos_tools
  • https://github.com/uos/epos2_motor_controller
  • https://github.com/uos/volksbot_driver

The current main branch of those software packages should be compatible with ROS2 humble. To make sure, switch all the repositories to “humble” branch instead: Go to a cloned repository folder and run git checkout humble. After you did that for every repository, compile your workspace. If errors occur:

  • ROS-Package is missing: sudo apt-get install ros-humble-MISSING-PACKAGE
  • System package is missing: sudo apt-get install libftdipp1-dev

What to do when packages are missing?

Let’s assume the package missing_package is missing from your computer. Try to install it in this order, finish when one command has succeeded:

  1. Install via apt: sudo apt install ros-humble-missing-package
  2. Install via Github: Search for the package on github. Check if it’s a valid ROS2-humble package. Download missing_package into your src-folder and compile it
  3. Install via Gitlab: Search for the package on UOS-Gitlab. Check if it’s a valid ROS2-humble package. Download missing_package into your src-folder and compile it
  4. Go to Alex

Run the Simulation

ros2 launch ceres_gazebo ceres_gazebo_launch.py

A graphical interface starts with a robot in it, spawned in an office environment. Try to add a cube. Try to move the robot. Make yourself familiar with the functionalities. The simulation, as the name tells, simulates a real robot. So when you learn to control the robot in the simulation, you will be able to control the robot in the real world. The simulation will generate the sensor data and publish them on some topics. Find out which topics. Print out some of the messages that are streamed on those topics.

Control the robot

ros2 launch uos_diffdrive_teleop key.launch

A window will open. As long as it is the activate window you can control the robot via the shown keys. Move the robot through the office world.

Visualize the Sensor Data

ros2 run rviz2 rviz2

or the shortcut:

rviz2

The robot is equipped with a laser scanner. Try to visualize the corresponding topic. Set the fixed frame to ‘base_link’. What a fixed frame is will be explained soon. Move the robot around and see how the sensor data changes. RViz will be used with the real robot to monitor processes. Gazebo not.

Use the sensor data

Write a node that filters noise from the scan. Subscribe to the topic scan, average the distances with the direct neighboring measurements (average of 3 measurements in total) and publish the results on a new topic scan_filtered. Visualize the results with RViz.

Point Clouds

Messages on the topic are in polar coordinates. Write a node that converts the LaserScan to a PointCloud2 message and publishes it on the topic scan_cloud. Don’t use external libraries for the conversions. Copy the header of the LaserScan message to the header of the PointCloud2 message. After publishing, visualize the results with RViz.

TF

Make yourself familiar with the concept of transformations. Visualize the transformations via RViz. In ROS2 there is a library called tf2 that handles all the transformations. Internally they present all the transformations as a tree. You can visualize it by calling

ros2 run rqt_tf_tree rqt_tf_tree

If it’s not installed you can install it via sudo apt install ros-humble-rqt-tf-tree. Read the docs: https://docs.ros.org/en/foxy/Tutorials/Intermediate/Tf2/Introduction-To-Tf2.html

Every piece of sensor data was recorded in a certain reference system at a certain time. Therefore, sensor data messages usually have a field std_msgs/Header:

...
string frame_id
time stamp

Sometimes messages have the postfix Stamped if they are extending a message only by a header. For example, there is a message geometry_msgs/Point:

float64 x
float64 y
float64 z

And the corresponding geometry_msgs/PointStamped:

std_msgs/Header header
geometry_msgs/Point point

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

No direct 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 ex02_gazebo_simulation at Robotics Stack Exchange

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

Package Summary

Tags No category tags.
Version 0.0.0
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description Tutorials for the KBS robotics labs
Checkout URI https://github.com/uos/ros2_tutorial.git
VCS Type git
VCS Version main
Last Updated 2025-05-06
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Use simulated ceres robot. LaserScans and PointClouds. Learn TF.

Additional Links

No additional links.

Maintainers

  • Alexander Mock

Authors

  • Alexander Mock

ex02_gazebo_simulation

Download

Git-Clone the following packages into your ROS-workspace src directory using git: You will need some package to run the simulation of the robot. The same software packages are installed on the robot as well.

  • https://github.com/uos/ceres_robot
  • https://github.com/uos/uos_tools
  • https://github.com/uos/epos2_motor_controller
  • https://github.com/uos/volksbot_driver

The current main branch of those software packages should be compatible with ROS2 humble. To make sure, switch all the repositories to “humble” branch instead: Go to a cloned repository folder and run git checkout humble. After you did that for every repository, compile your workspace. If errors occur:

  • ROS-Package is missing: sudo apt-get install ros-humble-MISSING-PACKAGE
  • System package is missing: sudo apt-get install libftdipp1-dev

What to do when packages are missing?

Let’s assume the package missing_package is missing from your computer. Try to install it in this order, finish when one command has succeeded:

  1. Install via apt: sudo apt install ros-humble-missing-package
  2. Install via Github: Search for the package on github. Check if it’s a valid ROS2-humble package. Download missing_package into your src-folder and compile it
  3. Install via Gitlab: Search for the package on UOS-Gitlab. Check if it’s a valid ROS2-humble package. Download missing_package into your src-folder and compile it
  4. Go to Alex

Run the Simulation

ros2 launch ceres_gazebo ceres_gazebo_launch.py

A graphical interface starts with a robot in it, spawned in an office environment. Try to add a cube. Try to move the robot. Make yourself familiar with the functionalities. The simulation, as the name tells, simulates a real robot. So when you learn to control the robot in the simulation, you will be able to control the robot in the real world. The simulation will generate the sensor data and publish them on some topics. Find out which topics. Print out some of the messages that are streamed on those topics.

Control the robot

ros2 launch uos_diffdrive_teleop key.launch

A window will open. As long as it is the activate window you can control the robot via the shown keys. Move the robot through the office world.

Visualize the Sensor Data

ros2 run rviz2 rviz2

or the shortcut:

rviz2

The robot is equipped with a laser scanner. Try to visualize the corresponding topic. Set the fixed frame to ‘base_link’. What a fixed frame is will be explained soon. Move the robot around and see how the sensor data changes. RViz will be used with the real robot to monitor processes. Gazebo not.

Use the sensor data

Write a node that filters noise from the scan. Subscribe to the topic scan, average the distances with the direct neighboring measurements (average of 3 measurements in total) and publish the results on a new topic scan_filtered. Visualize the results with RViz.

Point Clouds

Messages on the topic are in polar coordinates. Write a node that converts the LaserScan to a PointCloud2 message and publishes it on the topic scan_cloud. Don’t use external libraries for the conversions. Copy the header of the LaserScan message to the header of the PointCloud2 message. After publishing, visualize the results with RViz.

TF

Make yourself familiar with the concept of transformations. Visualize the transformations via RViz. In ROS2 there is a library called tf2 that handles all the transformations. Internally they present all the transformations as a tree. You can visualize it by calling

ros2 run rqt_tf_tree rqt_tf_tree

If it’s not installed you can install it via sudo apt install ros-humble-rqt-tf-tree. Read the docs: https://docs.ros.org/en/foxy/Tutorials/Intermediate/Tf2/Introduction-To-Tf2.html

Every piece of sensor data was recorded in a certain reference system at a certain time. Therefore, sensor data messages usually have a field std_msgs/Header:

...
string frame_id
time stamp

Sometimes messages have the postfix Stamped if they are extending a message only by a header. For example, there is a message geometry_msgs/Point:

float64 x
float64 y
float64 z

And the corresponding geometry_msgs/PointStamped:

std_msgs/Header header
geometry_msgs/Point point

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

No direct 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 ex02_gazebo_simulation at Robotics Stack Exchange

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

Package Summary

Tags No category tags.
Version 0.0.0
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description Tutorials for the KBS robotics labs
Checkout URI https://github.com/uos/ros2_tutorial.git
VCS Type git
VCS Version main
Last Updated 2025-05-06
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Use simulated ceres robot. LaserScans and PointClouds. Learn TF.

Additional Links

No additional links.

Maintainers

  • Alexander Mock

Authors

  • Alexander Mock

ex02_gazebo_simulation

Download

Git-Clone the following packages into your ROS-workspace src directory using git: You will need some package to run the simulation of the robot. The same software packages are installed on the robot as well.

  • https://github.com/uos/ceres_robot
  • https://github.com/uos/uos_tools
  • https://github.com/uos/epos2_motor_controller
  • https://github.com/uos/volksbot_driver

The current main branch of those software packages should be compatible with ROS2 humble. To make sure, switch all the repositories to “humble” branch instead: Go to a cloned repository folder and run git checkout humble. After you did that for every repository, compile your workspace. If errors occur:

  • ROS-Package is missing: sudo apt-get install ros-humble-MISSING-PACKAGE
  • System package is missing: sudo apt-get install libftdipp1-dev

What to do when packages are missing?

Let’s assume the package missing_package is missing from your computer. Try to install it in this order, finish when one command has succeeded:

  1. Install via apt: sudo apt install ros-humble-missing-package
  2. Install via Github: Search for the package on github. Check if it’s a valid ROS2-humble package. Download missing_package into your src-folder and compile it
  3. Install via Gitlab: Search for the package on UOS-Gitlab. Check if it’s a valid ROS2-humble package. Download missing_package into your src-folder and compile it
  4. Go to Alex

Run the Simulation

ros2 launch ceres_gazebo ceres_gazebo_launch.py

A graphical interface starts with a robot in it, spawned in an office environment. Try to add a cube. Try to move the robot. Make yourself familiar with the functionalities. The simulation, as the name tells, simulates a real robot. So when you learn to control the robot in the simulation, you will be able to control the robot in the real world. The simulation will generate the sensor data and publish them on some topics. Find out which topics. Print out some of the messages that are streamed on those topics.

Control the robot

ros2 launch uos_diffdrive_teleop key.launch

A window will open. As long as it is the activate window you can control the robot via the shown keys. Move the robot through the office world.

Visualize the Sensor Data

ros2 run rviz2 rviz2

or the shortcut:

rviz2

The robot is equipped with a laser scanner. Try to visualize the corresponding topic. Set the fixed frame to ‘base_link’. What a fixed frame is will be explained soon. Move the robot around and see how the sensor data changes. RViz will be used with the real robot to monitor processes. Gazebo not.

Use the sensor data

Write a node that filters noise from the scan. Subscribe to the topic scan, average the distances with the direct neighboring measurements (average of 3 measurements in total) and publish the results on a new topic scan_filtered. Visualize the results with RViz.

Point Clouds

Messages on the topic are in polar coordinates. Write a node that converts the LaserScan to a PointCloud2 message and publishes it on the topic scan_cloud. Don’t use external libraries for the conversions. Copy the header of the LaserScan message to the header of the PointCloud2 message. After publishing, visualize the results with RViz.

TF

Make yourself familiar with the concept of transformations. Visualize the transformations via RViz. In ROS2 there is a library called tf2 that handles all the transformations. Internally they present all the transformations as a tree. You can visualize it by calling

ros2 run rqt_tf_tree rqt_tf_tree

If it’s not installed you can install it via sudo apt install ros-humble-rqt-tf-tree. Read the docs: https://docs.ros.org/en/foxy/Tutorials/Intermediate/Tf2/Introduction-To-Tf2.html

Every piece of sensor data was recorded in a certain reference system at a certain time. Therefore, sensor data messages usually have a field std_msgs/Header:

...
string frame_id
time stamp

Sometimes messages have the postfix Stamped if they are extending a message only by a header. For example, there is a message geometry_msgs/Point:

float64 x
float64 y
float64 z

And the corresponding geometry_msgs/PointStamped:

std_msgs/Header header
geometry_msgs/Point point

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

No direct 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 ex02_gazebo_simulation at Robotics Stack Exchange