![]() |
camera_ros package from camera_ros repocamera_ros |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.4.0 |
License | MIT |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/christianrauch/camera_ros.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-05-21 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Christian Rauch
Authors
ROS 2 node for libcamera
This ROS 2 node provides support for a variety of cameras via libcamera. Amongst others, this node supports V4L2 and Raspberry Pi cameras.
Installation
Binary packages are available via the ROS package repository for some Linux and ROS distributions (check with rosdep resolve camera_ros
). If it’s available, you can install the DEB or RPM packages via:
# source a ROS distribution
source /opt/ros/$ROS_DISTRO/setup.bash
# DEB package
sudo apt install ros-$ROS_DISTRO-camera-ros
# RPM package
sudo dnf install ros-$ROS_DISTRO-camera-ros
[!NOTE] This also installs the package
libcamera
as dependency. This is the bloomed version of the official upstream repo at https://git.libcamera.org/libcamera/libcamera.git and may not contain full support for all Raspberry Pi camera modules. If you need full camera module support on Raspberry Pi, you have to build the “raspberrypi” fork from https://github.com/raspberrypi/libcamera manually.
Build Instructions
libcamera
The camera_ros
node depends on libcamera version 0.1 or later. There are different ways to install this dependency:
-
System Package: Most Linux distributions provide a binary libcamera package. However, the Raspberry Pi OS uses a custom libcamera fork with additional support for newer camera modules. When using the distribution packages, you have to skip the
libcamera
rosdep key when resolving dependencies (rosdep install [...] --skip-keys=libcamera
). -
ROS Package: You can also install a newer version from the ROS repo (package
ros-$ROS_DISTRO-libcamera
). This package will be installed by default when buildingcamera_ros
from source and resolving the rosdep keys. -
Source: Finally, you can always build libcamera from source. This is currently the only option for using the “raspberrypi” fork on Ubuntu. You can build libcamera as part of the ROS workspace using
colcon-meson
. This is recommended over a system-wide installation as it avoids conflicts with the system package. You will need to install the following dependencies:- Install the libcamera build dependencies according to https://libcamera.org/getting-started.html#dependencies.
- Install
colcon-meson
via the package manager,sudo apt install -y python3-colcon-meson
, or pip,pip install colcon-meson
.
camera_ros
The camera_ros
package is built together with libcamera in a colcon workspace:
# create workspace
mkdir -p ~/camera_ws/src
cd ~/camera_ws/src
# check out libcamera
sudo apt -y install python3-colcon-meson
# Option A: official upstream
git clone https://git.libcamera.org/libcamera/libcamera.git
# Option B: raspberrypi fork with support for newer camera modules
# git clone https://github.com/raspberrypi/libcamera.git
# check out this camera_ros repository
git clone https://github.com/christianrauch/camera_ros.git
# resolve binary dependencies and build workspace
source /opt/ros/$ROS_DISTRO/setup.bash
cd ~/camera_ws/
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO --skip-keys=libcamera
colcon build --event-handlers=console_direct+
If you are using a binary distribution of libcamera, you can skip adding this to the workspace. Additionally, if you want to use the bloomed libcamera package in the ROS repos, you can also omit --skip-keys=libcamera
and have this binary dependency resolved automatically.
Launching the Node
The package provides a standalone node executable:
ros2 run camera_ros camera_node
a composable node (camera::CameraNode
):
ros2 component standalone camera_ros camera::CameraNode
and an example launch file for the composable node:
ros2 launch camera_ros camera.launch.py
Interfaces
The camera node interfaces are compatible with the image_pipeline
stack. The node publishes the camera images and camera parameters and provides a service to set the camera parameters.
Topics
name | type | description |
---|---|---|
~/image_raw |
sensor_msgs/msg/Image |
image |
~/image_raw/compressed |
sensor_msgs/msg/CompressedImage |
image (compressed) |
~/camera_info |
sensor_msgs/msg/CameraInfo |
camera parameters |
Services
name | type | description |
---|---|---|
~/set_camera_info |
sensor_msgs/srv/SetCameraInfo |
set camera parameters |
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
clang-format |
Dependant Packages
Name | Deps |
---|---|
apriltag_ros |
Launch files
Messages
Services
Plugins
Recent questions tagged camera_ros at Robotics Stack Exchange
![]() |
camera_ros package from camera_ros repocamera_ros |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.4.0 |
License | MIT |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/christianrauch/camera_ros.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-05-21 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Christian Rauch
Authors
ROS 2 node for libcamera
This ROS 2 node provides support for a variety of cameras via libcamera. Amongst others, this node supports V4L2 and Raspberry Pi cameras.
Installation
Binary packages are available via the ROS package repository for some Linux and ROS distributions (check with rosdep resolve camera_ros
). If it’s available, you can install the DEB or RPM packages via:
# source a ROS distribution
source /opt/ros/$ROS_DISTRO/setup.bash
# DEB package
sudo apt install ros-$ROS_DISTRO-camera-ros
# RPM package
sudo dnf install ros-$ROS_DISTRO-camera-ros
[!NOTE] This also installs the package
libcamera
as dependency. This is the bloomed version of the official upstream repo at https://git.libcamera.org/libcamera/libcamera.git and may not contain full support for all Raspberry Pi camera modules. If you need full camera module support on Raspberry Pi, you have to build the “raspberrypi” fork from https://github.com/raspberrypi/libcamera manually.
Build Instructions
libcamera
The camera_ros
node depends on libcamera version 0.1 or later. There are different ways to install this dependency:
-
System Package: Most Linux distributions provide a binary libcamera package. However, the Raspberry Pi OS uses a custom libcamera fork with additional support for newer camera modules. When using the distribution packages, you have to skip the
libcamera
rosdep key when resolving dependencies (rosdep install [...] --skip-keys=libcamera
). -
ROS Package: You can also install a newer version from the ROS repo (package
ros-$ROS_DISTRO-libcamera
). This package will be installed by default when buildingcamera_ros
from source and resolving the rosdep keys. -
Source: Finally, you can always build libcamera from source. This is currently the only option for using the “raspberrypi” fork on Ubuntu. You can build libcamera as part of the ROS workspace using
colcon-meson
. This is recommended over a system-wide installation as it avoids conflicts with the system package. You will need to install the following dependencies:- Install the libcamera build dependencies according to https://libcamera.org/getting-started.html#dependencies.
- Install
colcon-meson
via the package manager,sudo apt install -y python3-colcon-meson
, or pip,pip install colcon-meson
.
camera_ros
The camera_ros
package is built together with libcamera in a colcon workspace:
# create workspace
mkdir -p ~/camera_ws/src
cd ~/camera_ws/src
# check out libcamera
sudo apt -y install python3-colcon-meson
# Option A: official upstream
git clone https://git.libcamera.org/libcamera/libcamera.git
# Option B: raspberrypi fork with support for newer camera modules
# git clone https://github.com/raspberrypi/libcamera.git
# check out this camera_ros repository
git clone https://github.com/christianrauch/camera_ros.git
# resolve binary dependencies and build workspace
source /opt/ros/$ROS_DISTRO/setup.bash
cd ~/camera_ws/
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO --skip-keys=libcamera
colcon build --event-handlers=console_direct+
If you are using a binary distribution of libcamera, you can skip adding this to the workspace. Additionally, if you want to use the bloomed libcamera package in the ROS repos, you can also omit --skip-keys=libcamera
and have this binary dependency resolved automatically.
Launching the Node
The package provides a standalone node executable:
ros2 run camera_ros camera_node
a composable node (camera::CameraNode
):
ros2 component standalone camera_ros camera::CameraNode
and an example launch file for the composable node:
ros2 launch camera_ros camera.launch.py
Interfaces
The camera node interfaces are compatible with the image_pipeline
stack. The node publishes the camera images and camera parameters and provides a service to set the camera parameters.
Topics
name | type | description |
---|---|---|
~/image_raw |
sensor_msgs/msg/Image |
image |
~/image_raw/compressed |
sensor_msgs/msg/CompressedImage |
image (compressed) |
~/camera_info |
sensor_msgs/msg/CameraInfo |
camera parameters |
Services
name | type | description |
---|---|---|
~/set_camera_info |
sensor_msgs/srv/SetCameraInfo |
set camera parameters |
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
clang-format |
Dependant Packages
Name | Deps |
---|---|
apriltag_ros |
Launch files
Messages
Services
Plugins
Recent questions tagged camera_ros at Robotics Stack Exchange
![]() |
camera_ros package from camera_ros repocamera_ros |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.4.0 |
License | MIT |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/christianrauch/camera_ros.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-05-21 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Christian Rauch
Authors
ROS 2 node for libcamera
This ROS 2 node provides support for a variety of cameras via libcamera. Amongst others, this node supports V4L2 and Raspberry Pi cameras.
Installation
Binary packages are available via the ROS package repository for some Linux and ROS distributions (check with rosdep resolve camera_ros
). If it’s available, you can install the DEB or RPM packages via:
# source a ROS distribution
source /opt/ros/$ROS_DISTRO/setup.bash
# DEB package
sudo apt install ros-$ROS_DISTRO-camera-ros
# RPM package
sudo dnf install ros-$ROS_DISTRO-camera-ros
[!NOTE] This also installs the package
libcamera
as dependency. This is the bloomed version of the official upstream repo at https://git.libcamera.org/libcamera/libcamera.git and may not contain full support for all Raspberry Pi camera modules. If you need full camera module support on Raspberry Pi, you have to build the “raspberrypi” fork from https://github.com/raspberrypi/libcamera manually.
Build Instructions
libcamera
The camera_ros
node depends on libcamera version 0.1 or later. There are different ways to install this dependency:
-
System Package: Most Linux distributions provide a binary libcamera package. However, the Raspberry Pi OS uses a custom libcamera fork with additional support for newer camera modules. When using the distribution packages, you have to skip the
libcamera
rosdep key when resolving dependencies (rosdep install [...] --skip-keys=libcamera
). -
ROS Package: You can also install a newer version from the ROS repo (package
ros-$ROS_DISTRO-libcamera
). This package will be installed by default when buildingcamera_ros
from source and resolving the rosdep keys. -
Source: Finally, you can always build libcamera from source. This is currently the only option for using the “raspberrypi” fork on Ubuntu. You can build libcamera as part of the ROS workspace using
colcon-meson
. This is recommended over a system-wide installation as it avoids conflicts with the system package. You will need to install the following dependencies:- Install the libcamera build dependencies according to https://libcamera.org/getting-started.html#dependencies.
- Install
colcon-meson
via the package manager,sudo apt install -y python3-colcon-meson
, or pip,pip install colcon-meson
.
camera_ros
The camera_ros
package is built together with libcamera in a colcon workspace:
# create workspace
mkdir -p ~/camera_ws/src
cd ~/camera_ws/src
# check out libcamera
sudo apt -y install python3-colcon-meson
# Option A: official upstream
git clone https://git.libcamera.org/libcamera/libcamera.git
# Option B: raspberrypi fork with support for newer camera modules
# git clone https://github.com/raspberrypi/libcamera.git
# check out this camera_ros repository
git clone https://github.com/christianrauch/camera_ros.git
# resolve binary dependencies and build workspace
source /opt/ros/$ROS_DISTRO/setup.bash
cd ~/camera_ws/
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO --skip-keys=libcamera
colcon build --event-handlers=console_direct+
If you are using a binary distribution of libcamera, you can skip adding this to the workspace. Additionally, if you want to use the bloomed libcamera package in the ROS repos, you can also omit --skip-keys=libcamera
and have this binary dependency resolved automatically.
Launching the Node
The package provides a standalone node executable:
ros2 run camera_ros camera_node
a composable node (camera::CameraNode
):
ros2 component standalone camera_ros camera::CameraNode
and an example launch file for the composable node:
ros2 launch camera_ros camera.launch.py
Interfaces
The camera node interfaces are compatible with the image_pipeline
stack. The node publishes the camera images and camera parameters and provides a service to set the camera parameters.
Topics
name | type | description |
---|---|---|
~/image_raw |
sensor_msgs/msg/Image |
image |
~/image_raw/compressed |
sensor_msgs/msg/CompressedImage |
image (compressed) |
~/camera_info |
sensor_msgs/msg/CameraInfo |
camera parameters |
Services
name | type | description |
---|---|---|
~/set_camera_info |
sensor_msgs/srv/SetCameraInfo |
set camera parameters |
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
clang-format |
Dependant Packages
Name | Deps |
---|---|
apriltag_ros |
Launch files
Messages
Services
Plugins
Recent questions tagged camera_ros at Robotics Stack Exchange
![]() |
camera_ros package from camera_ros repocamera_ros |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.4.0 |
License | MIT |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/christianrauch/camera_ros.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-05-21 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Christian Rauch
Authors
ROS 2 node for libcamera
This ROS 2 node provides support for a variety of cameras via libcamera. Amongst others, this node supports V4L2 and Raspberry Pi cameras.
Installation
Binary packages are available via the ROS package repository for some Linux and ROS distributions (check with rosdep resolve camera_ros
). If it’s available, you can install the DEB or RPM packages via:
# source a ROS distribution
source /opt/ros/$ROS_DISTRO/setup.bash
# DEB package
sudo apt install ros-$ROS_DISTRO-camera-ros
# RPM package
sudo dnf install ros-$ROS_DISTRO-camera-ros
[!NOTE] This also installs the package
libcamera
as dependency. This is the bloomed version of the official upstream repo at https://git.libcamera.org/libcamera/libcamera.git and may not contain full support for all Raspberry Pi camera modules. If you need full camera module support on Raspberry Pi, you have to build the “raspberrypi” fork from https://github.com/raspberrypi/libcamera manually.
Build Instructions
libcamera
The camera_ros
node depends on libcamera version 0.1 or later. There are different ways to install this dependency:
-
System Package: Most Linux distributions provide a binary libcamera package. However, the Raspberry Pi OS uses a custom libcamera fork with additional support for newer camera modules. When using the distribution packages, you have to skip the
libcamera
rosdep key when resolving dependencies (rosdep install [...] --skip-keys=libcamera
). -
ROS Package: You can also install a newer version from the ROS repo (package
ros-$ROS_DISTRO-libcamera
). This package will be installed by default when buildingcamera_ros
from source and resolving the rosdep keys. -
Source: Finally, you can always build libcamera from source. This is currently the only option for using the “raspberrypi” fork on Ubuntu. You can build libcamera as part of the ROS workspace using
colcon-meson
. This is recommended over a system-wide installation as it avoids conflicts with the system package. You will need to install the following dependencies:- Install the libcamera build dependencies according to https://libcamera.org/getting-started.html#dependencies.
- Install
colcon-meson
via the package manager,sudo apt install -y python3-colcon-meson
, or pip,pip install colcon-meson
.
camera_ros
The camera_ros
package is built together with libcamera in a colcon workspace:
# create workspace
mkdir -p ~/camera_ws/src
cd ~/camera_ws/src
# check out libcamera
sudo apt -y install python3-colcon-meson
# Option A: official upstream
git clone https://git.libcamera.org/libcamera/libcamera.git
# Option B: raspberrypi fork with support for newer camera modules
# git clone https://github.com/raspberrypi/libcamera.git
# check out this camera_ros repository
git clone https://github.com/christianrauch/camera_ros.git
# resolve binary dependencies and build workspace
source /opt/ros/$ROS_DISTRO/setup.bash
cd ~/camera_ws/
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO --skip-keys=libcamera
colcon build --event-handlers=console_direct+
If you are using a binary distribution of libcamera, you can skip adding this to the workspace. Additionally, if you want to use the bloomed libcamera package in the ROS repos, you can also omit --skip-keys=libcamera
and have this binary dependency resolved automatically.
Launching the Node
The package provides a standalone node executable:
ros2 run camera_ros camera_node
a composable node (camera::CameraNode
):
ros2 component standalone camera_ros camera::CameraNode
and an example launch file for the composable node:
ros2 launch camera_ros camera.launch.py
Interfaces
The camera node interfaces are compatible with the image_pipeline
stack. The node publishes the camera images and camera parameters and provides a service to set the camera parameters.
Topics
name | type | description |
---|---|---|
~/image_raw |
sensor_msgs/msg/Image |
image |
~/image_raw/compressed |
sensor_msgs/msg/CompressedImage |
image (compressed) |
~/camera_info |
sensor_msgs/msg/CameraInfo |
camera parameters |
Services
name | type | description |
---|---|---|
~/set_camera_info |
sensor_msgs/srv/SetCameraInfo |
set camera parameters |
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
clang-format |
Dependant Packages
Name | Deps |
---|---|
apriltag_ros |
Launch files
Messages
Services
Plugins
Recent questions tagged camera_ros at Robotics Stack Exchange
![]() |
camera_ros package from camera_ros repocamera_ros |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.4.0 |
License | MIT |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/christianrauch/camera_ros.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-05-21 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Christian Rauch
Authors
ROS 2 node for libcamera
This ROS 2 node provides support for a variety of cameras via libcamera. Amongst others, this node supports V4L2 and Raspberry Pi cameras.
Installation
Binary packages are available via the ROS package repository for some Linux and ROS distributions (check with rosdep resolve camera_ros
). If it’s available, you can install the DEB or RPM packages via:
# source a ROS distribution
source /opt/ros/$ROS_DISTRO/setup.bash
# DEB package
sudo apt install ros-$ROS_DISTRO-camera-ros
# RPM package
sudo dnf install ros-$ROS_DISTRO-camera-ros
[!NOTE] This also installs the package
libcamera
as dependency. This is the bloomed version of the official upstream repo at https://git.libcamera.org/libcamera/libcamera.git and may not contain full support for all Raspberry Pi camera modules. If you need full camera module support on Raspberry Pi, you have to build the “raspberrypi” fork from https://github.com/raspberrypi/libcamera manually.
Build Instructions
libcamera
The camera_ros
node depends on libcamera version 0.1 or later. There are different ways to install this dependency:
-
System Package: Most Linux distributions provide a binary libcamera package. However, the Raspberry Pi OS uses a custom libcamera fork with additional support for newer camera modules. When using the distribution packages, you have to skip the
libcamera
rosdep key when resolving dependencies (rosdep install [...] --skip-keys=libcamera
). -
ROS Package: You can also install a newer version from the ROS repo (package
ros-$ROS_DISTRO-libcamera
). This package will be installed by default when buildingcamera_ros
from source and resolving the rosdep keys. -
Source: Finally, you can always build libcamera from source. This is currently the only option for using the “raspberrypi” fork on Ubuntu. You can build libcamera as part of the ROS workspace using
colcon-meson
. This is recommended over a system-wide installation as it avoids conflicts with the system package. You will need to install the following dependencies:- Install the libcamera build dependencies according to https://libcamera.org/getting-started.html#dependencies.
- Install
colcon-meson
via the package manager,sudo apt install -y python3-colcon-meson
, or pip,pip install colcon-meson
.
camera_ros
The camera_ros
package is built together with libcamera in a colcon workspace:
# create workspace
mkdir -p ~/camera_ws/src
cd ~/camera_ws/src
# check out libcamera
sudo apt -y install python3-colcon-meson
# Option A: official upstream
git clone https://git.libcamera.org/libcamera/libcamera.git
# Option B: raspberrypi fork with support for newer camera modules
# git clone https://github.com/raspberrypi/libcamera.git
# check out this camera_ros repository
git clone https://github.com/christianrauch/camera_ros.git
# resolve binary dependencies and build workspace
source /opt/ros/$ROS_DISTRO/setup.bash
cd ~/camera_ws/
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO --skip-keys=libcamera
colcon build --event-handlers=console_direct+
If you are using a binary distribution of libcamera, you can skip adding this to the workspace. Additionally, if you want to use the bloomed libcamera package in the ROS repos, you can also omit --skip-keys=libcamera
and have this binary dependency resolved automatically.
Launching the Node
The package provides a standalone node executable:
ros2 run camera_ros camera_node
a composable node (camera::CameraNode
):
ros2 component standalone camera_ros camera::CameraNode
and an example launch file for the composable node:
ros2 launch camera_ros camera.launch.py
Interfaces
The camera node interfaces are compatible with the image_pipeline
stack. The node publishes the camera images and camera parameters and provides a service to set the camera parameters.
Topics
name | type | description |
---|---|---|
~/image_raw |
sensor_msgs/msg/Image |
image |
~/image_raw/compressed |
sensor_msgs/msg/CompressedImage |
image (compressed) |
~/camera_info |
sensor_msgs/msg/CameraInfo |
camera parameters |
Services
name | type | description |
---|---|---|
~/set_camera_info |
sensor_msgs/srv/SetCameraInfo |
set camera parameters |
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
clang-format |
Dependant Packages
Name | Deps |
---|---|
apriltag_ros |
Launch files
Messages
Services
Plugins
Recent questions tagged camera_ros at Robotics Stack Exchange
![]() |
camera_ros package from camera_ros repocamera_ros |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.4.0 |
License | MIT |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/christianrauch/camera_ros.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-05-21 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Christian Rauch
Authors
ROS 2 node for libcamera
This ROS 2 node provides support for a variety of cameras via libcamera. Amongst others, this node supports V4L2 and Raspberry Pi cameras.
Installation
Binary packages are available via the ROS package repository for some Linux and ROS distributions (check with rosdep resolve camera_ros
). If it’s available, you can install the DEB or RPM packages via:
# source a ROS distribution
source /opt/ros/$ROS_DISTRO/setup.bash
# DEB package
sudo apt install ros-$ROS_DISTRO-camera-ros
# RPM package
sudo dnf install ros-$ROS_DISTRO-camera-ros
[!NOTE] This also installs the package
libcamera
as dependency. This is the bloomed version of the official upstream repo at https://git.libcamera.org/libcamera/libcamera.git and may not contain full support for all Raspberry Pi camera modules. If you need full camera module support on Raspberry Pi, you have to build the “raspberrypi” fork from https://github.com/raspberrypi/libcamera manually.
Build Instructions
libcamera
The camera_ros
node depends on libcamera version 0.1 or later. There are different ways to install this dependency:
-
System Package: Most Linux distributions provide a binary libcamera package. However, the Raspberry Pi OS uses a custom libcamera fork with additional support for newer camera modules. When using the distribution packages, you have to skip the
libcamera
rosdep key when resolving dependencies (rosdep install [...] --skip-keys=libcamera
). -
ROS Package: You can also install a newer version from the ROS repo (package
ros-$ROS_DISTRO-libcamera
). This package will be installed by default when buildingcamera_ros
from source and resolving the rosdep keys. -
Source: Finally, you can always build libcamera from source. This is currently the only option for using the “raspberrypi” fork on Ubuntu. You can build libcamera as part of the ROS workspace using
colcon-meson
. This is recommended over a system-wide installation as it avoids conflicts with the system package. You will need to install the following dependencies:- Install the libcamera build dependencies according to https://libcamera.org/getting-started.html#dependencies.
- Install
colcon-meson
via the package manager,sudo apt install -y python3-colcon-meson
, or pip,pip install colcon-meson
.
camera_ros
The camera_ros
package is built together with libcamera in a colcon workspace:
# create workspace
mkdir -p ~/camera_ws/src
cd ~/camera_ws/src
# check out libcamera
sudo apt -y install python3-colcon-meson
# Option A: official upstream
git clone https://git.libcamera.org/libcamera/libcamera.git
# Option B: raspberrypi fork with support for newer camera modules
# git clone https://github.com/raspberrypi/libcamera.git
# check out this camera_ros repository
git clone https://github.com/christianrauch/camera_ros.git
# resolve binary dependencies and build workspace
source /opt/ros/$ROS_DISTRO/setup.bash
cd ~/camera_ws/
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO --skip-keys=libcamera
colcon build --event-handlers=console_direct+
If you are using a binary distribution of libcamera, you can skip adding this to the workspace. Additionally, if you want to use the bloomed libcamera package in the ROS repos, you can also omit --skip-keys=libcamera
and have this binary dependency resolved automatically.
Launching the Node
The package provides a standalone node executable:
ros2 run camera_ros camera_node
a composable node (camera::CameraNode
):
ros2 component standalone camera_ros camera::CameraNode
and an example launch file for the composable node:
ros2 launch camera_ros camera.launch.py
Interfaces
The camera node interfaces are compatible with the image_pipeline
stack. The node publishes the camera images and camera parameters and provides a service to set the camera parameters.
Topics
name | type | description |
---|---|---|
~/image_raw |
sensor_msgs/msg/Image |
image |
~/image_raw/compressed |
sensor_msgs/msg/CompressedImage |
image (compressed) |
~/camera_info |
sensor_msgs/msg/CameraInfo |
camera parameters |
Services
name | type | description |
---|---|---|
~/set_camera_info |
sensor_msgs/srv/SetCameraInfo |
set camera parameters |
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
clang-format |
Dependant Packages
Name | Deps |
---|---|
apriltag_ros |
Launch files
Messages
Services
Plugins
Recent questions tagged camera_ros at Robotics Stack Exchange
![]() |
camera_ros package from camera_ros repocamera_ros |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.4.0 |
License | MIT |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/christianrauch/camera_ros.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-05-21 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Christian Rauch
Authors
ROS 2 node for libcamera
This ROS 2 node provides support for a variety of cameras via libcamera. Amongst others, this node supports V4L2 and Raspberry Pi cameras.
Installation
Binary packages are available via the ROS package repository for some Linux and ROS distributions (check with rosdep resolve camera_ros
). If it’s available, you can install the DEB or RPM packages via:
# source a ROS distribution
source /opt/ros/$ROS_DISTRO/setup.bash
# DEB package
sudo apt install ros-$ROS_DISTRO-camera-ros
# RPM package
sudo dnf install ros-$ROS_DISTRO-camera-ros
[!NOTE] This also installs the package
libcamera
as dependency. This is the bloomed version of the official upstream repo at https://git.libcamera.org/libcamera/libcamera.git and may not contain full support for all Raspberry Pi camera modules. If you need full camera module support on Raspberry Pi, you have to build the “raspberrypi” fork from https://github.com/raspberrypi/libcamera manually.
Build Instructions
libcamera
The camera_ros
node depends on libcamera version 0.1 or later. There are different ways to install this dependency:
-
System Package: Most Linux distributions provide a binary libcamera package. However, the Raspberry Pi OS uses a custom libcamera fork with additional support for newer camera modules. When using the distribution packages, you have to skip the
libcamera
rosdep key when resolving dependencies (rosdep install [...] --skip-keys=libcamera
). -
ROS Package: You can also install a newer version from the ROS repo (package
ros-$ROS_DISTRO-libcamera
). This package will be installed by default when buildingcamera_ros
from source and resolving the rosdep keys. -
Source: Finally, you can always build libcamera from source. This is currently the only option for using the “raspberrypi” fork on Ubuntu. You can build libcamera as part of the ROS workspace using
colcon-meson
. This is recommended over a system-wide installation as it avoids conflicts with the system package. You will need to install the following dependencies:- Install the libcamera build dependencies according to https://libcamera.org/getting-started.html#dependencies.
- Install
colcon-meson
via the package manager,sudo apt install -y python3-colcon-meson
, or pip,pip install colcon-meson
.
camera_ros
The camera_ros
package is built together with libcamera in a colcon workspace:
# create workspace
mkdir -p ~/camera_ws/src
cd ~/camera_ws/src
# check out libcamera
sudo apt -y install python3-colcon-meson
# Option A: official upstream
git clone https://git.libcamera.org/libcamera/libcamera.git
# Option B: raspberrypi fork with support for newer camera modules
# git clone https://github.com/raspberrypi/libcamera.git
# check out this camera_ros repository
git clone https://github.com/christianrauch/camera_ros.git
# resolve binary dependencies and build workspace
source /opt/ros/$ROS_DISTRO/setup.bash
cd ~/camera_ws/
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO --skip-keys=libcamera
colcon build --event-handlers=console_direct+
If you are using a binary distribution of libcamera, you can skip adding this to the workspace. Additionally, if you want to use the bloomed libcamera package in the ROS repos, you can also omit --skip-keys=libcamera
and have this binary dependency resolved automatically.
Launching the Node
The package provides a standalone node executable:
ros2 run camera_ros camera_node
a composable node (camera::CameraNode
):
ros2 component standalone camera_ros camera::CameraNode
and an example launch file for the composable node:
ros2 launch camera_ros camera.launch.py
Interfaces
The camera node interfaces are compatible with the image_pipeline
stack. The node publishes the camera images and camera parameters and provides a service to set the camera parameters.
Topics
name | type | description |
---|---|---|
~/image_raw |
sensor_msgs/msg/Image |
image |
~/image_raw/compressed |
sensor_msgs/msg/CompressedImage |
image (compressed) |
~/camera_info |
sensor_msgs/msg/CameraInfo |
camera parameters |
Services
name | type | description |
---|---|---|
~/set_camera_info |
sensor_msgs/srv/SetCameraInfo |
set camera parameters |
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
clang-format |
Dependant Packages
Name | Deps |
---|---|
apriltag_ros |
Launch files
Messages
Services
Plugins
Recent questions tagged camera_ros at Robotics Stack Exchange
![]() |
camera_ros package from camera_ros repocamera_ros |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.4.0 |
License | MIT |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/christianrauch/camera_ros.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-05-21 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Christian Rauch
Authors
ROS 2 node for libcamera
This ROS 2 node provides support for a variety of cameras via libcamera. Amongst others, this node supports V4L2 and Raspberry Pi cameras.
Installation
Binary packages are available via the ROS package repository for some Linux and ROS distributions (check with rosdep resolve camera_ros
). If it’s available, you can install the DEB or RPM packages via:
# source a ROS distribution
source /opt/ros/$ROS_DISTRO/setup.bash
# DEB package
sudo apt install ros-$ROS_DISTRO-camera-ros
# RPM package
sudo dnf install ros-$ROS_DISTRO-camera-ros
[!NOTE] This also installs the package
libcamera
as dependency. This is the bloomed version of the official upstream repo at https://git.libcamera.org/libcamera/libcamera.git and may not contain full support for all Raspberry Pi camera modules. If you need full camera module support on Raspberry Pi, you have to build the “raspberrypi” fork from https://github.com/raspberrypi/libcamera manually.
Build Instructions
libcamera
The camera_ros
node depends on libcamera version 0.1 or later. There are different ways to install this dependency:
-
System Package: Most Linux distributions provide a binary libcamera package. However, the Raspberry Pi OS uses a custom libcamera fork with additional support for newer camera modules. When using the distribution packages, you have to skip the
libcamera
rosdep key when resolving dependencies (rosdep install [...] --skip-keys=libcamera
). -
ROS Package: You can also install a newer version from the ROS repo (package
ros-$ROS_DISTRO-libcamera
). This package will be installed by default when buildingcamera_ros
from source and resolving the rosdep keys. -
Source: Finally, you can always build libcamera from source. This is currently the only option for using the “raspberrypi” fork on Ubuntu. You can build libcamera as part of the ROS workspace using
colcon-meson
. This is recommended over a system-wide installation as it avoids conflicts with the system package. You will need to install the following dependencies:- Install the libcamera build dependencies according to https://libcamera.org/getting-started.html#dependencies.
- Install
colcon-meson
via the package manager,sudo apt install -y python3-colcon-meson
, or pip,pip install colcon-meson
.
camera_ros
The camera_ros
package is built together with libcamera in a colcon workspace:
# create workspace
mkdir -p ~/camera_ws/src
cd ~/camera_ws/src
# check out libcamera
sudo apt -y install python3-colcon-meson
# Option A: official upstream
git clone https://git.libcamera.org/libcamera/libcamera.git
# Option B: raspberrypi fork with support for newer camera modules
# git clone https://github.com/raspberrypi/libcamera.git
# check out this camera_ros repository
git clone https://github.com/christianrauch/camera_ros.git
# resolve binary dependencies and build workspace
source /opt/ros/$ROS_DISTRO/setup.bash
cd ~/camera_ws/
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO --skip-keys=libcamera
colcon build --event-handlers=console_direct+
If you are using a binary distribution of libcamera, you can skip adding this to the workspace. Additionally, if you want to use the bloomed libcamera package in the ROS repos, you can also omit --skip-keys=libcamera
and have this binary dependency resolved automatically.
Launching the Node
The package provides a standalone node executable:
ros2 run camera_ros camera_node
a composable node (camera::CameraNode
):
ros2 component standalone camera_ros camera::CameraNode
and an example launch file for the composable node:
ros2 launch camera_ros camera.launch.py
Interfaces
The camera node interfaces are compatible with the image_pipeline
stack. The node publishes the camera images and camera parameters and provides a service to set the camera parameters.
Topics
name | type | description |
---|---|---|
~/image_raw |
sensor_msgs/msg/Image |
image |
~/image_raw/compressed |
sensor_msgs/msg/CompressedImage |
image (compressed) |
~/camera_info |
sensor_msgs/msg/CameraInfo |
camera parameters |
Services
name | type | description |
---|---|---|
~/set_camera_info |
sensor_msgs/srv/SetCameraInfo |
set camera parameters |
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
clang-format |
Dependant Packages
Name | Deps |
---|---|
apriltag_ros |
Launch files
Messages
Services
Plugins
Recent questions tagged camera_ros at Robotics Stack Exchange
![]() |
camera_ros package from camera_ros repocamera_ros |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.4.0 |
License | MIT |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/christianrauch/camera_ros.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-05-21 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Christian Rauch
Authors
ROS 2 node for libcamera
This ROS 2 node provides support for a variety of cameras via libcamera. Amongst others, this node supports V4L2 and Raspberry Pi cameras.
Installation
Binary packages are available via the ROS package repository for some Linux and ROS distributions (check with rosdep resolve camera_ros
). If it’s available, you can install the DEB or RPM packages via:
# source a ROS distribution
source /opt/ros/$ROS_DISTRO/setup.bash
# DEB package
sudo apt install ros-$ROS_DISTRO-camera-ros
# RPM package
sudo dnf install ros-$ROS_DISTRO-camera-ros
[!NOTE] This also installs the package
libcamera
as dependency. This is the bloomed version of the official upstream repo at https://git.libcamera.org/libcamera/libcamera.git and may not contain full support for all Raspberry Pi camera modules. If you need full camera module support on Raspberry Pi, you have to build the “raspberrypi” fork from https://github.com/raspberrypi/libcamera manually.
Build Instructions
libcamera
The camera_ros
node depends on libcamera version 0.1 or later. There are different ways to install this dependency:
-
System Package: Most Linux distributions provide a binary libcamera package. However, the Raspberry Pi OS uses a custom libcamera fork with additional support for newer camera modules. When using the distribution packages, you have to skip the
libcamera
rosdep key when resolving dependencies (rosdep install [...] --skip-keys=libcamera
). -
ROS Package: You can also install a newer version from the ROS repo (package
ros-$ROS_DISTRO-libcamera
). This package will be installed by default when buildingcamera_ros
from source and resolving the rosdep keys. -
Source: Finally, you can always build libcamera from source. This is currently the only option for using the “raspberrypi” fork on Ubuntu. You can build libcamera as part of the ROS workspace using
colcon-meson
. This is recommended over a system-wide installation as it avoids conflicts with the system package. You will need to install the following dependencies:- Install the libcamera build dependencies according to https://libcamera.org/getting-started.html#dependencies.
- Install
colcon-meson
via the package manager,sudo apt install -y python3-colcon-meson
, or pip,pip install colcon-meson
.
camera_ros
The camera_ros
package is built together with libcamera in a colcon workspace:
# create workspace
mkdir -p ~/camera_ws/src
cd ~/camera_ws/src
# check out libcamera
sudo apt -y install python3-colcon-meson
# Option A: official upstream
git clone https://git.libcamera.org/libcamera/libcamera.git
# Option B: raspberrypi fork with support for newer camera modules
# git clone https://github.com/raspberrypi/libcamera.git
# check out this camera_ros repository
git clone https://github.com/christianrauch/camera_ros.git
# resolve binary dependencies and build workspace
source /opt/ros/$ROS_DISTRO/setup.bash
cd ~/camera_ws/
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO --skip-keys=libcamera
colcon build --event-handlers=console_direct+
If you are using a binary distribution of libcamera, you can skip adding this to the workspace. Additionally, if you want to use the bloomed libcamera package in the ROS repos, you can also omit --skip-keys=libcamera
and have this binary dependency resolved automatically.
Launching the Node
The package provides a standalone node executable:
ros2 run camera_ros camera_node
a composable node (camera::CameraNode
):
ros2 component standalone camera_ros camera::CameraNode
and an example launch file for the composable node:
ros2 launch camera_ros camera.launch.py
Interfaces
The camera node interfaces are compatible with the image_pipeline
stack. The node publishes the camera images and camera parameters and provides a service to set the camera parameters.
Topics
name | type | description |
---|---|---|
~/image_raw |
sensor_msgs/msg/Image |
image |
~/image_raw/compressed |
sensor_msgs/msg/CompressedImage |
image (compressed) |
~/camera_info |
sensor_msgs/msg/CameraInfo |
camera parameters |
Services
name | type | description |
---|---|---|
~/set_camera_info |
sensor_msgs/srv/SetCameraInfo |
set camera parameters |
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
clang-format |
Dependant Packages
Name | Deps |
---|---|
apriltag_ros |
Launch files
Messages
Services
Plugins
Recent questions tagged camera_ros at Robotics Stack Exchange
![]() |
camera_ros package from camera_ros repocamera_ros |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.4.0 |
License | MIT |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/christianrauch/camera_ros.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-05-21 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Christian Rauch
Authors
ROS 2 node for libcamera
This ROS 2 node provides support for a variety of cameras via libcamera. Amongst others, this node supports V4L2 and Raspberry Pi cameras.
Installation
Binary packages are available via the ROS package repository for some Linux and ROS distributions (check with rosdep resolve camera_ros
). If it’s available, you can install the DEB or RPM packages via:
# source a ROS distribution
source /opt/ros/$ROS_DISTRO/setup.bash
# DEB package
sudo apt install ros-$ROS_DISTRO-camera-ros
# RPM package
sudo dnf install ros-$ROS_DISTRO-camera-ros
[!NOTE] This also installs the package
libcamera
as dependency. This is the bloomed version of the official upstream repo at https://git.libcamera.org/libcamera/libcamera.git and may not contain full support for all Raspberry Pi camera modules. If you need full camera module support on Raspberry Pi, you have to build the “raspberrypi” fork from https://github.com/raspberrypi/libcamera manually.
Build Instructions
libcamera
The camera_ros
node depends on libcamera version 0.1 or later. There are different ways to install this dependency:
-
System Package: Most Linux distributions provide a binary libcamera package. However, the Raspberry Pi OS uses a custom libcamera fork with additional support for newer camera modules. When using the distribution packages, you have to skip the
libcamera
rosdep key when resolving dependencies (rosdep install [...] --skip-keys=libcamera
). -
ROS Package: You can also install a newer version from the ROS repo (package
ros-$ROS_DISTRO-libcamera
). This package will be installed by default when buildingcamera_ros
from source and resolving the rosdep keys. -
Source: Finally, you can always build libcamera from source. This is currently the only option for using the “raspberrypi” fork on Ubuntu. You can build libcamera as part of the ROS workspace using
colcon-meson
. This is recommended over a system-wide installation as it avoids conflicts with the system package. You will need to install the following dependencies:- Install the libcamera build dependencies according to https://libcamera.org/getting-started.html#dependencies.
- Install
colcon-meson
via the package manager,sudo apt install -y python3-colcon-meson
, or pip,pip install colcon-meson
.
camera_ros
The camera_ros
package is built together with libcamera in a colcon workspace:
# create workspace
mkdir -p ~/camera_ws/src
cd ~/camera_ws/src
# check out libcamera
sudo apt -y install python3-colcon-meson
# Option A: official upstream
git clone https://git.libcamera.org/libcamera/libcamera.git
# Option B: raspberrypi fork with support for newer camera modules
# git clone https://github.com/raspberrypi/libcamera.git
# check out this camera_ros repository
git clone https://github.com/christianrauch/camera_ros.git
# resolve binary dependencies and build workspace
source /opt/ros/$ROS_DISTRO/setup.bash
cd ~/camera_ws/
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO --skip-keys=libcamera
colcon build --event-handlers=console_direct+
If you are using a binary distribution of libcamera, you can skip adding this to the workspace. Additionally, if you want to use the bloomed libcamera package in the ROS repos, you can also omit --skip-keys=libcamera
and have this binary dependency resolved automatically.
Launching the Node
The package provides a standalone node executable:
ros2 run camera_ros camera_node
a composable node (camera::CameraNode
):
ros2 component standalone camera_ros camera::CameraNode
and an example launch file for the composable node:
ros2 launch camera_ros camera.launch.py
Interfaces
The camera node interfaces are compatible with the image_pipeline
stack. The node publishes the camera images and camera parameters and provides a service to set the camera parameters.
Topics
name | type | description |
---|---|---|
~/image_raw |
sensor_msgs/msg/Image |
image |
~/image_raw/compressed |
sensor_msgs/msg/CompressedImage |
image (compressed) |
~/camera_info |
sensor_msgs/msg/CameraInfo |
camera parameters |
Services
name | type | description |
---|---|---|
~/set_camera_info |
sensor_msgs/srv/SetCameraInfo |
set camera parameters |
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
clang-format |
Dependant Packages
Name | Deps |
---|---|
apriltag_ros |
Launch files
Messages
Services
Plugins
Recent questions tagged camera_ros at Robotics Stack Exchange
![]() |
camera_ros package from camera_ros repocamera_ros |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.4.0 |
License | MIT |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/christianrauch/camera_ros.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-05-21 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Christian Rauch
Authors
ROS 2 node for libcamera
This ROS 2 node provides support for a variety of cameras via libcamera. Amongst others, this node supports V4L2 and Raspberry Pi cameras.
Installation
Binary packages are available via the ROS package repository for some Linux and ROS distributions (check with rosdep resolve camera_ros
). If it’s available, you can install the DEB or RPM packages via:
# source a ROS distribution
source /opt/ros/$ROS_DISTRO/setup.bash
# DEB package
sudo apt install ros-$ROS_DISTRO-camera-ros
# RPM package
sudo dnf install ros-$ROS_DISTRO-camera-ros
[!NOTE] This also installs the package
libcamera
as dependency. This is the bloomed version of the official upstream repo at https://git.libcamera.org/libcamera/libcamera.git and may not contain full support for all Raspberry Pi camera modules. If you need full camera module support on Raspberry Pi, you have to build the “raspberrypi” fork from https://github.com/raspberrypi/libcamera manually.
Build Instructions
libcamera
The camera_ros
node depends on libcamera version 0.1 or later. There are different ways to install this dependency:
-
System Package: Most Linux distributions provide a binary libcamera package. However, the Raspberry Pi OS uses a custom libcamera fork with additional support for newer camera modules. When using the distribution packages, you have to skip the
libcamera
rosdep key when resolving dependencies (rosdep install [...] --skip-keys=libcamera
). -
ROS Package: You can also install a newer version from the ROS repo (package
ros-$ROS_DISTRO-libcamera
). This package will be installed by default when buildingcamera_ros
from source and resolving the rosdep keys. -
Source: Finally, you can always build libcamera from source. This is currently the only option for using the “raspberrypi” fork on Ubuntu. You can build libcamera as part of the ROS workspace using
colcon-meson
. This is recommended over a system-wide installation as it avoids conflicts with the system package. You will need to install the following dependencies:- Install the libcamera build dependencies according to https://libcamera.org/getting-started.html#dependencies.
- Install
colcon-meson
via the package manager,sudo apt install -y python3-colcon-meson
, or pip,pip install colcon-meson
.
camera_ros
The camera_ros
package is built together with libcamera in a colcon workspace:
# create workspace
mkdir -p ~/camera_ws/src
cd ~/camera_ws/src
# check out libcamera
sudo apt -y install python3-colcon-meson
# Option A: official upstream
git clone https://git.libcamera.org/libcamera/libcamera.git
# Option B: raspberrypi fork with support for newer camera modules
# git clone https://github.com/raspberrypi/libcamera.git
# check out this camera_ros repository
git clone https://github.com/christianrauch/camera_ros.git
# resolve binary dependencies and build workspace
source /opt/ros/$ROS_DISTRO/setup.bash
cd ~/camera_ws/
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO --skip-keys=libcamera
colcon build --event-handlers=console_direct+
If you are using a binary distribution of libcamera, you can skip adding this to the workspace. Additionally, if you want to use the bloomed libcamera package in the ROS repos, you can also omit --skip-keys=libcamera
and have this binary dependency resolved automatically.
Launching the Node
The package provides a standalone node executable:
ros2 run camera_ros camera_node
a composable node (camera::CameraNode
):
ros2 component standalone camera_ros camera::CameraNode
and an example launch file for the composable node:
ros2 launch camera_ros camera.launch.py
Interfaces
The camera node interfaces are compatible with the image_pipeline
stack. The node publishes the camera images and camera parameters and provides a service to set the camera parameters.
Topics
name | type | description |
---|---|---|
~/image_raw |
sensor_msgs/msg/Image |
image |
~/image_raw/compressed |
sensor_msgs/msg/CompressedImage |
image (compressed) |
~/camera_info |
sensor_msgs/msg/CameraInfo |
camera parameters |
Services
name | type | description |
---|---|---|
~/set_camera_info |
sensor_msgs/srv/SetCameraInfo |
set camera parameters |
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
clang-format |
Dependant Packages
Name | Deps |
---|---|
apriltag_ros |
Launch files
Messages
Services
Plugins
Recent questions tagged camera_ros at Robotics Stack Exchange
![]() |
camera_ros package from camera_ros repocamera_ros |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.4.0 |
License | MIT |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/christianrauch/camera_ros.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-05-21 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Christian Rauch
Authors
ROS 2 node for libcamera
This ROS 2 node provides support for a variety of cameras via libcamera. Amongst others, this node supports V4L2 and Raspberry Pi cameras.
Installation
Binary packages are available via the ROS package repository for some Linux and ROS distributions (check with rosdep resolve camera_ros
). If it’s available, you can install the DEB or RPM packages via:
# source a ROS distribution
source /opt/ros/$ROS_DISTRO/setup.bash
# DEB package
sudo apt install ros-$ROS_DISTRO-camera-ros
# RPM package
sudo dnf install ros-$ROS_DISTRO-camera-ros
[!NOTE] This also installs the package
libcamera
as dependency. This is the bloomed version of the official upstream repo at https://git.libcamera.org/libcamera/libcamera.git and may not contain full support for all Raspberry Pi camera modules. If you need full camera module support on Raspberry Pi, you have to build the “raspberrypi” fork from https://github.com/raspberrypi/libcamera manually.
Build Instructions
libcamera
The camera_ros
node depends on libcamera version 0.1 or later. There are different ways to install this dependency:
-
System Package: Most Linux distributions provide a binary libcamera package. However, the Raspberry Pi OS uses a custom libcamera fork with additional support for newer camera modules. When using the distribution packages, you have to skip the
libcamera
rosdep key when resolving dependencies (rosdep install [...] --skip-keys=libcamera
). -
ROS Package: You can also install a newer version from the ROS repo (package
ros-$ROS_DISTRO-libcamera
). This package will be installed by default when buildingcamera_ros
from source and resolving the rosdep keys. -
Source: Finally, you can always build libcamera from source. This is currently the only option for using the “raspberrypi” fork on Ubuntu. You can build libcamera as part of the ROS workspace using
colcon-meson
. This is recommended over a system-wide installation as it avoids conflicts with the system package. You will need to install the following dependencies:- Install the libcamera build dependencies according to https://libcamera.org/getting-started.html#dependencies.
- Install
colcon-meson
via the package manager,sudo apt install -y python3-colcon-meson
, or pip,pip install colcon-meson
.
camera_ros
The camera_ros
package is built together with libcamera in a colcon workspace:
# create workspace
mkdir -p ~/camera_ws/src
cd ~/camera_ws/src
# check out libcamera
sudo apt -y install python3-colcon-meson
# Option A: official upstream
git clone https://git.libcamera.org/libcamera/libcamera.git
# Option B: raspberrypi fork with support for newer camera modules
# git clone https://github.com/raspberrypi/libcamera.git
# check out this camera_ros repository
git clone https://github.com/christianrauch/camera_ros.git
# resolve binary dependencies and build workspace
source /opt/ros/$ROS_DISTRO/setup.bash
cd ~/camera_ws/
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO --skip-keys=libcamera
colcon build --event-handlers=console_direct+
If you are using a binary distribution of libcamera, you can skip adding this to the workspace. Additionally, if you want to use the bloomed libcamera package in the ROS repos, you can also omit --skip-keys=libcamera
and have this binary dependency resolved automatically.
Launching the Node
The package provides a standalone node executable:
ros2 run camera_ros camera_node
a composable node (camera::CameraNode
):
ros2 component standalone camera_ros camera::CameraNode
and an example launch file for the composable node:
ros2 launch camera_ros camera.launch.py
Interfaces
The camera node interfaces are compatible with the image_pipeline
stack. The node publishes the camera images and camera parameters and provides a service to set the camera parameters.
Topics
name | type | description |
---|---|---|
~/image_raw |
sensor_msgs/msg/Image |
image |
~/image_raw/compressed |
sensor_msgs/msg/CompressedImage |
image (compressed) |
~/camera_info |
sensor_msgs/msg/CameraInfo |
camera parameters |
Services
name | type | description |
---|---|---|
~/set_camera_info |
sensor_msgs/srv/SetCameraInfo |
set camera parameters |
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
clang-format |
Dependant Packages
Name | Deps |
---|---|
apriltag_ros |
Launch files
Messages
Services
Plugins
Recent questions tagged camera_ros at Robotics Stack Exchange
![]() |
camera_ros package from camera_ros repocamera_ros |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.4.0 |
License | MIT |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/christianrauch/camera_ros.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-05-21 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Christian Rauch
Authors
ROS 2 node for libcamera
This ROS 2 node provides support for a variety of cameras via libcamera. Amongst others, this node supports V4L2 and Raspberry Pi cameras.
Installation
Binary packages are available via the ROS package repository for some Linux and ROS distributions (check with rosdep resolve camera_ros
). If it’s available, you can install the DEB or RPM packages via:
# source a ROS distribution
source /opt/ros/$ROS_DISTRO/setup.bash
# DEB package
sudo apt install ros-$ROS_DISTRO-camera-ros
# RPM package
sudo dnf install ros-$ROS_DISTRO-camera-ros
[!NOTE] This also installs the package
libcamera
as dependency. This is the bloomed version of the official upstream repo at https://git.libcamera.org/libcamera/libcamera.git and may not contain full support for all Raspberry Pi camera modules. If you need full camera module support on Raspberry Pi, you have to build the “raspberrypi” fork from https://github.com/raspberrypi/libcamera manually.
Build Instructions
libcamera
The camera_ros
node depends on libcamera version 0.1 or later. There are different ways to install this dependency:
-
System Package: Most Linux distributions provide a binary libcamera package. However, the Raspberry Pi OS uses a custom libcamera fork with additional support for newer camera modules. When using the distribution packages, you have to skip the
libcamera
rosdep key when resolving dependencies (rosdep install [...] --skip-keys=libcamera
). -
ROS Package: You can also install a newer version from the ROS repo (package
ros-$ROS_DISTRO-libcamera
). This package will be installed by default when buildingcamera_ros
from source and resolving the rosdep keys. -
Source: Finally, you can always build libcamera from source. This is currently the only option for using the “raspberrypi” fork on Ubuntu. You can build libcamera as part of the ROS workspace using
colcon-meson
. This is recommended over a system-wide installation as it avoids conflicts with the system package. You will need to install the following dependencies:- Install the libcamera build dependencies according to https://libcamera.org/getting-started.html#dependencies.
- Install
colcon-meson
via the package manager,sudo apt install -y python3-colcon-meson
, or pip,pip install colcon-meson
.
camera_ros
The camera_ros
package is built together with libcamera in a colcon workspace:
# create workspace
mkdir -p ~/camera_ws/src
cd ~/camera_ws/src
# check out libcamera
sudo apt -y install python3-colcon-meson
# Option A: official upstream
git clone https://git.libcamera.org/libcamera/libcamera.git
# Option B: raspberrypi fork with support for newer camera modules
# git clone https://github.com/raspberrypi/libcamera.git
# check out this camera_ros repository
git clone https://github.com/christianrauch/camera_ros.git
# resolve binary dependencies and build workspace
source /opt/ros/$ROS_DISTRO/setup.bash
cd ~/camera_ws/
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO --skip-keys=libcamera
colcon build --event-handlers=console_direct+
If you are using a binary distribution of libcamera, you can skip adding this to the workspace. Additionally, if you want to use the bloomed libcamera package in the ROS repos, you can also omit --skip-keys=libcamera
and have this binary dependency resolved automatically.
Launching the Node
The package provides a standalone node executable:
ros2 run camera_ros camera_node
a composable node (camera::CameraNode
):
ros2 component standalone camera_ros camera::CameraNode
and an example launch file for the composable node:
ros2 launch camera_ros camera.launch.py
Interfaces
The camera node interfaces are compatible with the image_pipeline
stack. The node publishes the camera images and camera parameters and provides a service to set the camera parameters.
Topics
name | type | description |
---|---|---|
~/image_raw |
sensor_msgs/msg/Image |
image |
~/image_raw/compressed |
sensor_msgs/msg/CompressedImage |
image (compressed) |
~/camera_info |
sensor_msgs/msg/CameraInfo |
camera parameters |
Services
name | type | description |
---|---|---|
~/set_camera_info |
sensor_msgs/srv/SetCameraInfo |
set camera parameters |
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
clang-format |
Dependant Packages
Name | Deps |
---|---|
apriltag_ros |
Launch files
Messages
Services
Plugins
Recent questions tagged camera_ros at Robotics Stack Exchange
![]() |
camera_ros package from camera_ros repocamera_ros |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.4.0 |
License | MIT |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/christianrauch/camera_ros.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-05-21 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Christian Rauch
Authors
ROS 2 node for libcamera
This ROS 2 node provides support for a variety of cameras via libcamera. Amongst others, this node supports V4L2 and Raspberry Pi cameras.
Installation
Binary packages are available via the ROS package repository for some Linux and ROS distributions (check with rosdep resolve camera_ros
). If it’s available, you can install the DEB or RPM packages via:
# source a ROS distribution
source /opt/ros/$ROS_DISTRO/setup.bash
# DEB package
sudo apt install ros-$ROS_DISTRO-camera-ros
# RPM package
sudo dnf install ros-$ROS_DISTRO-camera-ros
[!NOTE] This also installs the package
libcamera
as dependency. This is the bloomed version of the official upstream repo at https://git.libcamera.org/libcamera/libcamera.git and may not contain full support for all Raspberry Pi camera modules. If you need full camera module support on Raspberry Pi, you have to build the “raspberrypi” fork from https://github.com/raspberrypi/libcamera manually.
Build Instructions
libcamera
The camera_ros
node depends on libcamera version 0.1 or later. There are different ways to install this dependency:
-
System Package: Most Linux distributions provide a binary libcamera package. However, the Raspberry Pi OS uses a custom libcamera fork with additional support for newer camera modules. When using the distribution packages, you have to skip the
libcamera
rosdep key when resolving dependencies (rosdep install [...] --skip-keys=libcamera
). -
ROS Package: You can also install a newer version from the ROS repo (package
ros-$ROS_DISTRO-libcamera
). This package will be installed by default when buildingcamera_ros
from source and resolving the rosdep keys. -
Source: Finally, you can always build libcamera from source. This is currently the only option for using the “raspberrypi” fork on Ubuntu. You can build libcamera as part of the ROS workspace using
colcon-meson
. This is recommended over a system-wide installation as it avoids conflicts with the system package. You will need to install the following dependencies:- Install the libcamera build dependencies according to https://libcamera.org/getting-started.html#dependencies.
- Install
colcon-meson
via the package manager,sudo apt install -y python3-colcon-meson
, or pip,pip install colcon-meson
.
camera_ros
The camera_ros
package is built together with libcamera in a colcon workspace:
# create workspace
mkdir -p ~/camera_ws/src
cd ~/camera_ws/src
# check out libcamera
sudo apt -y install python3-colcon-meson
# Option A: official upstream
git clone https://git.libcamera.org/libcamera/libcamera.git
# Option B: raspberrypi fork with support for newer camera modules
# git clone https://github.com/raspberrypi/libcamera.git
# check out this camera_ros repository
git clone https://github.com/christianrauch/camera_ros.git
# resolve binary dependencies and build workspace
source /opt/ros/$ROS_DISTRO/setup.bash
cd ~/camera_ws/
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO --skip-keys=libcamera
colcon build --event-handlers=console_direct+
If you are using a binary distribution of libcamera, you can skip adding this to the workspace. Additionally, if you want to use the bloomed libcamera package in the ROS repos, you can also omit --skip-keys=libcamera
and have this binary dependency resolved automatically.
Launching the Node
The package provides a standalone node executable:
ros2 run camera_ros camera_node
a composable node (camera::CameraNode
):
ros2 component standalone camera_ros camera::CameraNode
and an example launch file for the composable node:
ros2 launch camera_ros camera.launch.py
Interfaces
The camera node interfaces are compatible with the image_pipeline
stack. The node publishes the camera images and camera parameters and provides a service to set the camera parameters.
Topics
name | type | description |
---|---|---|
~/image_raw |
sensor_msgs/msg/Image |
image |
~/image_raw/compressed |
sensor_msgs/msg/CompressedImage |
image (compressed) |
~/camera_info |
sensor_msgs/msg/CameraInfo |
camera parameters |
Services
name | type | description |
---|---|---|
~/set_camera_info |
sensor_msgs/srv/SetCameraInfo |
set camera parameters |
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
clang-format |
Dependant Packages
Name | Deps |
---|---|
apriltag_ros |
Launch files
Messages
Services
Plugins
Recent questions tagged camera_ros at Robotics Stack Exchange
![]() |
camera_ros package from camera_ros repocamera_ros |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.4.0 |
License | MIT |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/christianrauch/camera_ros.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-05-21 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Christian Rauch
Authors
ROS 2 node for libcamera
This ROS 2 node provides support for a variety of cameras via libcamera. Amongst others, this node supports V4L2 and Raspberry Pi cameras.
Installation
Binary packages are available via the ROS package repository for some Linux and ROS distributions (check with rosdep resolve camera_ros
). If it’s available, you can install the DEB or RPM packages via:
# source a ROS distribution
source /opt/ros/$ROS_DISTRO/setup.bash
# DEB package
sudo apt install ros-$ROS_DISTRO-camera-ros
# RPM package
sudo dnf install ros-$ROS_DISTRO-camera-ros
[!NOTE] This also installs the package
libcamera
as dependency. This is the bloomed version of the official upstream repo at https://git.libcamera.org/libcamera/libcamera.git and may not contain full support for all Raspberry Pi camera modules. If you need full camera module support on Raspberry Pi, you have to build the “raspberrypi” fork from https://github.com/raspberrypi/libcamera manually.
Build Instructions
libcamera
The camera_ros
node depends on libcamera version 0.1 or later. There are different ways to install this dependency:
-
System Package: Most Linux distributions provide a binary libcamera package. However, the Raspberry Pi OS uses a custom libcamera fork with additional support for newer camera modules. When using the distribution packages, you have to skip the
libcamera
rosdep key when resolving dependencies (rosdep install [...] --skip-keys=libcamera
). -
ROS Package: You can also install a newer version from the ROS repo (package
ros-$ROS_DISTRO-libcamera
). This package will be installed by default when buildingcamera_ros
from source and resolving the rosdep keys. -
Source: Finally, you can always build libcamera from source. This is currently the only option for using the “raspberrypi” fork on Ubuntu. You can build libcamera as part of the ROS workspace using
colcon-meson
. This is recommended over a system-wide installation as it avoids conflicts with the system package. You will need to install the following dependencies:- Install the libcamera build dependencies according to https://libcamera.org/getting-started.html#dependencies.
- Install
colcon-meson
via the package manager,sudo apt install -y python3-colcon-meson
, or pip,pip install colcon-meson
.
camera_ros
The camera_ros
package is built together with libcamera in a colcon workspace:
# create workspace
mkdir -p ~/camera_ws/src
cd ~/camera_ws/src
# check out libcamera
sudo apt -y install python3-colcon-meson
# Option A: official upstream
git clone https://git.libcamera.org/libcamera/libcamera.git
# Option B: raspberrypi fork with support for newer camera modules
# git clone https://github.com/raspberrypi/libcamera.git
# check out this camera_ros repository
git clone https://github.com/christianrauch/camera_ros.git
# resolve binary dependencies and build workspace
source /opt/ros/$ROS_DISTRO/setup.bash
cd ~/camera_ws/
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO --skip-keys=libcamera
colcon build --event-handlers=console_direct+
If you are using a binary distribution of libcamera, you can skip adding this to the workspace. Additionally, if you want to use the bloomed libcamera package in the ROS repos, you can also omit --skip-keys=libcamera
and have this binary dependency resolved automatically.
Launching the Node
The package provides a standalone node executable:
ros2 run camera_ros camera_node
a composable node (camera::CameraNode
):
ros2 component standalone camera_ros camera::CameraNode
and an example launch file for the composable node:
ros2 launch camera_ros camera.launch.py
Interfaces
The camera node interfaces are compatible with the image_pipeline
stack. The node publishes the camera images and camera parameters and provides a service to set the camera parameters.
Topics
name | type | description |
---|---|---|
~/image_raw |
sensor_msgs/msg/Image |
image |
~/image_raw/compressed |
sensor_msgs/msg/CompressedImage |
image (compressed) |
~/camera_info |
sensor_msgs/msg/CameraInfo |
camera parameters |
Services
name | type | description |
---|---|---|
~/set_camera_info |
sensor_msgs/srv/SetCameraInfo |
set camera parameters |
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
clang-format |
Dependant Packages
Name | Deps |
---|---|
apriltag_ros |
Launch files
Messages
Services
Plugins
Recent questions tagged camera_ros at Robotics Stack Exchange
![]() |
camera_ros package from camera_ros repocamera_ros |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.4.0 |
License | MIT |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/christianrauch/camera_ros.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-05-21 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Christian Rauch
Authors
ROS 2 node for libcamera
This ROS 2 node provides support for a variety of cameras via libcamera. Amongst others, this node supports V4L2 and Raspberry Pi cameras.
Installation
Binary packages are available via the ROS package repository for some Linux and ROS distributions (check with rosdep resolve camera_ros
). If it’s available, you can install the DEB or RPM packages via:
# source a ROS distribution
source /opt/ros/$ROS_DISTRO/setup.bash
# DEB package
sudo apt install ros-$ROS_DISTRO-camera-ros
# RPM package
sudo dnf install ros-$ROS_DISTRO-camera-ros
[!NOTE] This also installs the package
libcamera
as dependency. This is the bloomed version of the official upstream repo at https://git.libcamera.org/libcamera/libcamera.git and may not contain full support for all Raspberry Pi camera modules. If you need full camera module support on Raspberry Pi, you have to build the “raspberrypi” fork from https://github.com/raspberrypi/libcamera manually.
Build Instructions
libcamera
The camera_ros
node depends on libcamera version 0.1 or later. There are different ways to install this dependency:
-
System Package: Most Linux distributions provide a binary libcamera package. However, the Raspberry Pi OS uses a custom libcamera fork with additional support for newer camera modules. When using the distribution packages, you have to skip the
libcamera
rosdep key when resolving dependencies (rosdep install [...] --skip-keys=libcamera
). -
ROS Package: You can also install a newer version from the ROS repo (package
ros-$ROS_DISTRO-libcamera
). This package will be installed by default when buildingcamera_ros
from source and resolving the rosdep keys. -
Source: Finally, you can always build libcamera from source. This is currently the only option for using the “raspberrypi” fork on Ubuntu. You can build libcamera as part of the ROS workspace using
colcon-meson
. This is recommended over a system-wide installation as it avoids conflicts with the system package. You will need to install the following dependencies:- Install the libcamera build dependencies according to https://libcamera.org/getting-started.html#dependencies.
- Install
colcon-meson
via the package manager,sudo apt install -y python3-colcon-meson
, or pip,pip install colcon-meson
.
camera_ros
The camera_ros
package is built together with libcamera in a colcon workspace:
# create workspace
mkdir -p ~/camera_ws/src
cd ~/camera_ws/src
# check out libcamera
sudo apt -y install python3-colcon-meson
# Option A: official upstream
git clone https://git.libcamera.org/libcamera/libcamera.git
# Option B: raspberrypi fork with support for newer camera modules
# git clone https://github.com/raspberrypi/libcamera.git
# check out this camera_ros repository
git clone https://github.com/christianrauch/camera_ros.git
# resolve binary dependencies and build workspace
source /opt/ros/$ROS_DISTRO/setup.bash
cd ~/camera_ws/
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO --skip-keys=libcamera
colcon build --event-handlers=console_direct+
If you are using a binary distribution of libcamera, you can skip adding this to the workspace. Additionally, if you want to use the bloomed libcamera package in the ROS repos, you can also omit --skip-keys=libcamera
and have this binary dependency resolved automatically.
Launching the Node
The package provides a standalone node executable:
ros2 run camera_ros camera_node
a composable node (camera::CameraNode
):
ros2 component standalone camera_ros camera::CameraNode
and an example launch file for the composable node:
ros2 launch camera_ros camera.launch.py
Interfaces
The camera node interfaces are compatible with the image_pipeline
stack. The node publishes the camera images and camera parameters and provides a service to set the camera parameters.
Topics
name | type | description |
---|---|---|
~/image_raw |
sensor_msgs/msg/Image |
image |
~/image_raw/compressed |
sensor_msgs/msg/CompressedImage |
image (compressed) |
~/camera_info |
sensor_msgs/msg/CameraInfo |
camera parameters |
Services
name | type | description |
---|---|---|
~/set_camera_info |
sensor_msgs/srv/SetCameraInfo |
set camera parameters |
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
clang-format |
Dependant Packages
Name | Deps |
---|---|
apriltag_ros |
Launch files
Messages
Services
Plugins
Recent questions tagged camera_ros at Robotics Stack Exchange
![]() |
camera_ros package from camera_ros repocamera_ros |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.4.0 |
License | MIT |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/christianrauch/camera_ros.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-05-21 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Christian Rauch
Authors
ROS 2 node for libcamera
This ROS 2 node provides support for a variety of cameras via libcamera. Amongst others, this node supports V4L2 and Raspberry Pi cameras.
Installation
Binary packages are available via the ROS package repository for some Linux and ROS distributions (check with rosdep resolve camera_ros
). If it’s available, you can install the DEB or RPM packages via:
# source a ROS distribution
source /opt/ros/$ROS_DISTRO/setup.bash
# DEB package
sudo apt install ros-$ROS_DISTRO-camera-ros
# RPM package
sudo dnf install ros-$ROS_DISTRO-camera-ros
[!NOTE] This also installs the package
libcamera
as dependency. This is the bloomed version of the official upstream repo at https://git.libcamera.org/libcamera/libcamera.git and may not contain full support for all Raspberry Pi camera modules. If you need full camera module support on Raspberry Pi, you have to build the “raspberrypi” fork from https://github.com/raspberrypi/libcamera manually.
Build Instructions
libcamera
The camera_ros
node depends on libcamera version 0.1 or later. There are different ways to install this dependency:
-
System Package: Most Linux distributions provide a binary libcamera package. However, the Raspberry Pi OS uses a custom libcamera fork with additional support for newer camera modules. When using the distribution packages, you have to skip the
libcamera
rosdep key when resolving dependencies (rosdep install [...] --skip-keys=libcamera
). -
ROS Package: You can also install a newer version from the ROS repo (package
ros-$ROS_DISTRO-libcamera
). This package will be installed by default when buildingcamera_ros
from source and resolving the rosdep keys. -
Source: Finally, you can always build libcamera from source. This is currently the only option for using the “raspberrypi” fork on Ubuntu. You can build libcamera as part of the ROS workspace using
colcon-meson
. This is recommended over a system-wide installation as it avoids conflicts with the system package. You will need to install the following dependencies:- Install the libcamera build dependencies according to https://libcamera.org/getting-started.html#dependencies.
- Install
colcon-meson
via the package manager,sudo apt install -y python3-colcon-meson
, or pip,pip install colcon-meson
.
camera_ros
The camera_ros
package is built together with libcamera in a colcon workspace:
# create workspace
mkdir -p ~/camera_ws/src
cd ~/camera_ws/src
# check out libcamera
sudo apt -y install python3-colcon-meson
# Option A: official upstream
git clone https://git.libcamera.org/libcamera/libcamera.git
# Option B: raspberrypi fork with support for newer camera modules
# git clone https://github.com/raspberrypi/libcamera.git
# check out this camera_ros repository
git clone https://github.com/christianrauch/camera_ros.git
# resolve binary dependencies and build workspace
source /opt/ros/$ROS_DISTRO/setup.bash
cd ~/camera_ws/
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO --skip-keys=libcamera
colcon build --event-handlers=console_direct+
If you are using a binary distribution of libcamera, you can skip adding this to the workspace. Additionally, if you want to use the bloomed libcamera package in the ROS repos, you can also omit --skip-keys=libcamera
and have this binary dependency resolved automatically.
Launching the Node
The package provides a standalone node executable:
ros2 run camera_ros camera_node
a composable node (camera::CameraNode
):
ros2 component standalone camera_ros camera::CameraNode
and an example launch file for the composable node:
ros2 launch camera_ros camera.launch.py
Interfaces
The camera node interfaces are compatible with the image_pipeline
stack. The node publishes the camera images and camera parameters and provides a service to set the camera parameters.
Topics
name | type | description |
---|---|---|
~/image_raw |
sensor_msgs/msg/Image |
image |
~/image_raw/compressed |
sensor_msgs/msg/CompressedImage |
image (compressed) |
~/camera_info |
sensor_msgs/msg/CameraInfo |
camera parameters |
Services
name | type | description |
---|---|---|
~/set_camera_info |
sensor_msgs/srv/SetCameraInfo |
set camera parameters |
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
clang-format |
Dependant Packages
Name | Deps |
---|---|
apriltag_ros |
Launch files
Messages
Services
Plugins
Recent questions tagged camera_ros at Robotics Stack Exchange
![]() |
camera_ros package from camera_ros repocamera_ros |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.4.0 |
License | MIT |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/christianrauch/camera_ros.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-05-21 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Christian Rauch
Authors
ROS 2 node for libcamera
This ROS 2 node provides support for a variety of cameras via libcamera. Amongst others, this node supports V4L2 and Raspberry Pi cameras.
Installation
Binary packages are available via the ROS package repository for some Linux and ROS distributions (check with rosdep resolve camera_ros
). If it’s available, you can install the DEB or RPM packages via:
# source a ROS distribution
source /opt/ros/$ROS_DISTRO/setup.bash
# DEB package
sudo apt install ros-$ROS_DISTRO-camera-ros
# RPM package
sudo dnf install ros-$ROS_DISTRO-camera-ros
[!NOTE] This also installs the package
libcamera
as dependency. This is the bloomed version of the official upstream repo at https://git.libcamera.org/libcamera/libcamera.git and may not contain full support for all Raspberry Pi camera modules. If you need full camera module support on Raspberry Pi, you have to build the “raspberrypi” fork from https://github.com/raspberrypi/libcamera manually.
Build Instructions
libcamera
The camera_ros
node depends on libcamera version 0.1 or later. There are different ways to install this dependency:
-
System Package: Most Linux distributions provide a binary libcamera package. However, the Raspberry Pi OS uses a custom libcamera fork with additional support for newer camera modules. When using the distribution packages, you have to skip the
libcamera
rosdep key when resolving dependencies (rosdep install [...] --skip-keys=libcamera
). -
ROS Package: You can also install a newer version from the ROS repo (package
ros-$ROS_DISTRO-libcamera
). This package will be installed by default when buildingcamera_ros
from source and resolving the rosdep keys. -
Source: Finally, you can always build libcamera from source. This is currently the only option for using the “raspberrypi” fork on Ubuntu. You can build libcamera as part of the ROS workspace using
colcon-meson
. This is recommended over a system-wide installation as it avoids conflicts with the system package. You will need to install the following dependencies:- Install the libcamera build dependencies according to https://libcamera.org/getting-started.html#dependencies.
- Install
colcon-meson
via the package manager,sudo apt install -y python3-colcon-meson
, or pip,pip install colcon-meson
.
camera_ros
The camera_ros
package is built together with libcamera in a colcon workspace:
# create workspace
mkdir -p ~/camera_ws/src
cd ~/camera_ws/src
# check out libcamera
sudo apt -y install python3-colcon-meson
# Option A: official upstream
git clone https://git.libcamera.org/libcamera/libcamera.git
# Option B: raspberrypi fork with support for newer camera modules
# git clone https://github.com/raspberrypi/libcamera.git
# check out this camera_ros repository
git clone https://github.com/christianrauch/camera_ros.git
# resolve binary dependencies and build workspace
source /opt/ros/$ROS_DISTRO/setup.bash
cd ~/camera_ws/
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO --skip-keys=libcamera
colcon build --event-handlers=console_direct+
If you are using a binary distribution of libcamera, you can skip adding this to the workspace. Additionally, if you want to use the bloomed libcamera package in the ROS repos, you can also omit --skip-keys=libcamera
and have this binary dependency resolved automatically.
Launching the Node
The package provides a standalone node executable:
ros2 run camera_ros camera_node
a composable node (camera::CameraNode
):
ros2 component standalone camera_ros camera::CameraNode
and an example launch file for the composable node:
ros2 launch camera_ros camera.launch.py
Interfaces
The camera node interfaces are compatible with the image_pipeline
stack. The node publishes the camera images and camera parameters and provides a service to set the camera parameters.
Topics
name | type | description |
---|---|---|
~/image_raw |
sensor_msgs/msg/Image |
image |
~/image_raw/compressed |
sensor_msgs/msg/CompressedImage |
image (compressed) |
~/camera_info |
sensor_msgs/msg/CameraInfo |
camera parameters |
Services
name | type | description |
---|---|---|
~/set_camera_info |
sensor_msgs/srv/SetCameraInfo |
set camera parameters |
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
clang-format |
Dependant Packages
Name | Deps |
---|---|
apriltag_ros |
Launch files
Messages
Services
Plugins
Recent questions tagged camera_ros at Robotics Stack Exchange
![]() |
camera_ros package from camera_ros repocamera_ros |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.4.0 |
License | MIT |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/christianrauch/camera_ros.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-05-21 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Christian Rauch
Authors
ROS 2 node for libcamera
This ROS 2 node provides support for a variety of cameras via libcamera. Amongst others, this node supports V4L2 and Raspberry Pi cameras.
Installation
Binary packages are available via the ROS package repository for some Linux and ROS distributions (check with rosdep resolve camera_ros
). If it’s available, you can install the DEB or RPM packages via:
# source a ROS distribution
source /opt/ros/$ROS_DISTRO/setup.bash
# DEB package
sudo apt install ros-$ROS_DISTRO-camera-ros
# RPM package
sudo dnf install ros-$ROS_DISTRO-camera-ros
[!NOTE] This also installs the package
libcamera
as dependency. This is the bloomed version of the official upstream repo at https://git.libcamera.org/libcamera/libcamera.git and may not contain full support for all Raspberry Pi camera modules. If you need full camera module support on Raspberry Pi, you have to build the “raspberrypi” fork from https://github.com/raspberrypi/libcamera manually.
Build Instructions
libcamera
The camera_ros
node depends on libcamera version 0.1 or later. There are different ways to install this dependency:
-
System Package: Most Linux distributions provide a binary libcamera package. However, the Raspberry Pi OS uses a custom libcamera fork with additional support for newer camera modules. When using the distribution packages, you have to skip the
libcamera
rosdep key when resolving dependencies (rosdep install [...] --skip-keys=libcamera
). -
ROS Package: You can also install a newer version from the ROS repo (package
ros-$ROS_DISTRO-libcamera
). This package will be installed by default when buildingcamera_ros
from source and resolving the rosdep keys. -
Source: Finally, you can always build libcamera from source. This is currently the only option for using the “raspberrypi” fork on Ubuntu. You can build libcamera as part of the ROS workspace using
colcon-meson
. This is recommended over a system-wide installation as it avoids conflicts with the system package. You will need to install the following dependencies:- Install the libcamera build dependencies according to https://libcamera.org/getting-started.html#dependencies.
- Install
colcon-meson
via the package manager,sudo apt install -y python3-colcon-meson
, or pip,pip install colcon-meson
.
camera_ros
The camera_ros
package is built together with libcamera in a colcon workspace:
# create workspace
mkdir -p ~/camera_ws/src
cd ~/camera_ws/src
# check out libcamera
sudo apt -y install python3-colcon-meson
# Option A: official upstream
git clone https://git.libcamera.org/libcamera/libcamera.git
# Option B: raspberrypi fork with support for newer camera modules
# git clone https://github.com/raspberrypi/libcamera.git
# check out this camera_ros repository
git clone https://github.com/christianrauch/camera_ros.git
# resolve binary dependencies and build workspace
source /opt/ros/$ROS_DISTRO/setup.bash
cd ~/camera_ws/
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO --skip-keys=libcamera
colcon build --event-handlers=console_direct+
If you are using a binary distribution of libcamera, you can skip adding this to the workspace. Additionally, if you want to use the bloomed libcamera package in the ROS repos, you can also omit --skip-keys=libcamera
and have this binary dependency resolved automatically.
Launching the Node
The package provides a standalone node executable:
ros2 run camera_ros camera_node
a composable node (camera::CameraNode
):
ros2 component standalone camera_ros camera::CameraNode
and an example launch file for the composable node:
ros2 launch camera_ros camera.launch.py
Interfaces
The camera node interfaces are compatible with the image_pipeline
stack. The node publishes the camera images and camera parameters and provides a service to set the camera parameters.
Topics
name | type | description |
---|---|---|
~/image_raw |
sensor_msgs/msg/Image |
image |
~/image_raw/compressed |
sensor_msgs/msg/CompressedImage |
image (compressed) |
~/camera_info |
sensor_msgs/msg/CameraInfo |
camera parameters |
Services
name | type | description |
---|---|---|
~/set_camera_info |
sensor_msgs/srv/SetCameraInfo |
set camera parameters |
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
clang-format |
Dependant Packages
Name | Deps |
---|---|
apriltag_ros |