|
miti_bridge package from miti_sdk repolibmiti miti_bridge |
ROS Distro
|
Package Summary
| Version | 0.1.2 |
| License | MIT |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/hiran-t/MITI-sdk.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-11-05 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- MITI Contributors
Authors
miti_bridge
A ROS 2 node that serves the robot’s topics, services, parameters and package files to MITI over the MITI protocol. It is built on libmiti. Supported: Humble and Jazzy, on Ubuntu and on Windows (built from source with pixi and RoboStack).
Install
Install it from this repository’s apt repository, or build it from source: both are described up front in the repository’s README, since the package is not in ROS’s apt repository yet. On Windows there is no package: build it with pixi.
Run
ros2 launch miti_bridge miti_start
Each parameter is also a launch argument:
ros2 launch miti_bridge miti_start port:=8765 use_sim_time:=true "topic_whitelist:=['/tf.*', '/camera/.*']"
The launch file is installed as miti_start and as miti_start.launch.py, so both names work. To stop it, press Ctrl+C in its terminal. If another program stops ros2 launch, it must stop the whole process group: launch does not pass a TERM signal on to the node.
Build
Build it with libmiti in a workspace:
colcon build --merge-install --base-paths core ros
source install/setup.bash && ros2 launch miti_bridge miti_start
With pixi, from the repository root:
pixi run -e humble build-bridge # into install/humble (-e jazzy: install/jazzy)
pixi run -e humble test-bridge # the tests of libmiti and miti_bridge
pixi run -e humble conformance-bridge # the conformance suite against it, with the fixture graph
On Windows the same tasks build it with MSVC; Visual Studio 2022’s C++ tools must be installed. Run conformance-bridge from Git Bash. Then install\humble\local_setup.ps1 in a pixi shell -e humble makes ros2 launch miti_bridge miti_start find it.
Parameters
| Parameter | Default | What it does |
|---|---|---|
port |
8765 |
WebSocket port |
address |
0.0.0.0 |
Address to listen on |
topic_whitelist |
['.*'] |
Regular expressions of the topics to offer |
service_whitelist |
['.*'] |
The services to offer |
param_whitelist |
['.*'] |
The parameters clients may read, as /node.parameter
|
client_topic_whitelist |
['.*'] |
The topics clients may publish on |
capabilities |
['clientPublish', 'parameters', 'services', 'assets'] |
What clients may do |
max_qos_depth |
10 |
The largest queue a subscription keeps |
asset_roots |
[] |
Folders file:// assets may come from. package:// works for every installed package |
use_sim_time |
false |
Send the robot’s /clock to clients, and stamp messages with it |
MITI’s launch scripts pass these settings.
How it works
-
Graph. Every second the node reads the topic and service lists. It offers each topic whose
.msgdefinition is installed. Hidden names (with a part that starts with_) and its own services are left out. A type it cannot offer, for example one that ships only as.idl, or a package that is not installed, is reported once. -
Topics.
- A ROS subscription exists only while a client is subscribed.
- Its QoS matches the publishers: reliable unless one is best effort, transient-local if all are, and deep enough for their history.
- The serialized bytes go to clients unchanged.
-
Transient-local topics.
/tf_staticand/robot_descriptionare latched: the newest message of each transient-local publisher is kept for clients that subscribe later. - Client publishing. A client channel becomes a generic publisher, with CDR forwarded as it is.
-
Services.
- Calls go through a generic client: an
rclcpp::ClientBaseinitialized with type support looked up by name, with requests and responses deserialized and serialized through the introspection type support. Humble has noGenericClient, so this one is used on both distros. Responses arrive through the executor. - A call fails after 10 s without a response.
- Calls go through a generic client: an
-
Parameters.
/node.parameteris read with that node’s parameter service. A node that does not answer within 5 s counts as having none. -
Assets.
package://resolves against every package in the ament index. On Windows,file:///C:/dir/mesh.stlnames a file on a drive; network paths such as\\host\shareare refused.
Not yet
- MITI connects to miti_bridge from MITI 3.4.3. Earlier MITI versions cannot connect to it.
- Each message is copied once on its way from ROS to the clients.
- One executor thread serves subscriptions, service responses and the graph.
Changelog for package miti_bridge
0.1.2 (2026-11-04)
- Builds and runs on Windows x64 with ROS 2 Humble and Jazzy from RoboStack, from source with pixi.
- Built on libmiti 0.1.2, which refuses asset URIs that contain a NUL character.
0.1.1 (2026-11-03)
- Robot meshes from workspaces built with
colcon build --symlink-installare served.
0.1.0 (2026-11-02)
- First release: serves a ROS 2 robot's topics, services, parameters,
package files and clock to MITI over
miti.bridge.v1. Camera images go as JPEG, point clouds are reduced and rate limits apply on the robot, and the link's statistics are reported.
Package Dependencies
| Deps | Name |
|---|---|
| libmiti | |
| ament_cmake | |
| ros2launch | |
| launch_ros | |
| ament_cmake_gtest | |
| std_msgs | |
| sensor_msgs | |
| std_srvs | |
| tf2_msgs | |
| rclcpp | |
| ament_index_cpp | |
| rcpputils | |
| rmw | |
| rosidl_typesupport_introspection_cpp | |
| rosgraph_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged miti_bridge at Robotics Stack Exchange
|
miti_bridge package from miti_sdk repolibmiti miti_bridge |
ROS Distro
|
Package Summary
| Version | 0.1.2 |
| License | MIT |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/hiran-t/MITI-sdk.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-11-05 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- MITI Contributors
Authors
miti_bridge
A ROS 2 node that serves the robot’s topics, services, parameters and package files to MITI over the MITI protocol. It is built on libmiti. Supported: Humble and Jazzy, on Ubuntu and on Windows (built from source with pixi and RoboStack).
Install
Install it from this repository’s apt repository, or build it from source: both are described up front in the repository’s README, since the package is not in ROS’s apt repository yet. On Windows there is no package: build it with pixi.
Run
ros2 launch miti_bridge miti_start
Each parameter is also a launch argument:
ros2 launch miti_bridge miti_start port:=8765 use_sim_time:=true "topic_whitelist:=['/tf.*', '/camera/.*']"
The launch file is installed as miti_start and as miti_start.launch.py, so both names work. To stop it, press Ctrl+C in its terminal. If another program stops ros2 launch, it must stop the whole process group: launch does not pass a TERM signal on to the node.
Build
Build it with libmiti in a workspace:
colcon build --merge-install --base-paths core ros
source install/setup.bash && ros2 launch miti_bridge miti_start
With pixi, from the repository root:
pixi run -e humble build-bridge # into install/humble (-e jazzy: install/jazzy)
pixi run -e humble test-bridge # the tests of libmiti and miti_bridge
pixi run -e humble conformance-bridge # the conformance suite against it, with the fixture graph
On Windows the same tasks build it with MSVC; Visual Studio 2022’s C++ tools must be installed. Run conformance-bridge from Git Bash. Then install\humble\local_setup.ps1 in a pixi shell -e humble makes ros2 launch miti_bridge miti_start find it.
Parameters
| Parameter | Default | What it does |
|---|---|---|
port |
8765 |
WebSocket port |
address |
0.0.0.0 |
Address to listen on |
topic_whitelist |
['.*'] |
Regular expressions of the topics to offer |
service_whitelist |
['.*'] |
The services to offer |
param_whitelist |
['.*'] |
The parameters clients may read, as /node.parameter
|
client_topic_whitelist |
['.*'] |
The topics clients may publish on |
capabilities |
['clientPublish', 'parameters', 'services', 'assets'] |
What clients may do |
max_qos_depth |
10 |
The largest queue a subscription keeps |
asset_roots |
[] |
Folders file:// assets may come from. package:// works for every installed package |
use_sim_time |
false |
Send the robot’s /clock to clients, and stamp messages with it |
MITI’s launch scripts pass these settings.
How it works
-
Graph. Every second the node reads the topic and service lists. It offers each topic whose
.msgdefinition is installed. Hidden names (with a part that starts with_) and its own services are left out. A type it cannot offer, for example one that ships only as.idl, or a package that is not installed, is reported once. -
Topics.
- A ROS subscription exists only while a client is subscribed.
- Its QoS matches the publishers: reliable unless one is best effort, transient-local if all are, and deep enough for their history.
- The serialized bytes go to clients unchanged.
-
Transient-local topics.
/tf_staticand/robot_descriptionare latched: the newest message of each transient-local publisher is kept for clients that subscribe later. - Client publishing. A client channel becomes a generic publisher, with CDR forwarded as it is.
-
Services.
- Calls go through a generic client: an
rclcpp::ClientBaseinitialized with type support looked up by name, with requests and responses deserialized and serialized through the introspection type support. Humble has noGenericClient, so this one is used on both distros. Responses arrive through the executor. - A call fails after 10 s without a response.
- Calls go through a generic client: an
-
Parameters.
/node.parameteris read with that node’s parameter service. A node that does not answer within 5 s counts as having none. -
Assets.
package://resolves against every package in the ament index. On Windows,file:///C:/dir/mesh.stlnames a file on a drive; network paths such as\\host\shareare refused.
Not yet
- MITI connects to miti_bridge from MITI 3.4.3. Earlier MITI versions cannot connect to it.
- Each message is copied once on its way from ROS to the clients.
- One executor thread serves subscriptions, service responses and the graph.
Changelog for package miti_bridge
0.1.2 (2026-11-04)
- Builds and runs on Windows x64 with ROS 2 Humble and Jazzy from RoboStack, from source with pixi.
- Built on libmiti 0.1.2, which refuses asset URIs that contain a NUL character.
0.1.1 (2026-11-03)
- Robot meshes from workspaces built with
colcon build --symlink-installare served.
0.1.0 (2026-11-02)
- First release: serves a ROS 2 robot's topics, services, parameters,
package files and clock to MITI over
miti.bridge.v1. Camera images go as JPEG, point clouds are reduced and rate limits apply on the robot, and the link's statistics are reported.
Package Dependencies
| Deps | Name |
|---|---|
| libmiti | |
| ament_cmake | |
| ros2launch | |
| launch_ros | |
| ament_cmake_gtest | |
| std_msgs | |
| sensor_msgs | |
| std_srvs | |
| tf2_msgs | |
| rclcpp | |
| ament_index_cpp | |
| rcpputils | |
| rmw | |
| rosidl_typesupport_introspection_cpp | |
| rosgraph_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged miti_bridge at Robotics Stack Exchange
|
miti_bridge package from miti_sdk repolibmiti miti_bridge |
ROS Distro
|
Package Summary
| Version | 0.1.2 |
| License | MIT |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/hiran-t/MITI-sdk.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-11-05 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- MITI Contributors
Authors
miti_bridge
A ROS 2 node that serves the robot’s topics, services, parameters and package files to MITI over the MITI protocol. It is built on libmiti. Supported: Humble and Jazzy, on Ubuntu and on Windows (built from source with pixi and RoboStack).
Install
Install it from this repository’s apt repository, or build it from source: both are described up front in the repository’s README, since the package is not in ROS’s apt repository yet. On Windows there is no package: build it with pixi.
Run
ros2 launch miti_bridge miti_start
Each parameter is also a launch argument:
ros2 launch miti_bridge miti_start port:=8765 use_sim_time:=true "topic_whitelist:=['/tf.*', '/camera/.*']"
The launch file is installed as miti_start and as miti_start.launch.py, so both names work. To stop it, press Ctrl+C in its terminal. If another program stops ros2 launch, it must stop the whole process group: launch does not pass a TERM signal on to the node.
Build
Build it with libmiti in a workspace:
colcon build --merge-install --base-paths core ros
source install/setup.bash && ros2 launch miti_bridge miti_start
With pixi, from the repository root:
pixi run -e humble build-bridge # into install/humble (-e jazzy: install/jazzy)
pixi run -e humble test-bridge # the tests of libmiti and miti_bridge
pixi run -e humble conformance-bridge # the conformance suite against it, with the fixture graph
On Windows the same tasks build it with MSVC; Visual Studio 2022’s C++ tools must be installed. Run conformance-bridge from Git Bash. Then install\humble\local_setup.ps1 in a pixi shell -e humble makes ros2 launch miti_bridge miti_start find it.
Parameters
| Parameter | Default | What it does |
|---|---|---|
port |
8765 |
WebSocket port |
address |
0.0.0.0 |
Address to listen on |
topic_whitelist |
['.*'] |
Regular expressions of the topics to offer |
service_whitelist |
['.*'] |
The services to offer |
param_whitelist |
['.*'] |
The parameters clients may read, as /node.parameter
|
client_topic_whitelist |
['.*'] |
The topics clients may publish on |
capabilities |
['clientPublish', 'parameters', 'services', 'assets'] |
What clients may do |
max_qos_depth |
10 |
The largest queue a subscription keeps |
asset_roots |
[] |
Folders file:// assets may come from. package:// works for every installed package |
use_sim_time |
false |
Send the robot’s /clock to clients, and stamp messages with it |
MITI’s launch scripts pass these settings.
How it works
-
Graph. Every second the node reads the topic and service lists. It offers each topic whose
.msgdefinition is installed. Hidden names (with a part that starts with_) and its own services are left out. A type it cannot offer, for example one that ships only as.idl, or a package that is not installed, is reported once. -
Topics.
- A ROS subscription exists only while a client is subscribed.
- Its QoS matches the publishers: reliable unless one is best effort, transient-local if all are, and deep enough for their history.
- The serialized bytes go to clients unchanged.
-
Transient-local topics.
/tf_staticand/robot_descriptionare latched: the newest message of each transient-local publisher is kept for clients that subscribe later. - Client publishing. A client channel becomes a generic publisher, with CDR forwarded as it is.
-
Services.
- Calls go through a generic client: an
rclcpp::ClientBaseinitialized with type support looked up by name, with requests and responses deserialized and serialized through the introspection type support. Humble has noGenericClient, so this one is used on both distros. Responses arrive through the executor. - A call fails after 10 s without a response.
- Calls go through a generic client: an
-
Parameters.
/node.parameteris read with that node’s parameter service. A node that does not answer within 5 s counts as having none. -
Assets.
package://resolves against every package in the ament index. On Windows,file:///C:/dir/mesh.stlnames a file on a drive; network paths such as\\host\shareare refused.
Not yet
- MITI connects to miti_bridge from MITI 3.4.3. Earlier MITI versions cannot connect to it.
- Each message is copied once on its way from ROS to the clients.
- One executor thread serves subscriptions, service responses and the graph.
Changelog for package miti_bridge
0.1.2 (2026-11-04)
- Builds and runs on Windows x64 with ROS 2 Humble and Jazzy from RoboStack, from source with pixi.
- Built on libmiti 0.1.2, which refuses asset URIs that contain a NUL character.
0.1.1 (2026-11-03)
- Robot meshes from workspaces built with
colcon build --symlink-installare served.
0.1.0 (2026-11-02)
- First release: serves a ROS 2 robot's topics, services, parameters,
package files and clock to MITI over
miti.bridge.v1. Camera images go as JPEG, point clouds are reduced and rate limits apply on the robot, and the link's statistics are reported.
Package Dependencies
| Deps | Name |
|---|---|
| libmiti | |
| ament_cmake | |
| ros2launch | |
| launch_ros | |
| ament_cmake_gtest | |
| std_msgs | |
| sensor_msgs | |
| std_srvs | |
| tf2_msgs | |
| rclcpp | |
| ament_index_cpp | |
| rcpputils | |
| rmw | |
| rosidl_typesupport_introspection_cpp | |
| rosgraph_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged miti_bridge at Robotics Stack Exchange
|
miti_bridge package from miti_sdk repolibmiti miti_bridge |
ROS Distro
|
Package Summary
| Version | 0.1.2 |
| License | MIT |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/hiran-t/MITI-sdk.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-11-05 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- MITI Contributors
Authors
miti_bridge
A ROS 2 node that serves the robot’s topics, services, parameters and package files to MITI over the MITI protocol. It is built on libmiti. Supported: Humble and Jazzy, on Ubuntu and on Windows (built from source with pixi and RoboStack).
Install
Install it from this repository’s apt repository, or build it from source: both are described up front in the repository’s README, since the package is not in ROS’s apt repository yet. On Windows there is no package: build it with pixi.
Run
ros2 launch miti_bridge miti_start
Each parameter is also a launch argument:
ros2 launch miti_bridge miti_start port:=8765 use_sim_time:=true "topic_whitelist:=['/tf.*', '/camera/.*']"
The launch file is installed as miti_start and as miti_start.launch.py, so both names work. To stop it, press Ctrl+C in its terminal. If another program stops ros2 launch, it must stop the whole process group: launch does not pass a TERM signal on to the node.
Build
Build it with libmiti in a workspace:
colcon build --merge-install --base-paths core ros
source install/setup.bash && ros2 launch miti_bridge miti_start
With pixi, from the repository root:
pixi run -e humble build-bridge # into install/humble (-e jazzy: install/jazzy)
pixi run -e humble test-bridge # the tests of libmiti and miti_bridge
pixi run -e humble conformance-bridge # the conformance suite against it, with the fixture graph
On Windows the same tasks build it with MSVC; Visual Studio 2022’s C++ tools must be installed. Run conformance-bridge from Git Bash. Then install\humble\local_setup.ps1 in a pixi shell -e humble makes ros2 launch miti_bridge miti_start find it.
Parameters
| Parameter | Default | What it does |
|---|---|---|
port |
8765 |
WebSocket port |
address |
0.0.0.0 |
Address to listen on |
topic_whitelist |
['.*'] |
Regular expressions of the topics to offer |
service_whitelist |
['.*'] |
The services to offer |
param_whitelist |
['.*'] |
The parameters clients may read, as /node.parameter
|
client_topic_whitelist |
['.*'] |
The topics clients may publish on |
capabilities |
['clientPublish', 'parameters', 'services', 'assets'] |
What clients may do |
max_qos_depth |
10 |
The largest queue a subscription keeps |
asset_roots |
[] |
Folders file:// assets may come from. package:// works for every installed package |
use_sim_time |
false |
Send the robot’s /clock to clients, and stamp messages with it |
MITI’s launch scripts pass these settings.
How it works
-
Graph. Every second the node reads the topic and service lists. It offers each topic whose
.msgdefinition is installed. Hidden names (with a part that starts with_) and its own services are left out. A type it cannot offer, for example one that ships only as.idl, or a package that is not installed, is reported once. -
Topics.
- A ROS subscription exists only while a client is subscribed.
- Its QoS matches the publishers: reliable unless one is best effort, transient-local if all are, and deep enough for their history.
- The serialized bytes go to clients unchanged.
-
Transient-local topics.
/tf_staticand/robot_descriptionare latched: the newest message of each transient-local publisher is kept for clients that subscribe later. - Client publishing. A client channel becomes a generic publisher, with CDR forwarded as it is.
-
Services.
- Calls go through a generic client: an
rclcpp::ClientBaseinitialized with type support looked up by name, with requests and responses deserialized and serialized through the introspection type support. Humble has noGenericClient, so this one is used on both distros. Responses arrive through the executor. - A call fails after 10 s without a response.
- Calls go through a generic client: an
-
Parameters.
/node.parameteris read with that node’s parameter service. A node that does not answer within 5 s counts as having none. -
Assets.
package://resolves against every package in the ament index. On Windows,file:///C:/dir/mesh.stlnames a file on a drive; network paths such as\\host\shareare refused.
Not yet
- MITI connects to miti_bridge from MITI 3.4.3. Earlier MITI versions cannot connect to it.
- Each message is copied once on its way from ROS to the clients.
- One executor thread serves subscriptions, service responses and the graph.
Changelog for package miti_bridge
0.1.2 (2026-11-04)
- Builds and runs on Windows x64 with ROS 2 Humble and Jazzy from RoboStack, from source with pixi.
- Built on libmiti 0.1.2, which refuses asset URIs that contain a NUL character.
0.1.1 (2026-11-03)
- Robot meshes from workspaces built with
colcon build --symlink-installare served.
0.1.0 (2026-11-02)
- First release: serves a ROS 2 robot's topics, services, parameters,
package files and clock to MITI over
miti.bridge.v1. Camera images go as JPEG, point clouds are reduced and rate limits apply on the robot, and the link's statistics are reported.
Package Dependencies
| Deps | Name |
|---|---|
| libmiti | |
| ament_cmake | |
| ros2launch | |
| launch_ros | |
| ament_cmake_gtest | |
| std_msgs | |
| sensor_msgs | |
| std_srvs | |
| tf2_msgs | |
| rclcpp | |
| ament_index_cpp | |
| rcpputils | |
| rmw | |
| rosidl_typesupport_introspection_cpp | |
| rosgraph_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged miti_bridge at Robotics Stack Exchange
|
miti_bridge package from miti_sdk repolibmiti miti_bridge |
ROS Distro
|
Package Summary
| Version | 0.1.2 |
| License | MIT |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/hiran-t/MITI-sdk.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-11-05 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- MITI Contributors
Authors
miti_bridge
A ROS 2 node that serves the robot’s topics, services, parameters and package files to MITI over the MITI protocol. It is built on libmiti. Supported: Humble and Jazzy, on Ubuntu and on Windows (built from source with pixi and RoboStack).
Install
Install it from this repository’s apt repository, or build it from source: both are described up front in the repository’s README, since the package is not in ROS’s apt repository yet. On Windows there is no package: build it with pixi.
Run
ros2 launch miti_bridge miti_start
Each parameter is also a launch argument:
ros2 launch miti_bridge miti_start port:=8765 use_sim_time:=true "topic_whitelist:=['/tf.*', '/camera/.*']"
The launch file is installed as miti_start and as miti_start.launch.py, so both names work. To stop it, press Ctrl+C in its terminal. If another program stops ros2 launch, it must stop the whole process group: launch does not pass a TERM signal on to the node.
Build
Build it with libmiti in a workspace:
colcon build --merge-install --base-paths core ros
source install/setup.bash && ros2 launch miti_bridge miti_start
With pixi, from the repository root:
pixi run -e humble build-bridge # into install/humble (-e jazzy: install/jazzy)
pixi run -e humble test-bridge # the tests of libmiti and miti_bridge
pixi run -e humble conformance-bridge # the conformance suite against it, with the fixture graph
On Windows the same tasks build it with MSVC; Visual Studio 2022’s C++ tools must be installed. Run conformance-bridge from Git Bash. Then install\humble\local_setup.ps1 in a pixi shell -e humble makes ros2 launch miti_bridge miti_start find it.
Parameters
| Parameter | Default | What it does |
|---|---|---|
port |
8765 |
WebSocket port |
address |
0.0.0.0 |
Address to listen on |
topic_whitelist |
['.*'] |
Regular expressions of the topics to offer |
service_whitelist |
['.*'] |
The services to offer |
param_whitelist |
['.*'] |
The parameters clients may read, as /node.parameter
|
client_topic_whitelist |
['.*'] |
The topics clients may publish on |
capabilities |
['clientPublish', 'parameters', 'services', 'assets'] |
What clients may do |
max_qos_depth |
10 |
The largest queue a subscription keeps |
asset_roots |
[] |
Folders file:// assets may come from. package:// works for every installed package |
use_sim_time |
false |
Send the robot’s /clock to clients, and stamp messages with it |
MITI’s launch scripts pass these settings.
How it works
-
Graph. Every second the node reads the topic and service lists. It offers each topic whose
.msgdefinition is installed. Hidden names (with a part that starts with_) and its own services are left out. A type it cannot offer, for example one that ships only as.idl, or a package that is not installed, is reported once. -
Topics.
- A ROS subscription exists only while a client is subscribed.
- Its QoS matches the publishers: reliable unless one is best effort, transient-local if all are, and deep enough for their history.
- The serialized bytes go to clients unchanged.
-
Transient-local topics.
/tf_staticand/robot_descriptionare latched: the newest message of each transient-local publisher is kept for clients that subscribe later. - Client publishing. A client channel becomes a generic publisher, with CDR forwarded as it is.
-
Services.
- Calls go through a generic client: an
rclcpp::ClientBaseinitialized with type support looked up by name, with requests and responses deserialized and serialized through the introspection type support. Humble has noGenericClient, so this one is used on both distros. Responses arrive through the executor. - A call fails after 10 s without a response.
- Calls go through a generic client: an
-
Parameters.
/node.parameteris read with that node’s parameter service. A node that does not answer within 5 s counts as having none. -
Assets.
package://resolves against every package in the ament index. On Windows,file:///C:/dir/mesh.stlnames a file on a drive; network paths such as\\host\shareare refused.
Not yet
- MITI connects to miti_bridge from MITI 3.4.3. Earlier MITI versions cannot connect to it.
- Each message is copied once on its way from ROS to the clients.
- One executor thread serves subscriptions, service responses and the graph.
Changelog for package miti_bridge
0.1.2 (2026-11-04)
- Builds and runs on Windows x64 with ROS 2 Humble and Jazzy from RoboStack, from source with pixi.
- Built on libmiti 0.1.2, which refuses asset URIs that contain a NUL character.
0.1.1 (2026-11-03)
- Robot meshes from workspaces built with
colcon build --symlink-installare served.
0.1.0 (2026-11-02)
- First release: serves a ROS 2 robot's topics, services, parameters,
package files and clock to MITI over
miti.bridge.v1. Camera images go as JPEG, point clouds are reduced and rate limits apply on the robot, and the link's statistics are reported.
Package Dependencies
| Deps | Name |
|---|---|
| libmiti | |
| ament_cmake | |
| ros2launch | |
| launch_ros | |
| ament_cmake_gtest | |
| std_msgs | |
| sensor_msgs | |
| std_srvs | |
| tf2_msgs | |
| rclcpp | |
| ament_index_cpp | |
| rcpputils | |
| rmw | |
| rosidl_typesupport_introspection_cpp | |
| rosgraph_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged miti_bridge at Robotics Stack Exchange
|
miti_bridge package from miti_sdk repolibmiti miti_bridge |
ROS Distro
|
Package Summary
| Version | 0.1.2 |
| License | MIT |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/hiran-t/MITI-sdk.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-11-05 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- MITI Contributors
Authors
miti_bridge
A ROS 2 node that serves the robot’s topics, services, parameters and package files to MITI over the MITI protocol. It is built on libmiti. Supported: Humble and Jazzy, on Ubuntu and on Windows (built from source with pixi and RoboStack).
Install
Install it from this repository’s apt repository, or build it from source: both are described up front in the repository’s README, since the package is not in ROS’s apt repository yet. On Windows there is no package: build it with pixi.
Run
ros2 launch miti_bridge miti_start
Each parameter is also a launch argument:
ros2 launch miti_bridge miti_start port:=8765 use_sim_time:=true "topic_whitelist:=['/tf.*', '/camera/.*']"
The launch file is installed as miti_start and as miti_start.launch.py, so both names work. To stop it, press Ctrl+C in its terminal. If another program stops ros2 launch, it must stop the whole process group: launch does not pass a TERM signal on to the node.
Build
Build it with libmiti in a workspace:
colcon build --merge-install --base-paths core ros
source install/setup.bash && ros2 launch miti_bridge miti_start
With pixi, from the repository root:
pixi run -e humble build-bridge # into install/humble (-e jazzy: install/jazzy)
pixi run -e humble test-bridge # the tests of libmiti and miti_bridge
pixi run -e humble conformance-bridge # the conformance suite against it, with the fixture graph
On Windows the same tasks build it with MSVC; Visual Studio 2022’s C++ tools must be installed. Run conformance-bridge from Git Bash. Then install\humble\local_setup.ps1 in a pixi shell -e humble makes ros2 launch miti_bridge miti_start find it.
Parameters
| Parameter | Default | What it does |
|---|---|---|
port |
8765 |
WebSocket port |
address |
0.0.0.0 |
Address to listen on |
topic_whitelist |
['.*'] |
Regular expressions of the topics to offer |
service_whitelist |
['.*'] |
The services to offer |
param_whitelist |
['.*'] |
The parameters clients may read, as /node.parameter
|
client_topic_whitelist |
['.*'] |
The topics clients may publish on |
capabilities |
['clientPublish', 'parameters', 'services', 'assets'] |
What clients may do |
max_qos_depth |
10 |
The largest queue a subscription keeps |
asset_roots |
[] |
Folders file:// assets may come from. package:// works for every installed package |
use_sim_time |
false |
Send the robot’s /clock to clients, and stamp messages with it |
MITI’s launch scripts pass these settings.
How it works
-
Graph. Every second the node reads the topic and service lists. It offers each topic whose
.msgdefinition is installed. Hidden names (with a part that starts with_) and its own services are left out. A type it cannot offer, for example one that ships only as.idl, or a package that is not installed, is reported once. -
Topics.
- A ROS subscription exists only while a client is subscribed.
- Its QoS matches the publishers: reliable unless one is best effort, transient-local if all are, and deep enough for their history.
- The serialized bytes go to clients unchanged.
-
Transient-local topics.
/tf_staticand/robot_descriptionare latched: the newest message of each transient-local publisher is kept for clients that subscribe later. - Client publishing. A client channel becomes a generic publisher, with CDR forwarded as it is.
-
Services.
- Calls go through a generic client: an
rclcpp::ClientBaseinitialized with type support looked up by name, with requests and responses deserialized and serialized through the introspection type support. Humble has noGenericClient, so this one is used on both distros. Responses arrive through the executor. - A call fails after 10 s without a response.
- Calls go through a generic client: an
-
Parameters.
/node.parameteris read with that node’s parameter service. A node that does not answer within 5 s counts as having none. -
Assets.
package://resolves against every package in the ament index. On Windows,file:///C:/dir/mesh.stlnames a file on a drive; network paths such as\\host\shareare refused.
Not yet
- MITI connects to miti_bridge from MITI 3.4.3. Earlier MITI versions cannot connect to it.
- Each message is copied once on its way from ROS to the clients.
- One executor thread serves subscriptions, service responses and the graph.
Changelog for package miti_bridge
0.1.2 (2026-11-04)
- Builds and runs on Windows x64 with ROS 2 Humble and Jazzy from RoboStack, from source with pixi.
- Built on libmiti 0.1.2, which refuses asset URIs that contain a NUL character.
0.1.1 (2026-11-03)
- Robot meshes from workspaces built with
colcon build --symlink-installare served.
0.1.0 (2026-11-02)
- First release: serves a ROS 2 robot's topics, services, parameters,
package files and clock to MITI over
miti.bridge.v1. Camera images go as JPEG, point clouds are reduced and rate limits apply on the robot, and the link's statistics are reported.
Package Dependencies
| Deps | Name |
|---|---|
| libmiti | |
| ament_cmake | |
| ros2launch | |
| launch_ros | |
| ament_cmake_gtest | |
| std_msgs | |
| sensor_msgs | |
| std_srvs | |
| tf2_msgs | |
| rclcpp | |
| ament_index_cpp | |
| rcpputils | |
| rmw | |
| rosidl_typesupport_introspection_cpp | |
| rosgraph_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged miti_bridge at Robotics Stack Exchange
|
miti_bridge package from miti_sdk repolibmiti miti_bridge |
ROS Distro
|
Package Summary
| Version | 0.1.2 |
| License | MIT |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/hiran-t/MITI-sdk.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-11-05 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- MITI Contributors
Authors
miti_bridge
A ROS 2 node that serves the robot’s topics, services, parameters and package files to MITI over the MITI protocol. It is built on libmiti. Supported: Humble and Jazzy, on Ubuntu and on Windows (built from source with pixi and RoboStack).
Install
Install it from this repository’s apt repository, or build it from source: both are described up front in the repository’s README, since the package is not in ROS’s apt repository yet. On Windows there is no package: build it with pixi.
Run
ros2 launch miti_bridge miti_start
Each parameter is also a launch argument:
ros2 launch miti_bridge miti_start port:=8765 use_sim_time:=true "topic_whitelist:=['/tf.*', '/camera/.*']"
The launch file is installed as miti_start and as miti_start.launch.py, so both names work. To stop it, press Ctrl+C in its terminal. If another program stops ros2 launch, it must stop the whole process group: launch does not pass a TERM signal on to the node.
Build
Build it with libmiti in a workspace:
colcon build --merge-install --base-paths core ros
source install/setup.bash && ros2 launch miti_bridge miti_start
With pixi, from the repository root:
pixi run -e humble build-bridge # into install/humble (-e jazzy: install/jazzy)
pixi run -e humble test-bridge # the tests of libmiti and miti_bridge
pixi run -e humble conformance-bridge # the conformance suite against it, with the fixture graph
On Windows the same tasks build it with MSVC; Visual Studio 2022’s C++ tools must be installed. Run conformance-bridge from Git Bash. Then install\humble\local_setup.ps1 in a pixi shell -e humble makes ros2 launch miti_bridge miti_start find it.
Parameters
| Parameter | Default | What it does |
|---|---|---|
port |
8765 |
WebSocket port |
address |
0.0.0.0 |
Address to listen on |
topic_whitelist |
['.*'] |
Regular expressions of the topics to offer |
service_whitelist |
['.*'] |
The services to offer |
param_whitelist |
['.*'] |
The parameters clients may read, as /node.parameter
|
client_topic_whitelist |
['.*'] |
The topics clients may publish on |
capabilities |
['clientPublish', 'parameters', 'services', 'assets'] |
What clients may do |
max_qos_depth |
10 |
The largest queue a subscription keeps |
asset_roots |
[] |
Folders file:// assets may come from. package:// works for every installed package |
use_sim_time |
false |
Send the robot’s /clock to clients, and stamp messages with it |
MITI’s launch scripts pass these settings.
How it works
-
Graph. Every second the node reads the topic and service lists. It offers each topic whose
.msgdefinition is installed. Hidden names (with a part that starts with_) and its own services are left out. A type it cannot offer, for example one that ships only as.idl, or a package that is not installed, is reported once. -
Topics.
- A ROS subscription exists only while a client is subscribed.
- Its QoS matches the publishers: reliable unless one is best effort, transient-local if all are, and deep enough for their history.
- The serialized bytes go to clients unchanged.
-
Transient-local topics.
/tf_staticand/robot_descriptionare latched: the newest message of each transient-local publisher is kept for clients that subscribe later. - Client publishing. A client channel becomes a generic publisher, with CDR forwarded as it is.
-
Services.
- Calls go through a generic client: an
rclcpp::ClientBaseinitialized with type support looked up by name, with requests and responses deserialized and serialized through the introspection type support. Humble has noGenericClient, so this one is used on both distros. Responses arrive through the executor. - A call fails after 10 s without a response.
- Calls go through a generic client: an
-
Parameters.
/node.parameteris read with that node’s parameter service. A node that does not answer within 5 s counts as having none. -
Assets.
package://resolves against every package in the ament index. On Windows,file:///C:/dir/mesh.stlnames a file on a drive; network paths such as\\host\shareare refused.
Not yet
- MITI connects to miti_bridge from MITI 3.4.3. Earlier MITI versions cannot connect to it.
- Each message is copied once on its way from ROS to the clients.
- One executor thread serves subscriptions, service responses and the graph.
Changelog for package miti_bridge
0.1.2 (2026-11-04)
- Builds and runs on Windows x64 with ROS 2 Humble and Jazzy from RoboStack, from source with pixi.
- Built on libmiti 0.1.2, which refuses asset URIs that contain a NUL character.
0.1.1 (2026-11-03)
- Robot meshes from workspaces built with
colcon build --symlink-installare served.
0.1.0 (2026-11-02)
- First release: serves a ROS 2 robot's topics, services, parameters,
package files and clock to MITI over
miti.bridge.v1. Camera images go as JPEG, point clouds are reduced and rate limits apply on the robot, and the link's statistics are reported.
Package Dependencies
| Deps | Name |
|---|---|
| libmiti | |
| ament_cmake | |
| ros2launch | |
| launch_ros | |
| ament_cmake_gtest | |
| std_msgs | |
| sensor_msgs | |
| std_srvs | |
| tf2_msgs | |
| rclcpp | |
| ament_index_cpp | |
| rcpputils | |
| rmw | |
| rosidl_typesupport_introspection_cpp | |
| rosgraph_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged miti_bridge at Robotics Stack Exchange
|
miti_bridge package from miti_sdk repolibmiti miti_bridge |
ROS Distro
|
Package Summary
| Version | 0.1.2 |
| License | MIT |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/hiran-t/MITI-sdk.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-11-05 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- MITI Contributors
Authors
miti_bridge
A ROS 2 node that serves the robot’s topics, services, parameters and package files to MITI over the MITI protocol. It is built on libmiti. Supported: Humble and Jazzy, on Ubuntu and on Windows (built from source with pixi and RoboStack).
Install
Install it from this repository’s apt repository, or build it from source: both are described up front in the repository’s README, since the package is not in ROS’s apt repository yet. On Windows there is no package: build it with pixi.
Run
ros2 launch miti_bridge miti_start
Each parameter is also a launch argument:
ros2 launch miti_bridge miti_start port:=8765 use_sim_time:=true "topic_whitelist:=['/tf.*', '/camera/.*']"
The launch file is installed as miti_start and as miti_start.launch.py, so both names work. To stop it, press Ctrl+C in its terminal. If another program stops ros2 launch, it must stop the whole process group: launch does not pass a TERM signal on to the node.
Build
Build it with libmiti in a workspace:
colcon build --merge-install --base-paths core ros
source install/setup.bash && ros2 launch miti_bridge miti_start
With pixi, from the repository root:
pixi run -e humble build-bridge # into install/humble (-e jazzy: install/jazzy)
pixi run -e humble test-bridge # the tests of libmiti and miti_bridge
pixi run -e humble conformance-bridge # the conformance suite against it, with the fixture graph
On Windows the same tasks build it with MSVC; Visual Studio 2022’s C++ tools must be installed. Run conformance-bridge from Git Bash. Then install\humble\local_setup.ps1 in a pixi shell -e humble makes ros2 launch miti_bridge miti_start find it.
Parameters
| Parameter | Default | What it does |
|---|---|---|
port |
8765 |
WebSocket port |
address |
0.0.0.0 |
Address to listen on |
topic_whitelist |
['.*'] |
Regular expressions of the topics to offer |
service_whitelist |
['.*'] |
The services to offer |
param_whitelist |
['.*'] |
The parameters clients may read, as /node.parameter
|
client_topic_whitelist |
['.*'] |
The topics clients may publish on |
capabilities |
['clientPublish', 'parameters', 'services', 'assets'] |
What clients may do |
max_qos_depth |
10 |
The largest queue a subscription keeps |
asset_roots |
[] |
Folders file:// assets may come from. package:// works for every installed package |
use_sim_time |
false |
Send the robot’s /clock to clients, and stamp messages with it |
MITI’s launch scripts pass these settings.
How it works
-
Graph. Every second the node reads the topic and service lists. It offers each topic whose
.msgdefinition is installed. Hidden names (with a part that starts with_) and its own services are left out. A type it cannot offer, for example one that ships only as.idl, or a package that is not installed, is reported once. -
Topics.
- A ROS subscription exists only while a client is subscribed.
- Its QoS matches the publishers: reliable unless one is best effort, transient-local if all are, and deep enough for their history.
- The serialized bytes go to clients unchanged.
-
Transient-local topics.
/tf_staticand/robot_descriptionare latched: the newest message of each transient-local publisher is kept for clients that subscribe later. - Client publishing. A client channel becomes a generic publisher, with CDR forwarded as it is.
-
Services.
- Calls go through a generic client: an
rclcpp::ClientBaseinitialized with type support looked up by name, with requests and responses deserialized and serialized through the introspection type support. Humble has noGenericClient, so this one is used on both distros. Responses arrive through the executor. - A call fails after 10 s without a response.
- Calls go through a generic client: an
-
Parameters.
/node.parameteris read with that node’s parameter service. A node that does not answer within 5 s counts as having none. -
Assets.
package://resolves against every package in the ament index. On Windows,file:///C:/dir/mesh.stlnames a file on a drive; network paths such as\\host\shareare refused.
Not yet
- MITI connects to miti_bridge from MITI 3.4.3. Earlier MITI versions cannot connect to it.
- Each message is copied once on its way from ROS to the clients.
- One executor thread serves subscriptions, service responses and the graph.
Changelog for package miti_bridge
0.1.2 (2026-11-04)
- Builds and runs on Windows x64 with ROS 2 Humble and Jazzy from RoboStack, from source with pixi.
- Built on libmiti 0.1.2, which refuses asset URIs that contain a NUL character.
0.1.1 (2026-11-03)
- Robot meshes from workspaces built with
colcon build --symlink-installare served.
0.1.0 (2026-11-02)
- First release: serves a ROS 2 robot's topics, services, parameters,
package files and clock to MITI over
miti.bridge.v1. Camera images go as JPEG, point clouds are reduced and rate limits apply on the robot, and the link's statistics are reported.
Package Dependencies
| Deps | Name |
|---|---|
| libmiti | |
| ament_cmake | |
| ros2launch | |
| launch_ros | |
| ament_cmake_gtest | |
| std_msgs | |
| sensor_msgs | |
| std_srvs | |
| tf2_msgs | |
| rclcpp | |
| ament_index_cpp | |
| rcpputils | |
| rmw | |
| rosidl_typesupport_introspection_cpp | |
| rosgraph_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged miti_bridge at Robotics Stack Exchange
|
miti_bridge package from miti_sdk repolibmiti miti_bridge |
ROS Distro
|
Package Summary
| Version | 0.1.2 |
| License | MIT |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/hiran-t/MITI-sdk.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-11-05 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- MITI Contributors
Authors
miti_bridge
A ROS 2 node that serves the robot’s topics, services, parameters and package files to MITI over the MITI protocol. It is built on libmiti. Supported: Humble and Jazzy, on Ubuntu and on Windows (built from source with pixi and RoboStack).
Install
Install it from this repository’s apt repository, or build it from source: both are described up front in the repository’s README, since the package is not in ROS’s apt repository yet. On Windows there is no package: build it with pixi.
Run
ros2 launch miti_bridge miti_start
Each parameter is also a launch argument:
ros2 launch miti_bridge miti_start port:=8765 use_sim_time:=true "topic_whitelist:=['/tf.*', '/camera/.*']"
The launch file is installed as miti_start and as miti_start.launch.py, so both names work. To stop it, press Ctrl+C in its terminal. If another program stops ros2 launch, it must stop the whole process group: launch does not pass a TERM signal on to the node.
Build
Build it with libmiti in a workspace:
colcon build --merge-install --base-paths core ros
source install/setup.bash && ros2 launch miti_bridge miti_start
With pixi, from the repository root:
pixi run -e humble build-bridge # into install/humble (-e jazzy: install/jazzy)
pixi run -e humble test-bridge # the tests of libmiti and miti_bridge
pixi run -e humble conformance-bridge # the conformance suite against it, with the fixture graph
On Windows the same tasks build it with MSVC; Visual Studio 2022’s C++ tools must be installed. Run conformance-bridge from Git Bash. Then install\humble\local_setup.ps1 in a pixi shell -e humble makes ros2 launch miti_bridge miti_start find it.
Parameters
| Parameter | Default | What it does |
|---|---|---|
port |
8765 |
WebSocket port |
address |
0.0.0.0 |
Address to listen on |
topic_whitelist |
['.*'] |
Regular expressions of the topics to offer |
service_whitelist |
['.*'] |
The services to offer |
param_whitelist |
['.*'] |
The parameters clients may read, as /node.parameter
|
client_topic_whitelist |
['.*'] |
The topics clients may publish on |
capabilities |
['clientPublish', 'parameters', 'services', 'assets'] |
What clients may do |
max_qos_depth |
10 |
The largest queue a subscription keeps |
asset_roots |
[] |
Folders file:// assets may come from. package:// works for every installed package |
use_sim_time |
false |
Send the robot’s /clock to clients, and stamp messages with it |
MITI’s launch scripts pass these settings.
How it works
-
Graph. Every second the node reads the topic and service lists. It offers each topic whose
.msgdefinition is installed. Hidden names (with a part that starts with_) and its own services are left out. A type it cannot offer, for example one that ships only as.idl, or a package that is not installed, is reported once. -
Topics.
- A ROS subscription exists only while a client is subscribed.
- Its QoS matches the publishers: reliable unless one is best effort, transient-local if all are, and deep enough for their history.
- The serialized bytes go to clients unchanged.
-
Transient-local topics.
/tf_staticand/robot_descriptionare latched: the newest message of each transient-local publisher is kept for clients that subscribe later. - Client publishing. A client channel becomes a generic publisher, with CDR forwarded as it is.
-
Services.
- Calls go through a generic client: an
rclcpp::ClientBaseinitialized with type support looked up by name, with requests and responses deserialized and serialized through the introspection type support. Humble has noGenericClient, so this one is used on both distros. Responses arrive through the executor. - A call fails after 10 s without a response.
- Calls go through a generic client: an
-
Parameters.
/node.parameteris read with that node’s parameter service. A node that does not answer within 5 s counts as having none. -
Assets.
package://resolves against every package in the ament index. On Windows,file:///C:/dir/mesh.stlnames a file on a drive; network paths such as\\host\shareare refused.
Not yet
- MITI connects to miti_bridge from MITI 3.4.3. Earlier MITI versions cannot connect to it.
- Each message is copied once on its way from ROS to the clients.
- One executor thread serves subscriptions, service responses and the graph.
Changelog for package miti_bridge
0.1.2 (2026-11-04)
- Builds and runs on Windows x64 with ROS 2 Humble and Jazzy from RoboStack, from source with pixi.
- Built on libmiti 0.1.2, which refuses asset URIs that contain a NUL character.
0.1.1 (2026-11-03)
- Robot meshes from workspaces built with
colcon build --symlink-installare served.
0.1.0 (2026-11-02)
- First release: serves a ROS 2 robot's topics, services, parameters,
package files and clock to MITI over
miti.bridge.v1. Camera images go as JPEG, point clouds are reduced and rate limits apply on the robot, and the link's statistics are reported.
Package Dependencies
| Deps | Name |
|---|---|
| libmiti | |
| ament_cmake | |
| ros2launch | |
| launch_ros | |
| ament_cmake_gtest | |
| std_msgs | |
| sensor_msgs | |
| std_srvs | |
| tf2_msgs | |
| rclcpp | |
| ament_index_cpp | |
| rcpputils | |
| rmw | |
| rosidl_typesupport_introspection_cpp | |
| rosgraph_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged miti_bridge at Robotics Stack Exchange
|
miti_bridge package from miti_sdk repolibmiti miti_bridge |
ROS Distro
|
Package Summary
| Version | 0.1.2 |
| License | MIT |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/hiran-t/MITI-sdk.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-11-05 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- MITI Contributors
Authors
miti_bridge
A ROS 2 node that serves the robot’s topics, services, parameters and package files to MITI over the MITI protocol. It is built on libmiti. Supported: Humble and Jazzy, on Ubuntu and on Windows (built from source with pixi and RoboStack).
Install
Install it from this repository’s apt repository, or build it from source: both are described up front in the repository’s README, since the package is not in ROS’s apt repository yet. On Windows there is no package: build it with pixi.
Run
ros2 launch miti_bridge miti_start
Each parameter is also a launch argument:
ros2 launch miti_bridge miti_start port:=8765 use_sim_time:=true "topic_whitelist:=['/tf.*', '/camera/.*']"
The launch file is installed as miti_start and as miti_start.launch.py, so both names work. To stop it, press Ctrl+C in its terminal. If another program stops ros2 launch, it must stop the whole process group: launch does not pass a TERM signal on to the node.
Build
Build it with libmiti in a workspace:
colcon build --merge-install --base-paths core ros
source install/setup.bash && ros2 launch miti_bridge miti_start
With pixi, from the repository root:
pixi run -e humble build-bridge # into install/humble (-e jazzy: install/jazzy)
pixi run -e humble test-bridge # the tests of libmiti and miti_bridge
pixi run -e humble conformance-bridge # the conformance suite against it, with the fixture graph
On Windows the same tasks build it with MSVC; Visual Studio 2022’s C++ tools must be installed. Run conformance-bridge from Git Bash. Then install\humble\local_setup.ps1 in a pixi shell -e humble makes ros2 launch miti_bridge miti_start find it.
Parameters
| Parameter | Default | What it does |
|---|---|---|
port |
8765 |
WebSocket port |
address |
0.0.0.0 |
Address to listen on |
topic_whitelist |
['.*'] |
Regular expressions of the topics to offer |
service_whitelist |
['.*'] |
The services to offer |
param_whitelist |
['.*'] |
The parameters clients may read, as /node.parameter
|
client_topic_whitelist |
['.*'] |
The topics clients may publish on |
capabilities |
['clientPublish', 'parameters', 'services', 'assets'] |
What clients may do |
max_qos_depth |
10 |
The largest queue a subscription keeps |
asset_roots |
[] |
Folders file:// assets may come from. package:// works for every installed package |
use_sim_time |
false |
Send the robot’s /clock to clients, and stamp messages with it |
MITI’s launch scripts pass these settings.
How it works
-
Graph. Every second the node reads the topic and service lists. It offers each topic whose
.msgdefinition is installed. Hidden names (with a part that starts with_) and its own services are left out. A type it cannot offer, for example one that ships only as.idl, or a package that is not installed, is reported once. -
Topics.
- A ROS subscription exists only while a client is subscribed.
- Its QoS matches the publishers: reliable unless one is best effort, transient-local if all are, and deep enough for their history.
- The serialized bytes go to clients unchanged.
-
Transient-local topics.
/tf_staticand/robot_descriptionare latched: the newest message of each transient-local publisher is kept for clients that subscribe later. - Client publishing. A client channel becomes a generic publisher, with CDR forwarded as it is.
-
Services.
- Calls go through a generic client: an
rclcpp::ClientBaseinitialized with type support looked up by name, with requests and responses deserialized and serialized through the introspection type support. Humble has noGenericClient, so this one is used on both distros. Responses arrive through the executor. - A call fails after 10 s without a response.
- Calls go through a generic client: an
-
Parameters.
/node.parameteris read with that node’s parameter service. A node that does not answer within 5 s counts as having none. -
Assets.
package://resolves against every package in the ament index. On Windows,file:///C:/dir/mesh.stlnames a file on a drive; network paths such as\\host\shareare refused.
Not yet
- MITI connects to miti_bridge from MITI 3.4.3. Earlier MITI versions cannot connect to it.
- Each message is copied once on its way from ROS to the clients.
- One executor thread serves subscriptions, service responses and the graph.
Changelog for package miti_bridge
0.1.2 (2026-11-04)
- Builds and runs on Windows x64 with ROS 2 Humble and Jazzy from RoboStack, from source with pixi.
- Built on libmiti 0.1.2, which refuses asset URIs that contain a NUL character.
0.1.1 (2026-11-03)
- Robot meshes from workspaces built with
colcon build --symlink-installare served.
0.1.0 (2026-11-02)
- First release: serves a ROS 2 robot's topics, services, parameters,
package files and clock to MITI over
miti.bridge.v1. Camera images go as JPEG, point clouds are reduced and rate limits apply on the robot, and the link's statistics are reported.
Package Dependencies
| Deps | Name |
|---|---|
| libmiti | |
| ament_cmake | |
| ros2launch | |
| launch_ros | |
| ament_cmake_gtest | |
| std_msgs | |
| sensor_msgs | |
| std_srvs | |
| tf2_msgs | |
| rclcpp | |
| ament_index_cpp | |
| rcpputils | |
| rmw | |
| rosidl_typesupport_introspection_cpp | |
| rosgraph_msgs |