Wraps MuJoCo cameras for publishing ROS 2 RGB-D streams.
More...
#include <mujoco_cameras.hpp>
|
| | MujocoCameras (rclcpp::Node::SharedPtr node, std::recursive_mutex *sim_mutex, mjData *mujoco_data, mjModel *mujoco_model, double camera_publish_rate) |
| | Constructs a new MujocoCameras wrapper object.
|
| |
| void | init (GlfwInitFn glfw_init_fn=glfwInit) |
| | Starts the image processing thread in the background.
|
| |
|
void | close () |
| | Stops the camera processing thread and closes the relevant objects, call before shutdown.
|
| |
|
void | register_cameras (const hardware_interface::HardwareInfo &hardware_info) |
| | Parses camera information from the mujoco model.
|
| |
Wraps MuJoCo cameras for publishing ROS 2 RGB-D streams.
◆ GlfwInitFn
Signature of the GLFW initializer; injectable for testing.
◆ MujocoCameras()
| mujoco_ros2_control::MujocoCameras::MujocoCameras |
( |
rclcpp::Node::SharedPtr |
node, |
|
|
std::recursive_mutex * |
sim_mutex, |
|
|
mjData * |
mujoco_data, |
|
|
mjModel * |
mujoco_model, |
|
|
double |
camera_publish_rate |
|
) |
| |
|
explicit |
Constructs a new MujocoCameras wrapper object.
- Parameters
-
| node | Will be used to construct image publishers |
| sim_mutex | Provides synchronized access to the mujoco_data object for rendering |
| mujoco_data | MuJoCo data for the simulation |
| mujoco_model | MuJoCo model for the simulation |
| camera_publish_rate | The rate to publish all camera images, for now all images are published at the same rate. |
◆ init()
| void mujoco_ros2_control::MujocoCameras::init |
( |
GlfwInitFn |
glfw_init_fn = glfwInit | ) |
|
Starts the image processing thread in the background.
Does nothing when no cameras have been registered. The background thread will initialize its own offscreen GLFW context for rendering images that is separate from the Simulate application, as the context must be created in the running thread.
- Parameters
-
| glfw_init_fn | Callable used to initialize GLFW; defaults to ::glfwInit. Override in tests to simulate a display-capable environment without a real GPU. |
The documentation for this class was generated from the following files:
- mujoco_ros2_control/mujoco_ros2_control/include/mujoco_ros2_control/mujoco_cameras.hpp
- mujoco_ros2_control/mujoco_ros2_control/src/mujoco_cameras.cpp