Package symbol

bosch_locator_bridge package from locator_ros_bridge repo

bosch_locator_bridge bosch_locator_bridge_utils

ROS Distro
humble

Package Summary

Tags No category tags.
Version 2.1.14
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/boschglobal/locator_ros_bridge.git
VCS Type git
VCS Version humble
Last Updated 2025-05-14
Dev Status MAINTAINED
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

ROS interface to Rexroth ROKIT Locator

Additional Links

No additional links.

Maintainers

  • Stefan Laible

Authors

No additional authors.

General information about this repository, including legal information and build instructions are given in README.md in the repository root.

bosch_locator_bridge

Overview

This package provides a [ROS 2] interface to the [Rexroth ROKIT Locator]. It translates ROS 2 messages to the ROKIT Locator API (as described in the ROKIT Locator API documentation) and vice versa. It also allows to control the ROKIT Locator via ROS 2 service calls.

The package has been tested under [ROS 2] Humble and Ubuntu 22.04. The bridge is compatible with ROKIT Locator version 1.11. If you have an earlier version, see Support of earlier versions of ROKIT Locator.

Quick Start

This section describes how to record your environment, create a map out of the record and localize yourself within it.

Ensure the ROKIT Locator is reachable from your computer

Make sure the ROKIT Locator is installed and running on a computer in your network. You can test this by running the following command in a terminal (replace <LOCATOR_IP> by the IP address of the computer running the ROKIT Locator):

curl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","method":"aboutModulesList","params":{"query":{}},"id":1}' http://<LOCATOR_IP>:8080

Start Bridge Node

Start the bridge node with

ros2 launch bosch_locator_bridge bridge.launch.xml bridge_ip:=<HOST_IP> locator_ip:=<LOCATOR_IP> locator_user:=<USER> locator_password:=<PASSWORD> scan_topic:=<SCAN_TOPIC> enable_odometry:=<ENABLE_ODOM> odom_topic:=<ODOM_TOPIC>

where

  • <HOST_IP> is the IP address of the computer the bridge is to be started
  • <LOCATOR_IP> is the IP address of the computer where the ROKIT Locator is running
  • <USER> and <PASSWORD> are the credentials to log into the ROKIT Locator
  • <SCAN_TOPIC> is the topic name of the laser scans
  • <ENABLE_ODOM> is a boolean that describes whether you want to forward odometry ROS messages to the ROKIT Locator
  • <ODOM_TOPIC> is the topic name of the odometry

Since the Laser Localization Software is running in docker, the <HOST_IP> has to be set to docker0 ip address (172.17.0.1) instead of localhost ip address (127.0.0.1) when the user program providing the laser data runs on the same machine.

For additional parameters please refer to the launch file bridge.launch.xml.

Start Visual Recording

Then, make sure there are laser scans published on <SCAN_TOPIC>, and start the visual recording with e.g.

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_visual_recording.rviz
ros2 service call /bridge_node/start_visual_recording bosch_locator_bridge/srv/StartRecording "name: 'ROS-Quickstart-$(date -Isecond)'"

You should see the laser scans, the robot position and its previous path, and the recording built up over time.

Stop Visual Recording

When you are done, you can stop recording with

ros2 service call /bridge_node/stop_visual_recording std_srvs/srv/Empty

Create Map From Recording

Now, create a map from your recording with

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_map_creation.rviz
ros2 service call /bridge_node/start_map bosch_locator_bridge/srv/ClientMapStart

When the map has been created, it must be sent to the map server and set as the active map.

ros2 service call /bridge_node/send_map bosch_locator_bridge/srv/ClientMapSend
ros2 service call /bridge_node/set_map bosch_locator_bridge/srv/ClientMapSet

Start Localization

Finally, you can start the localization with

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_localization.rviz
ros2 service call /bridge_node/start_localization std_srvs/srv/Empty

You can set the initial pose of the robot by clicking the “2D Pose Estimate” button in RViz, and then set the pose in the map.

Stop Localization

When you are done, you can stop the localization with

ros2 service call /bridge_node/stop_localization std_srvs/srv/Empty

Map Expansion

  1. Record and build the prior map (map name: priormap) as usual.
  2. Start localization on this prior map and move until the system is localized.
  3. Make a note of the pose and do not move
  4. Enable map expansion
    rosservice  call /bridge_node/enable_map_expansion "prior_map_name: priormap"
    
  1. Start visual recording and use the following to visualize the prior map
    rosrun rviz rviz -d `rospack find bosch_locator_bridge`/config/locator_bridge_visual_recording_with_prior_map.rviz
    
  1. Use the pose in step 3 to set the current pose in the recording

```

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package bosch_locator_bridge

2.1.14 (2025-05-14)

  • Fix code formatting
  • Update to ROKIT Locator version 1.11 #69 from boschglobal/humble-v1.11
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible

2.1.13 (2024-11-11)

  • update tag compatible with Locator 1.9
  • update to Locator 1.10 #66 from boschglobal/humble-v1.10
  • Contributors: Sheung Ying Yuen-Wille

2.1.12 (2024-11-11)

  • Update readme.md to Locator 1.9 #65 from boschglobal/bugfix/update-readme-humble
  • Update CHANGELOG.rst #63 from boschglobal/syyuen-changelog-humble
  • Contributors: Sheung Ying Yuen-Wille

2.1.11 (2024-06-04)

  • made server compatible with Locator version 1.9 (#61)
  • compatible with 1.9 (#58)
  • Note in the Readme for earlier versions (#57)
  • correct some messages types of bridge_node in README (#55) Message type error of service /bridge_node/disable_map_expansion is found by slaible (Stefan Laible).
  • Make minRange non-negative (#53) In order to tolerate SICK picoScan150, which could produce LaserScan messages with little negative minRange, and avoid minRange validation failure errors raised by Locator. set lower limit range_min to 0
  • Update server_bridge_node.cpp made compatible with Locator version 1.8
  • update to humble (#48)
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible, TAN Hongkui, Fleer David

2.1.10 (2023-10-31)

  • update compatible Locator version to 1.8
  • Document the map expansion workflow
  • Add rviz config files for map expansion
  • Add services and interfaces for map expansion
  • Add expandmap_state in control mode
  • Remove field distanceToLastLC in ClientLocalizationVisualizationDatagram
  • Introduce parameter odometry_velocity_set of odometry message
  • Configurable Locator ports
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible

2.1.9 (2023-03-23)

  • Try to stop everything before setting config list (#35)
  • Add errorFlags and infoFlags fields to ClientLocalizationPose (#33)
  • Update to ROKIT Locator version 1.6
  • Contributors: Stefan Laible

2.1.8 (2023-02-14)

  • Support setting arbitrary Locator config entries
  • Update module versions in server node
  • Use mutex to just make one json_rpc_call at a time
  • Contributors: Fabian König, Stefan Laible

2.1.7 (2022-09-08)

  • Fixed a bug that could cause latency in localization poses
  • Remove tf broadcaster
  • Check if laser scan message is valid
  • Add refresh timer to service callback group to avoid overlapping json rpc calls
  • Update to ROKIT Locator version 1.5
  • Contributors: Fabian König, Stefan Laible

2.1.6 (2022-06-13)

  • fix module version check for compatibility with v1.4.0
  • add parameter to enable intensities
  • Contributors: Fabian König, Stefan Laible

2.1.5 (2022-02-16)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/bridge.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_RPC_Port [default: 8080]
      • locator_binaryPortsStart [default: 9004]
      • bridge_node_name [default: bridge_node]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • enable_odometry [default: false]
      • laser_datagram_port [default: 2112]
      • laser_mirror_scans [default: false]
      • laser_x [default: 0.0]
      • laser_y [default: 0.0]
      • laser_yaw [default: 0.0]
      • laser_use_intensities [default: false]
      • laser2_enable [default: false]
      • laser2_datagram_port [default: 2113]
      • laser2_mirror_scans [default: false]
      • laser2_x [default: 0.0]
      • laser2_y [default: 0.0]
      • laser2_yaw [default: 0.0]
      • laser2_use_intensities [default: false]
      • enable_reflector_markers [default: false]
      • odom_datagram_port [default: 1111]
      • scan_topic [default: /scan]
      • scan2_topic [default: /scan2]
      • odom_topic [default: /odom]
      • odometry_velocity_set [default: false]
  • launch/bridge_with_bagplayback.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_RPC_Port [default: 8080]
      • locator_binaryPortsStart [default: 9004]
      • bridge_node_name [default: bridge_node]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • enable_odometry [default: false]
      • bag [default: ]
      • laser_datagram_port [default: 2112]
      • laser_mirror_scans [default: false]
      • laser_x [default: 0.0]
      • laser_y [default: 0.0]
      • laser_yaw [default: 0.0]
      • laser_use_intensities [default: false]
      • laser2_enable [default: false]
      • laser2_datagram_port [default: 2113]
      • laser2_mirror_scans [default: false]
      • laser2_x [default: 0.0]
      • laser2_y [default: 0.0]
      • laser2_yaw [default: 0.0]
      • laser2_use_intensities [default: false]
      • enable_reflector_markers [default: false]
      • odom_datagram_port [default: 1111]
      • scan_topic [default: /scan]
      • scan2_topic [default: /scan2]
      • odom_topic [default: /odom]
  • launch/server_bridge.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • update_time [default: 300]

Plugins

No plugins found.

Recent questions tagged bosch_locator_bridge at Robotics Stack Exchange

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

bosch_locator_bridge package from locator_ros_bridge repo

bosch_locator_bridge bosch_locator_bridge_utils

ROS Distro
humble

Package Summary

Tags No category tags.
Version 2.1.14
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/boschglobal/locator_ros_bridge.git
VCS Type git
VCS Version humble
Last Updated 2025-05-14
Dev Status MAINTAINED
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

ROS interface to Rexroth ROKIT Locator

Additional Links

No additional links.

Maintainers

  • Stefan Laible

Authors

No additional authors.

General information about this repository, including legal information and build instructions are given in README.md in the repository root.

bosch_locator_bridge

Overview

This package provides a [ROS 2] interface to the [Rexroth ROKIT Locator]. It translates ROS 2 messages to the ROKIT Locator API (as described in the ROKIT Locator API documentation) and vice versa. It also allows to control the ROKIT Locator via ROS 2 service calls.

The package has been tested under [ROS 2] Humble and Ubuntu 22.04. The bridge is compatible with ROKIT Locator version 1.11. If you have an earlier version, see Support of earlier versions of ROKIT Locator.

Quick Start

This section describes how to record your environment, create a map out of the record and localize yourself within it.

Ensure the ROKIT Locator is reachable from your computer

Make sure the ROKIT Locator is installed and running on a computer in your network. You can test this by running the following command in a terminal (replace <LOCATOR_IP> by the IP address of the computer running the ROKIT Locator):

curl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","method":"aboutModulesList","params":{"query":{}},"id":1}' http://<LOCATOR_IP>:8080

Start Bridge Node

Start the bridge node with

ros2 launch bosch_locator_bridge bridge.launch.xml bridge_ip:=<HOST_IP> locator_ip:=<LOCATOR_IP> locator_user:=<USER> locator_password:=<PASSWORD> scan_topic:=<SCAN_TOPIC> enable_odometry:=<ENABLE_ODOM> odom_topic:=<ODOM_TOPIC>

where

  • <HOST_IP> is the IP address of the computer the bridge is to be started
  • <LOCATOR_IP> is the IP address of the computer where the ROKIT Locator is running
  • <USER> and <PASSWORD> are the credentials to log into the ROKIT Locator
  • <SCAN_TOPIC> is the topic name of the laser scans
  • <ENABLE_ODOM> is a boolean that describes whether you want to forward odometry ROS messages to the ROKIT Locator
  • <ODOM_TOPIC> is the topic name of the odometry

Since the Laser Localization Software is running in docker, the <HOST_IP> has to be set to docker0 ip address (172.17.0.1) instead of localhost ip address (127.0.0.1) when the user program providing the laser data runs on the same machine.

For additional parameters please refer to the launch file bridge.launch.xml.

Start Visual Recording

Then, make sure there are laser scans published on <SCAN_TOPIC>, and start the visual recording with e.g.

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_visual_recording.rviz
ros2 service call /bridge_node/start_visual_recording bosch_locator_bridge/srv/StartRecording "name: 'ROS-Quickstart-$(date -Isecond)'"

You should see the laser scans, the robot position and its previous path, and the recording built up over time.

Stop Visual Recording

When you are done, you can stop recording with

ros2 service call /bridge_node/stop_visual_recording std_srvs/srv/Empty

Create Map From Recording

Now, create a map from your recording with

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_map_creation.rviz
ros2 service call /bridge_node/start_map bosch_locator_bridge/srv/ClientMapStart

When the map has been created, it must be sent to the map server and set as the active map.

ros2 service call /bridge_node/send_map bosch_locator_bridge/srv/ClientMapSend
ros2 service call /bridge_node/set_map bosch_locator_bridge/srv/ClientMapSet

Start Localization

Finally, you can start the localization with

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_localization.rviz
ros2 service call /bridge_node/start_localization std_srvs/srv/Empty

You can set the initial pose of the robot by clicking the “2D Pose Estimate” button in RViz, and then set the pose in the map.

Stop Localization

When you are done, you can stop the localization with

ros2 service call /bridge_node/stop_localization std_srvs/srv/Empty

Map Expansion

  1. Record and build the prior map (map name: priormap) as usual.
  2. Start localization on this prior map and move until the system is localized.
  3. Make a note of the pose and do not move
  4. Enable map expansion
    rosservice  call /bridge_node/enable_map_expansion "prior_map_name: priormap"
    
  1. Start visual recording and use the following to visualize the prior map
    rosrun rviz rviz -d `rospack find bosch_locator_bridge`/config/locator_bridge_visual_recording_with_prior_map.rviz
    
  1. Use the pose in step 3 to set the current pose in the recording

```

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package bosch_locator_bridge

2.1.14 (2025-05-14)

  • Fix code formatting
  • Update to ROKIT Locator version 1.11 #69 from boschglobal/humble-v1.11
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible

2.1.13 (2024-11-11)

  • update tag compatible with Locator 1.9
  • update to Locator 1.10 #66 from boschglobal/humble-v1.10
  • Contributors: Sheung Ying Yuen-Wille

2.1.12 (2024-11-11)

  • Update readme.md to Locator 1.9 #65 from boschglobal/bugfix/update-readme-humble
  • Update CHANGELOG.rst #63 from boschglobal/syyuen-changelog-humble
  • Contributors: Sheung Ying Yuen-Wille

2.1.11 (2024-06-04)

  • made server compatible with Locator version 1.9 (#61)
  • compatible with 1.9 (#58)
  • Note in the Readme for earlier versions (#57)
  • correct some messages types of bridge_node in README (#55) Message type error of service /bridge_node/disable_map_expansion is found by slaible (Stefan Laible).
  • Make minRange non-negative (#53) In order to tolerate SICK picoScan150, which could produce LaserScan messages with little negative minRange, and avoid minRange validation failure errors raised by Locator. set lower limit range_min to 0
  • Update server_bridge_node.cpp made compatible with Locator version 1.8
  • update to humble (#48)
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible, TAN Hongkui, Fleer David

2.1.10 (2023-10-31)

  • update compatible Locator version to 1.8
  • Document the map expansion workflow
  • Add rviz config files for map expansion
  • Add services and interfaces for map expansion
  • Add expandmap_state in control mode
  • Remove field distanceToLastLC in ClientLocalizationVisualizationDatagram
  • Introduce parameter odometry_velocity_set of odometry message
  • Configurable Locator ports
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible

2.1.9 (2023-03-23)

  • Try to stop everything before setting config list (#35)
  • Add errorFlags and infoFlags fields to ClientLocalizationPose (#33)
  • Update to ROKIT Locator version 1.6
  • Contributors: Stefan Laible

2.1.8 (2023-02-14)

  • Support setting arbitrary Locator config entries
  • Update module versions in server node
  • Use mutex to just make one json_rpc_call at a time
  • Contributors: Fabian König, Stefan Laible

2.1.7 (2022-09-08)

  • Fixed a bug that could cause latency in localization poses
  • Remove tf broadcaster
  • Check if laser scan message is valid
  • Add refresh timer to service callback group to avoid overlapping json rpc calls
  • Update to ROKIT Locator version 1.5
  • Contributors: Fabian König, Stefan Laible

2.1.6 (2022-06-13)

  • fix module version check for compatibility with v1.4.0
  • add parameter to enable intensities
  • Contributors: Fabian König, Stefan Laible

2.1.5 (2022-02-16)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/bridge.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_RPC_Port [default: 8080]
      • locator_binaryPortsStart [default: 9004]
      • bridge_node_name [default: bridge_node]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • enable_odometry [default: false]
      • laser_datagram_port [default: 2112]
      • laser_mirror_scans [default: false]
      • laser_x [default: 0.0]
      • laser_y [default: 0.0]
      • laser_yaw [default: 0.0]
      • laser_use_intensities [default: false]
      • laser2_enable [default: false]
      • laser2_datagram_port [default: 2113]
      • laser2_mirror_scans [default: false]
      • laser2_x [default: 0.0]
      • laser2_y [default: 0.0]
      • laser2_yaw [default: 0.0]
      • laser2_use_intensities [default: false]
      • enable_reflector_markers [default: false]
      • odom_datagram_port [default: 1111]
      • scan_topic [default: /scan]
      • scan2_topic [default: /scan2]
      • odom_topic [default: /odom]
      • odometry_velocity_set [default: false]
  • launch/bridge_with_bagplayback.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_RPC_Port [default: 8080]
      • locator_binaryPortsStart [default: 9004]
      • bridge_node_name [default: bridge_node]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • enable_odometry [default: false]
      • bag [default: ]
      • laser_datagram_port [default: 2112]
      • laser_mirror_scans [default: false]
      • laser_x [default: 0.0]
      • laser_y [default: 0.0]
      • laser_yaw [default: 0.0]
      • laser_use_intensities [default: false]
      • laser2_enable [default: false]
      • laser2_datagram_port [default: 2113]
      • laser2_mirror_scans [default: false]
      • laser2_x [default: 0.0]
      • laser2_y [default: 0.0]
      • laser2_yaw [default: 0.0]
      • laser2_use_intensities [default: false]
      • enable_reflector_markers [default: false]
      • odom_datagram_port [default: 1111]
      • scan_topic [default: /scan]
      • scan2_topic [default: /scan2]
      • odom_topic [default: /odom]
  • launch/server_bridge.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • update_time [default: 300]

Plugins

No plugins found.

Recent questions tagged bosch_locator_bridge at Robotics Stack Exchange

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

bosch_locator_bridge package from locator_ros_bridge repo

bosch_locator_bridge bosch_locator_bridge_utils

ROS Distro
humble

Package Summary

Tags No category tags.
Version 2.1.14
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/boschglobal/locator_ros_bridge.git
VCS Type git
VCS Version humble
Last Updated 2025-05-14
Dev Status MAINTAINED
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

ROS interface to Rexroth ROKIT Locator

Additional Links

No additional links.

Maintainers

  • Stefan Laible

Authors

No additional authors.

General information about this repository, including legal information and build instructions are given in README.md in the repository root.

bosch_locator_bridge

Overview

This package provides a [ROS 2] interface to the [Rexroth ROKIT Locator]. It translates ROS 2 messages to the ROKIT Locator API (as described in the ROKIT Locator API documentation) and vice versa. It also allows to control the ROKIT Locator via ROS 2 service calls.

The package has been tested under [ROS 2] Humble and Ubuntu 22.04. The bridge is compatible with ROKIT Locator version 1.11. If you have an earlier version, see Support of earlier versions of ROKIT Locator.

Quick Start

This section describes how to record your environment, create a map out of the record and localize yourself within it.

Ensure the ROKIT Locator is reachable from your computer

Make sure the ROKIT Locator is installed and running on a computer in your network. You can test this by running the following command in a terminal (replace <LOCATOR_IP> by the IP address of the computer running the ROKIT Locator):

curl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","method":"aboutModulesList","params":{"query":{}},"id":1}' http://<LOCATOR_IP>:8080

Start Bridge Node

Start the bridge node with

ros2 launch bosch_locator_bridge bridge.launch.xml bridge_ip:=<HOST_IP> locator_ip:=<LOCATOR_IP> locator_user:=<USER> locator_password:=<PASSWORD> scan_topic:=<SCAN_TOPIC> enable_odometry:=<ENABLE_ODOM> odom_topic:=<ODOM_TOPIC>

where

  • <HOST_IP> is the IP address of the computer the bridge is to be started
  • <LOCATOR_IP> is the IP address of the computer where the ROKIT Locator is running
  • <USER> and <PASSWORD> are the credentials to log into the ROKIT Locator
  • <SCAN_TOPIC> is the topic name of the laser scans
  • <ENABLE_ODOM> is a boolean that describes whether you want to forward odometry ROS messages to the ROKIT Locator
  • <ODOM_TOPIC> is the topic name of the odometry

Since the Laser Localization Software is running in docker, the <HOST_IP> has to be set to docker0 ip address (172.17.0.1) instead of localhost ip address (127.0.0.1) when the user program providing the laser data runs on the same machine.

For additional parameters please refer to the launch file bridge.launch.xml.

Start Visual Recording

Then, make sure there are laser scans published on <SCAN_TOPIC>, and start the visual recording with e.g.

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_visual_recording.rviz
ros2 service call /bridge_node/start_visual_recording bosch_locator_bridge/srv/StartRecording "name: 'ROS-Quickstart-$(date -Isecond)'"

You should see the laser scans, the robot position and its previous path, and the recording built up over time.

Stop Visual Recording

When you are done, you can stop recording with

ros2 service call /bridge_node/stop_visual_recording std_srvs/srv/Empty

Create Map From Recording

Now, create a map from your recording with

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_map_creation.rviz
ros2 service call /bridge_node/start_map bosch_locator_bridge/srv/ClientMapStart

When the map has been created, it must be sent to the map server and set as the active map.

ros2 service call /bridge_node/send_map bosch_locator_bridge/srv/ClientMapSend
ros2 service call /bridge_node/set_map bosch_locator_bridge/srv/ClientMapSet

Start Localization

Finally, you can start the localization with

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_localization.rviz
ros2 service call /bridge_node/start_localization std_srvs/srv/Empty

You can set the initial pose of the robot by clicking the “2D Pose Estimate” button in RViz, and then set the pose in the map.

Stop Localization

When you are done, you can stop the localization with

ros2 service call /bridge_node/stop_localization std_srvs/srv/Empty

Map Expansion

  1. Record and build the prior map (map name: priormap) as usual.
  2. Start localization on this prior map and move until the system is localized.
  3. Make a note of the pose and do not move
  4. Enable map expansion
    rosservice  call /bridge_node/enable_map_expansion "prior_map_name: priormap"
    
  1. Start visual recording and use the following to visualize the prior map
    rosrun rviz rviz -d `rospack find bosch_locator_bridge`/config/locator_bridge_visual_recording_with_prior_map.rviz
    
  1. Use the pose in step 3 to set the current pose in the recording

```

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package bosch_locator_bridge

2.1.14 (2025-05-14)

  • Fix code formatting
  • Update to ROKIT Locator version 1.11 #69 from boschglobal/humble-v1.11
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible

2.1.13 (2024-11-11)

  • update tag compatible with Locator 1.9
  • update to Locator 1.10 #66 from boschglobal/humble-v1.10
  • Contributors: Sheung Ying Yuen-Wille

2.1.12 (2024-11-11)

  • Update readme.md to Locator 1.9 #65 from boschglobal/bugfix/update-readme-humble
  • Update CHANGELOG.rst #63 from boschglobal/syyuen-changelog-humble
  • Contributors: Sheung Ying Yuen-Wille

2.1.11 (2024-06-04)

  • made server compatible with Locator version 1.9 (#61)
  • compatible with 1.9 (#58)
  • Note in the Readme for earlier versions (#57)
  • correct some messages types of bridge_node in README (#55) Message type error of service /bridge_node/disable_map_expansion is found by slaible (Stefan Laible).
  • Make minRange non-negative (#53) In order to tolerate SICK picoScan150, which could produce LaserScan messages with little negative minRange, and avoid minRange validation failure errors raised by Locator. set lower limit range_min to 0
  • Update server_bridge_node.cpp made compatible with Locator version 1.8
  • update to humble (#48)
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible, TAN Hongkui, Fleer David

2.1.10 (2023-10-31)

  • update compatible Locator version to 1.8
  • Document the map expansion workflow
  • Add rviz config files for map expansion
  • Add services and interfaces for map expansion
  • Add expandmap_state in control mode
  • Remove field distanceToLastLC in ClientLocalizationVisualizationDatagram
  • Introduce parameter odometry_velocity_set of odometry message
  • Configurable Locator ports
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible

2.1.9 (2023-03-23)

  • Try to stop everything before setting config list (#35)
  • Add errorFlags and infoFlags fields to ClientLocalizationPose (#33)
  • Update to ROKIT Locator version 1.6
  • Contributors: Stefan Laible

2.1.8 (2023-02-14)

  • Support setting arbitrary Locator config entries
  • Update module versions in server node
  • Use mutex to just make one json_rpc_call at a time
  • Contributors: Fabian König, Stefan Laible

2.1.7 (2022-09-08)

  • Fixed a bug that could cause latency in localization poses
  • Remove tf broadcaster
  • Check if laser scan message is valid
  • Add refresh timer to service callback group to avoid overlapping json rpc calls
  • Update to ROKIT Locator version 1.5
  • Contributors: Fabian König, Stefan Laible

2.1.6 (2022-06-13)

  • fix module version check for compatibility with v1.4.0
  • add parameter to enable intensities
  • Contributors: Fabian König, Stefan Laible

2.1.5 (2022-02-16)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/bridge.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_RPC_Port [default: 8080]
      • locator_binaryPortsStart [default: 9004]
      • bridge_node_name [default: bridge_node]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • enable_odometry [default: false]
      • laser_datagram_port [default: 2112]
      • laser_mirror_scans [default: false]
      • laser_x [default: 0.0]
      • laser_y [default: 0.0]
      • laser_yaw [default: 0.0]
      • laser_use_intensities [default: false]
      • laser2_enable [default: false]
      • laser2_datagram_port [default: 2113]
      • laser2_mirror_scans [default: false]
      • laser2_x [default: 0.0]
      • laser2_y [default: 0.0]
      • laser2_yaw [default: 0.0]
      • laser2_use_intensities [default: false]
      • enable_reflector_markers [default: false]
      • odom_datagram_port [default: 1111]
      • scan_topic [default: /scan]
      • scan2_topic [default: /scan2]
      • odom_topic [default: /odom]
      • odometry_velocity_set [default: false]
  • launch/bridge_with_bagplayback.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_RPC_Port [default: 8080]
      • locator_binaryPortsStart [default: 9004]
      • bridge_node_name [default: bridge_node]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • enable_odometry [default: false]
      • bag [default: ]
      • laser_datagram_port [default: 2112]
      • laser_mirror_scans [default: false]
      • laser_x [default: 0.0]
      • laser_y [default: 0.0]
      • laser_yaw [default: 0.0]
      • laser_use_intensities [default: false]
      • laser2_enable [default: false]
      • laser2_datagram_port [default: 2113]
      • laser2_mirror_scans [default: false]
      • laser2_x [default: 0.0]
      • laser2_y [default: 0.0]
      • laser2_yaw [default: 0.0]
      • laser2_use_intensities [default: false]
      • enable_reflector_markers [default: false]
      • odom_datagram_port [default: 1111]
      • scan_topic [default: /scan]
      • scan2_topic [default: /scan2]
      • odom_topic [default: /odom]
  • launch/server_bridge.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • update_time [default: 300]

Plugins

No plugins found.

Recent questions tagged bosch_locator_bridge at Robotics Stack Exchange

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

bosch_locator_bridge package from locator_ros_bridge repo

bosch_locator_bridge bosch_locator_bridge_utils

ROS Distro
humble

Package Summary

Tags No category tags.
Version 2.1.14
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/boschglobal/locator_ros_bridge.git
VCS Type git
VCS Version humble
Last Updated 2025-05-14
Dev Status MAINTAINED
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

ROS interface to Rexroth ROKIT Locator

Additional Links

No additional links.

Maintainers

  • Stefan Laible

Authors

No additional authors.

General information about this repository, including legal information and build instructions are given in README.md in the repository root.

bosch_locator_bridge

Overview

This package provides a [ROS 2] interface to the [Rexroth ROKIT Locator]. It translates ROS 2 messages to the ROKIT Locator API (as described in the ROKIT Locator API documentation) and vice versa. It also allows to control the ROKIT Locator via ROS 2 service calls.

The package has been tested under [ROS 2] Humble and Ubuntu 22.04. The bridge is compatible with ROKIT Locator version 1.11. If you have an earlier version, see Support of earlier versions of ROKIT Locator.

Quick Start

This section describes how to record your environment, create a map out of the record and localize yourself within it.

Ensure the ROKIT Locator is reachable from your computer

Make sure the ROKIT Locator is installed and running on a computer in your network. You can test this by running the following command in a terminal (replace <LOCATOR_IP> by the IP address of the computer running the ROKIT Locator):

curl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","method":"aboutModulesList","params":{"query":{}},"id":1}' http://<LOCATOR_IP>:8080

Start Bridge Node

Start the bridge node with

ros2 launch bosch_locator_bridge bridge.launch.xml bridge_ip:=<HOST_IP> locator_ip:=<LOCATOR_IP> locator_user:=<USER> locator_password:=<PASSWORD> scan_topic:=<SCAN_TOPIC> enable_odometry:=<ENABLE_ODOM> odom_topic:=<ODOM_TOPIC>

where

  • <HOST_IP> is the IP address of the computer the bridge is to be started
  • <LOCATOR_IP> is the IP address of the computer where the ROKIT Locator is running
  • <USER> and <PASSWORD> are the credentials to log into the ROKIT Locator
  • <SCAN_TOPIC> is the topic name of the laser scans
  • <ENABLE_ODOM> is a boolean that describes whether you want to forward odometry ROS messages to the ROKIT Locator
  • <ODOM_TOPIC> is the topic name of the odometry

Since the Laser Localization Software is running in docker, the <HOST_IP> has to be set to docker0 ip address (172.17.0.1) instead of localhost ip address (127.0.0.1) when the user program providing the laser data runs on the same machine.

For additional parameters please refer to the launch file bridge.launch.xml.

Start Visual Recording

Then, make sure there are laser scans published on <SCAN_TOPIC>, and start the visual recording with e.g.

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_visual_recording.rviz
ros2 service call /bridge_node/start_visual_recording bosch_locator_bridge/srv/StartRecording "name: 'ROS-Quickstart-$(date -Isecond)'"

You should see the laser scans, the robot position and its previous path, and the recording built up over time.

Stop Visual Recording

When you are done, you can stop recording with

ros2 service call /bridge_node/stop_visual_recording std_srvs/srv/Empty

Create Map From Recording

Now, create a map from your recording with

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_map_creation.rviz
ros2 service call /bridge_node/start_map bosch_locator_bridge/srv/ClientMapStart

When the map has been created, it must be sent to the map server and set as the active map.

ros2 service call /bridge_node/send_map bosch_locator_bridge/srv/ClientMapSend
ros2 service call /bridge_node/set_map bosch_locator_bridge/srv/ClientMapSet

Start Localization

Finally, you can start the localization with

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_localization.rviz
ros2 service call /bridge_node/start_localization std_srvs/srv/Empty

You can set the initial pose of the robot by clicking the “2D Pose Estimate” button in RViz, and then set the pose in the map.

Stop Localization

When you are done, you can stop the localization with

ros2 service call /bridge_node/stop_localization std_srvs/srv/Empty

Map Expansion

  1. Record and build the prior map (map name: priormap) as usual.
  2. Start localization on this prior map and move until the system is localized.
  3. Make a note of the pose and do not move
  4. Enable map expansion
    rosservice  call /bridge_node/enable_map_expansion "prior_map_name: priormap"
    
  1. Start visual recording and use the following to visualize the prior map
    rosrun rviz rviz -d `rospack find bosch_locator_bridge`/config/locator_bridge_visual_recording_with_prior_map.rviz
    
  1. Use the pose in step 3 to set the current pose in the recording

```

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package bosch_locator_bridge

2.1.14 (2025-05-14)

  • Fix code formatting
  • Update to ROKIT Locator version 1.11 #69 from boschglobal/humble-v1.11
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible

2.1.13 (2024-11-11)

  • update tag compatible with Locator 1.9
  • update to Locator 1.10 #66 from boschglobal/humble-v1.10
  • Contributors: Sheung Ying Yuen-Wille

2.1.12 (2024-11-11)

  • Update readme.md to Locator 1.9 #65 from boschglobal/bugfix/update-readme-humble
  • Update CHANGELOG.rst #63 from boschglobal/syyuen-changelog-humble
  • Contributors: Sheung Ying Yuen-Wille

2.1.11 (2024-06-04)

  • made server compatible with Locator version 1.9 (#61)
  • compatible with 1.9 (#58)
  • Note in the Readme for earlier versions (#57)
  • correct some messages types of bridge_node in README (#55) Message type error of service /bridge_node/disable_map_expansion is found by slaible (Stefan Laible).
  • Make minRange non-negative (#53) In order to tolerate SICK picoScan150, which could produce LaserScan messages with little negative minRange, and avoid minRange validation failure errors raised by Locator. set lower limit range_min to 0
  • Update server_bridge_node.cpp made compatible with Locator version 1.8
  • update to humble (#48)
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible, TAN Hongkui, Fleer David

2.1.10 (2023-10-31)

  • update compatible Locator version to 1.8
  • Document the map expansion workflow
  • Add rviz config files for map expansion
  • Add services and interfaces for map expansion
  • Add expandmap_state in control mode
  • Remove field distanceToLastLC in ClientLocalizationVisualizationDatagram
  • Introduce parameter odometry_velocity_set of odometry message
  • Configurable Locator ports
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible

2.1.9 (2023-03-23)

  • Try to stop everything before setting config list (#35)
  • Add errorFlags and infoFlags fields to ClientLocalizationPose (#33)
  • Update to ROKIT Locator version 1.6
  • Contributors: Stefan Laible

2.1.8 (2023-02-14)

  • Support setting arbitrary Locator config entries
  • Update module versions in server node
  • Use mutex to just make one json_rpc_call at a time
  • Contributors: Fabian König, Stefan Laible

2.1.7 (2022-09-08)

  • Fixed a bug that could cause latency in localization poses
  • Remove tf broadcaster
  • Check if laser scan message is valid
  • Add refresh timer to service callback group to avoid overlapping json rpc calls
  • Update to ROKIT Locator version 1.5
  • Contributors: Fabian König, Stefan Laible

2.1.6 (2022-06-13)

  • fix module version check for compatibility with v1.4.0
  • add parameter to enable intensities
  • Contributors: Fabian König, Stefan Laible

2.1.5 (2022-02-16)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/bridge.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_RPC_Port [default: 8080]
      • locator_binaryPortsStart [default: 9004]
      • bridge_node_name [default: bridge_node]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • enable_odometry [default: false]
      • laser_datagram_port [default: 2112]
      • laser_mirror_scans [default: false]
      • laser_x [default: 0.0]
      • laser_y [default: 0.0]
      • laser_yaw [default: 0.0]
      • laser_use_intensities [default: false]
      • laser2_enable [default: false]
      • laser2_datagram_port [default: 2113]
      • laser2_mirror_scans [default: false]
      • laser2_x [default: 0.0]
      • laser2_y [default: 0.0]
      • laser2_yaw [default: 0.0]
      • laser2_use_intensities [default: false]
      • enable_reflector_markers [default: false]
      • odom_datagram_port [default: 1111]
      • scan_topic [default: /scan]
      • scan2_topic [default: /scan2]
      • odom_topic [default: /odom]
      • odometry_velocity_set [default: false]
  • launch/bridge_with_bagplayback.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_RPC_Port [default: 8080]
      • locator_binaryPortsStart [default: 9004]
      • bridge_node_name [default: bridge_node]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • enable_odometry [default: false]
      • bag [default: ]
      • laser_datagram_port [default: 2112]
      • laser_mirror_scans [default: false]
      • laser_x [default: 0.0]
      • laser_y [default: 0.0]
      • laser_yaw [default: 0.0]
      • laser_use_intensities [default: false]
      • laser2_enable [default: false]
      • laser2_datagram_port [default: 2113]
      • laser2_mirror_scans [default: false]
      • laser2_x [default: 0.0]
      • laser2_y [default: 0.0]
      • laser2_yaw [default: 0.0]
      • laser2_use_intensities [default: false]
      • enable_reflector_markers [default: false]
      • odom_datagram_port [default: 1111]
      • scan_topic [default: /scan]
      • scan2_topic [default: /scan2]
      • odom_topic [default: /odom]
  • launch/server_bridge.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • update_time [default: 300]

Plugins

No plugins found.

Recent questions tagged bosch_locator_bridge at Robotics Stack Exchange

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

bosch_locator_bridge package from locator_ros_bridge repo

bosch_locator_bridge bosch_locator_bridge_utils

ROS Distro
humble

Package Summary

Tags No category tags.
Version 2.1.14
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/boschglobal/locator_ros_bridge.git
VCS Type git
VCS Version humble
Last Updated 2025-05-14
Dev Status MAINTAINED
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

ROS interface to Rexroth ROKIT Locator

Additional Links

No additional links.

Maintainers

  • Stefan Laible

Authors

No additional authors.

General information about this repository, including legal information and build instructions are given in README.md in the repository root.

bosch_locator_bridge

Overview

This package provides a [ROS 2] interface to the [Rexroth ROKIT Locator]. It translates ROS 2 messages to the ROKIT Locator API (as described in the ROKIT Locator API documentation) and vice versa. It also allows to control the ROKIT Locator via ROS 2 service calls.

The package has been tested under [ROS 2] Humble and Ubuntu 22.04. The bridge is compatible with ROKIT Locator version 1.11. If you have an earlier version, see Support of earlier versions of ROKIT Locator.

Quick Start

This section describes how to record your environment, create a map out of the record and localize yourself within it.

Ensure the ROKIT Locator is reachable from your computer

Make sure the ROKIT Locator is installed and running on a computer in your network. You can test this by running the following command in a terminal (replace <LOCATOR_IP> by the IP address of the computer running the ROKIT Locator):

curl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","method":"aboutModulesList","params":{"query":{}},"id":1}' http://<LOCATOR_IP>:8080

Start Bridge Node

Start the bridge node with

ros2 launch bosch_locator_bridge bridge.launch.xml bridge_ip:=<HOST_IP> locator_ip:=<LOCATOR_IP> locator_user:=<USER> locator_password:=<PASSWORD> scan_topic:=<SCAN_TOPIC> enable_odometry:=<ENABLE_ODOM> odom_topic:=<ODOM_TOPIC>

where

  • <HOST_IP> is the IP address of the computer the bridge is to be started
  • <LOCATOR_IP> is the IP address of the computer where the ROKIT Locator is running
  • <USER> and <PASSWORD> are the credentials to log into the ROKIT Locator
  • <SCAN_TOPIC> is the topic name of the laser scans
  • <ENABLE_ODOM> is a boolean that describes whether you want to forward odometry ROS messages to the ROKIT Locator
  • <ODOM_TOPIC> is the topic name of the odometry

Since the Laser Localization Software is running in docker, the <HOST_IP> has to be set to docker0 ip address (172.17.0.1) instead of localhost ip address (127.0.0.1) when the user program providing the laser data runs on the same machine.

For additional parameters please refer to the launch file bridge.launch.xml.

Start Visual Recording

Then, make sure there are laser scans published on <SCAN_TOPIC>, and start the visual recording with e.g.

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_visual_recording.rviz
ros2 service call /bridge_node/start_visual_recording bosch_locator_bridge/srv/StartRecording "name: 'ROS-Quickstart-$(date -Isecond)'"

You should see the laser scans, the robot position and its previous path, and the recording built up over time.

Stop Visual Recording

When you are done, you can stop recording with

ros2 service call /bridge_node/stop_visual_recording std_srvs/srv/Empty

Create Map From Recording

Now, create a map from your recording with

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_map_creation.rviz
ros2 service call /bridge_node/start_map bosch_locator_bridge/srv/ClientMapStart

When the map has been created, it must be sent to the map server and set as the active map.

ros2 service call /bridge_node/send_map bosch_locator_bridge/srv/ClientMapSend
ros2 service call /bridge_node/set_map bosch_locator_bridge/srv/ClientMapSet

Start Localization

Finally, you can start the localization with

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_localization.rviz
ros2 service call /bridge_node/start_localization std_srvs/srv/Empty

You can set the initial pose of the robot by clicking the “2D Pose Estimate” button in RViz, and then set the pose in the map.

Stop Localization

When you are done, you can stop the localization with

ros2 service call /bridge_node/stop_localization std_srvs/srv/Empty

Map Expansion

  1. Record and build the prior map (map name: priormap) as usual.
  2. Start localization on this prior map and move until the system is localized.
  3. Make a note of the pose and do not move
  4. Enable map expansion
    rosservice  call /bridge_node/enable_map_expansion "prior_map_name: priormap"
    
  1. Start visual recording and use the following to visualize the prior map
    rosrun rviz rviz -d `rospack find bosch_locator_bridge`/config/locator_bridge_visual_recording_with_prior_map.rviz
    
  1. Use the pose in step 3 to set the current pose in the recording

```

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package bosch_locator_bridge

2.1.14 (2025-05-14)

  • Fix code formatting
  • Update to ROKIT Locator version 1.11 #69 from boschglobal/humble-v1.11
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible

2.1.13 (2024-11-11)

  • update tag compatible with Locator 1.9
  • update to Locator 1.10 #66 from boschglobal/humble-v1.10
  • Contributors: Sheung Ying Yuen-Wille

2.1.12 (2024-11-11)

  • Update readme.md to Locator 1.9 #65 from boschglobal/bugfix/update-readme-humble
  • Update CHANGELOG.rst #63 from boschglobal/syyuen-changelog-humble
  • Contributors: Sheung Ying Yuen-Wille

2.1.11 (2024-06-04)

  • made server compatible with Locator version 1.9 (#61)
  • compatible with 1.9 (#58)
  • Note in the Readme for earlier versions (#57)
  • correct some messages types of bridge_node in README (#55) Message type error of service /bridge_node/disable_map_expansion is found by slaible (Stefan Laible).
  • Make minRange non-negative (#53) In order to tolerate SICK picoScan150, which could produce LaserScan messages with little negative minRange, and avoid minRange validation failure errors raised by Locator. set lower limit range_min to 0
  • Update server_bridge_node.cpp made compatible with Locator version 1.8
  • update to humble (#48)
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible, TAN Hongkui, Fleer David

2.1.10 (2023-10-31)

  • update compatible Locator version to 1.8
  • Document the map expansion workflow
  • Add rviz config files for map expansion
  • Add services and interfaces for map expansion
  • Add expandmap_state in control mode
  • Remove field distanceToLastLC in ClientLocalizationVisualizationDatagram
  • Introduce parameter odometry_velocity_set of odometry message
  • Configurable Locator ports
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible

2.1.9 (2023-03-23)

  • Try to stop everything before setting config list (#35)
  • Add errorFlags and infoFlags fields to ClientLocalizationPose (#33)
  • Update to ROKIT Locator version 1.6
  • Contributors: Stefan Laible

2.1.8 (2023-02-14)

  • Support setting arbitrary Locator config entries
  • Update module versions in server node
  • Use mutex to just make one json_rpc_call at a time
  • Contributors: Fabian König, Stefan Laible

2.1.7 (2022-09-08)

  • Fixed a bug that could cause latency in localization poses
  • Remove tf broadcaster
  • Check if laser scan message is valid
  • Add refresh timer to service callback group to avoid overlapping json rpc calls
  • Update to ROKIT Locator version 1.5
  • Contributors: Fabian König, Stefan Laible

2.1.6 (2022-06-13)

  • fix module version check for compatibility with v1.4.0
  • add parameter to enable intensities
  • Contributors: Fabian König, Stefan Laible

2.1.5 (2022-02-16)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/bridge.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_RPC_Port [default: 8080]
      • locator_binaryPortsStart [default: 9004]
      • bridge_node_name [default: bridge_node]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • enable_odometry [default: false]
      • laser_datagram_port [default: 2112]
      • laser_mirror_scans [default: false]
      • laser_x [default: 0.0]
      • laser_y [default: 0.0]
      • laser_yaw [default: 0.0]
      • laser_use_intensities [default: false]
      • laser2_enable [default: false]
      • laser2_datagram_port [default: 2113]
      • laser2_mirror_scans [default: false]
      • laser2_x [default: 0.0]
      • laser2_y [default: 0.0]
      • laser2_yaw [default: 0.0]
      • laser2_use_intensities [default: false]
      • enable_reflector_markers [default: false]
      • odom_datagram_port [default: 1111]
      • scan_topic [default: /scan]
      • scan2_topic [default: /scan2]
      • odom_topic [default: /odom]
      • odometry_velocity_set [default: false]
  • launch/bridge_with_bagplayback.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_RPC_Port [default: 8080]
      • locator_binaryPortsStart [default: 9004]
      • bridge_node_name [default: bridge_node]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • enable_odometry [default: false]
      • bag [default: ]
      • laser_datagram_port [default: 2112]
      • laser_mirror_scans [default: false]
      • laser_x [default: 0.0]
      • laser_y [default: 0.0]
      • laser_yaw [default: 0.0]
      • laser_use_intensities [default: false]
      • laser2_enable [default: false]
      • laser2_datagram_port [default: 2113]
      • laser2_mirror_scans [default: false]
      • laser2_x [default: 0.0]
      • laser2_y [default: 0.0]
      • laser2_yaw [default: 0.0]
      • laser2_use_intensities [default: false]
      • enable_reflector_markers [default: false]
      • odom_datagram_port [default: 1111]
      • scan_topic [default: /scan]
      • scan2_topic [default: /scan2]
      • odom_topic [default: /odom]
  • launch/server_bridge.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • update_time [default: 300]

Plugins

No plugins found.

Recent questions tagged bosch_locator_bridge at Robotics Stack Exchange

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

bosch_locator_bridge package from locator_ros_bridge repo

bosch_locator_bridge bosch_locator_bridge_utils

ROS Distro
humble

Package Summary

Tags No category tags.
Version 2.1.14
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/boschglobal/locator_ros_bridge.git
VCS Type git
VCS Version humble
Last Updated 2025-05-14
Dev Status MAINTAINED
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

ROS interface to Rexroth ROKIT Locator

Additional Links

No additional links.

Maintainers

  • Stefan Laible

Authors

No additional authors.

General information about this repository, including legal information and build instructions are given in README.md in the repository root.

bosch_locator_bridge

Overview

This package provides a [ROS 2] interface to the [Rexroth ROKIT Locator]. It translates ROS 2 messages to the ROKIT Locator API (as described in the ROKIT Locator API documentation) and vice versa. It also allows to control the ROKIT Locator via ROS 2 service calls.

The package has been tested under [ROS 2] Humble and Ubuntu 22.04. The bridge is compatible with ROKIT Locator version 1.11. If you have an earlier version, see Support of earlier versions of ROKIT Locator.

Quick Start

This section describes how to record your environment, create a map out of the record and localize yourself within it.

Ensure the ROKIT Locator is reachable from your computer

Make sure the ROKIT Locator is installed and running on a computer in your network. You can test this by running the following command in a terminal (replace <LOCATOR_IP> by the IP address of the computer running the ROKIT Locator):

curl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","method":"aboutModulesList","params":{"query":{}},"id":1}' http://<LOCATOR_IP>:8080

Start Bridge Node

Start the bridge node with

ros2 launch bosch_locator_bridge bridge.launch.xml bridge_ip:=<HOST_IP> locator_ip:=<LOCATOR_IP> locator_user:=<USER> locator_password:=<PASSWORD> scan_topic:=<SCAN_TOPIC> enable_odometry:=<ENABLE_ODOM> odom_topic:=<ODOM_TOPIC>

where

  • <HOST_IP> is the IP address of the computer the bridge is to be started
  • <LOCATOR_IP> is the IP address of the computer where the ROKIT Locator is running
  • <USER> and <PASSWORD> are the credentials to log into the ROKIT Locator
  • <SCAN_TOPIC> is the topic name of the laser scans
  • <ENABLE_ODOM> is a boolean that describes whether you want to forward odometry ROS messages to the ROKIT Locator
  • <ODOM_TOPIC> is the topic name of the odometry

Since the Laser Localization Software is running in docker, the <HOST_IP> has to be set to docker0 ip address (172.17.0.1) instead of localhost ip address (127.0.0.1) when the user program providing the laser data runs on the same machine.

For additional parameters please refer to the launch file bridge.launch.xml.

Start Visual Recording

Then, make sure there are laser scans published on <SCAN_TOPIC>, and start the visual recording with e.g.

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_visual_recording.rviz
ros2 service call /bridge_node/start_visual_recording bosch_locator_bridge/srv/StartRecording "name: 'ROS-Quickstart-$(date -Isecond)'"

You should see the laser scans, the robot position and its previous path, and the recording built up over time.

Stop Visual Recording

When you are done, you can stop recording with

ros2 service call /bridge_node/stop_visual_recording std_srvs/srv/Empty

Create Map From Recording

Now, create a map from your recording with

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_map_creation.rviz
ros2 service call /bridge_node/start_map bosch_locator_bridge/srv/ClientMapStart

When the map has been created, it must be sent to the map server and set as the active map.

ros2 service call /bridge_node/send_map bosch_locator_bridge/srv/ClientMapSend
ros2 service call /bridge_node/set_map bosch_locator_bridge/srv/ClientMapSet

Start Localization

Finally, you can start the localization with

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_localization.rviz
ros2 service call /bridge_node/start_localization std_srvs/srv/Empty

You can set the initial pose of the robot by clicking the “2D Pose Estimate” button in RViz, and then set the pose in the map.

Stop Localization

When you are done, you can stop the localization with

ros2 service call /bridge_node/stop_localization std_srvs/srv/Empty

Map Expansion

  1. Record and build the prior map (map name: priormap) as usual.
  2. Start localization on this prior map and move until the system is localized.
  3. Make a note of the pose and do not move
  4. Enable map expansion
    rosservice  call /bridge_node/enable_map_expansion "prior_map_name: priormap"
    
  1. Start visual recording and use the following to visualize the prior map
    rosrun rviz rviz -d `rospack find bosch_locator_bridge`/config/locator_bridge_visual_recording_with_prior_map.rviz
    
  1. Use the pose in step 3 to set the current pose in the recording

```

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package bosch_locator_bridge

2.1.14 (2025-05-14)

  • Fix code formatting
  • Update to ROKIT Locator version 1.11 #69 from boschglobal/humble-v1.11
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible

2.1.13 (2024-11-11)

  • update tag compatible with Locator 1.9
  • update to Locator 1.10 #66 from boschglobal/humble-v1.10
  • Contributors: Sheung Ying Yuen-Wille

2.1.12 (2024-11-11)

  • Update readme.md to Locator 1.9 #65 from boschglobal/bugfix/update-readme-humble
  • Update CHANGELOG.rst #63 from boschglobal/syyuen-changelog-humble
  • Contributors: Sheung Ying Yuen-Wille

2.1.11 (2024-06-04)

  • made server compatible with Locator version 1.9 (#61)
  • compatible with 1.9 (#58)
  • Note in the Readme for earlier versions (#57)
  • correct some messages types of bridge_node in README (#55) Message type error of service /bridge_node/disable_map_expansion is found by slaible (Stefan Laible).
  • Make minRange non-negative (#53) In order to tolerate SICK picoScan150, which could produce LaserScan messages with little negative minRange, and avoid minRange validation failure errors raised by Locator. set lower limit range_min to 0
  • Update server_bridge_node.cpp made compatible with Locator version 1.8
  • update to humble (#48)
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible, TAN Hongkui, Fleer David

2.1.10 (2023-10-31)

  • update compatible Locator version to 1.8
  • Document the map expansion workflow
  • Add rviz config files for map expansion
  • Add services and interfaces for map expansion
  • Add expandmap_state in control mode
  • Remove field distanceToLastLC in ClientLocalizationVisualizationDatagram
  • Introduce parameter odometry_velocity_set of odometry message
  • Configurable Locator ports
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible

2.1.9 (2023-03-23)

  • Try to stop everything before setting config list (#35)
  • Add errorFlags and infoFlags fields to ClientLocalizationPose (#33)
  • Update to ROKIT Locator version 1.6
  • Contributors: Stefan Laible

2.1.8 (2023-02-14)

  • Support setting arbitrary Locator config entries
  • Update module versions in server node
  • Use mutex to just make one json_rpc_call at a time
  • Contributors: Fabian König, Stefan Laible

2.1.7 (2022-09-08)

  • Fixed a bug that could cause latency in localization poses
  • Remove tf broadcaster
  • Check if laser scan message is valid
  • Add refresh timer to service callback group to avoid overlapping json rpc calls
  • Update to ROKIT Locator version 1.5
  • Contributors: Fabian König, Stefan Laible

2.1.6 (2022-06-13)

  • fix module version check for compatibility with v1.4.0
  • add parameter to enable intensities
  • Contributors: Fabian König, Stefan Laible

2.1.5 (2022-02-16)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/bridge.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_RPC_Port [default: 8080]
      • locator_binaryPortsStart [default: 9004]
      • bridge_node_name [default: bridge_node]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • enable_odometry [default: false]
      • laser_datagram_port [default: 2112]
      • laser_mirror_scans [default: false]
      • laser_x [default: 0.0]
      • laser_y [default: 0.0]
      • laser_yaw [default: 0.0]
      • laser_use_intensities [default: false]
      • laser2_enable [default: false]
      • laser2_datagram_port [default: 2113]
      • laser2_mirror_scans [default: false]
      • laser2_x [default: 0.0]
      • laser2_y [default: 0.0]
      • laser2_yaw [default: 0.0]
      • laser2_use_intensities [default: false]
      • enable_reflector_markers [default: false]
      • odom_datagram_port [default: 1111]
      • scan_topic [default: /scan]
      • scan2_topic [default: /scan2]
      • odom_topic [default: /odom]
      • odometry_velocity_set [default: false]
  • launch/bridge_with_bagplayback.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_RPC_Port [default: 8080]
      • locator_binaryPortsStart [default: 9004]
      • bridge_node_name [default: bridge_node]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • enable_odometry [default: false]
      • bag [default: ]
      • laser_datagram_port [default: 2112]
      • laser_mirror_scans [default: false]
      • laser_x [default: 0.0]
      • laser_y [default: 0.0]
      • laser_yaw [default: 0.0]
      • laser_use_intensities [default: false]
      • laser2_enable [default: false]
      • laser2_datagram_port [default: 2113]
      • laser2_mirror_scans [default: false]
      • laser2_x [default: 0.0]
      • laser2_y [default: 0.0]
      • laser2_yaw [default: 0.0]
      • laser2_use_intensities [default: false]
      • enable_reflector_markers [default: false]
      • odom_datagram_port [default: 1111]
      • scan_topic [default: /scan]
      • scan2_topic [default: /scan2]
      • odom_topic [default: /odom]
  • launch/server_bridge.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • update_time [default: 300]

Plugins

No plugins found.

Recent questions tagged bosch_locator_bridge at Robotics Stack Exchange

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

bosch_locator_bridge package from locator_ros_bridge repo

bosch_locator_bridge bosch_locator_bridge_utils

ROS Distro
humble

Package Summary

Tags No category tags.
Version 2.1.14
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/boschglobal/locator_ros_bridge.git
VCS Type git
VCS Version humble
Last Updated 2025-05-14
Dev Status MAINTAINED
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

ROS interface to Rexroth ROKIT Locator

Additional Links

No additional links.

Maintainers

  • Stefan Laible

Authors

No additional authors.

General information about this repository, including legal information and build instructions are given in README.md in the repository root.

bosch_locator_bridge

Overview

This package provides a [ROS 2] interface to the [Rexroth ROKIT Locator]. It translates ROS 2 messages to the ROKIT Locator API (as described in the ROKIT Locator API documentation) and vice versa. It also allows to control the ROKIT Locator via ROS 2 service calls.

The package has been tested under [ROS 2] Humble and Ubuntu 22.04. The bridge is compatible with ROKIT Locator version 1.11. If you have an earlier version, see Support of earlier versions of ROKIT Locator.

Quick Start

This section describes how to record your environment, create a map out of the record and localize yourself within it.

Ensure the ROKIT Locator is reachable from your computer

Make sure the ROKIT Locator is installed and running on a computer in your network. You can test this by running the following command in a terminal (replace <LOCATOR_IP> by the IP address of the computer running the ROKIT Locator):

curl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","method":"aboutModulesList","params":{"query":{}},"id":1}' http://<LOCATOR_IP>:8080

Start Bridge Node

Start the bridge node with

ros2 launch bosch_locator_bridge bridge.launch.xml bridge_ip:=<HOST_IP> locator_ip:=<LOCATOR_IP> locator_user:=<USER> locator_password:=<PASSWORD> scan_topic:=<SCAN_TOPIC> enable_odometry:=<ENABLE_ODOM> odom_topic:=<ODOM_TOPIC>

where

  • <HOST_IP> is the IP address of the computer the bridge is to be started
  • <LOCATOR_IP> is the IP address of the computer where the ROKIT Locator is running
  • <USER> and <PASSWORD> are the credentials to log into the ROKIT Locator
  • <SCAN_TOPIC> is the topic name of the laser scans
  • <ENABLE_ODOM> is a boolean that describes whether you want to forward odometry ROS messages to the ROKIT Locator
  • <ODOM_TOPIC> is the topic name of the odometry

Since the Laser Localization Software is running in docker, the <HOST_IP> has to be set to docker0 ip address (172.17.0.1) instead of localhost ip address (127.0.0.1) when the user program providing the laser data runs on the same machine.

For additional parameters please refer to the launch file bridge.launch.xml.

Start Visual Recording

Then, make sure there are laser scans published on <SCAN_TOPIC>, and start the visual recording with e.g.

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_visual_recording.rviz
ros2 service call /bridge_node/start_visual_recording bosch_locator_bridge/srv/StartRecording "name: 'ROS-Quickstart-$(date -Isecond)'"

You should see the laser scans, the robot position and its previous path, and the recording built up over time.

Stop Visual Recording

When you are done, you can stop recording with

ros2 service call /bridge_node/stop_visual_recording std_srvs/srv/Empty

Create Map From Recording

Now, create a map from your recording with

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_map_creation.rviz
ros2 service call /bridge_node/start_map bosch_locator_bridge/srv/ClientMapStart

When the map has been created, it must be sent to the map server and set as the active map.

ros2 service call /bridge_node/send_map bosch_locator_bridge/srv/ClientMapSend
ros2 service call /bridge_node/set_map bosch_locator_bridge/srv/ClientMapSet

Start Localization

Finally, you can start the localization with

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_localization.rviz
ros2 service call /bridge_node/start_localization std_srvs/srv/Empty

You can set the initial pose of the robot by clicking the “2D Pose Estimate” button in RViz, and then set the pose in the map.

Stop Localization

When you are done, you can stop the localization with

ros2 service call /bridge_node/stop_localization std_srvs/srv/Empty

Map Expansion

  1. Record and build the prior map (map name: priormap) as usual.
  2. Start localization on this prior map and move until the system is localized.
  3. Make a note of the pose and do not move
  4. Enable map expansion
    rosservice  call /bridge_node/enable_map_expansion "prior_map_name: priormap"
    
  1. Start visual recording and use the following to visualize the prior map
    rosrun rviz rviz -d `rospack find bosch_locator_bridge`/config/locator_bridge_visual_recording_with_prior_map.rviz
    
  1. Use the pose in step 3 to set the current pose in the recording

```

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package bosch_locator_bridge

2.1.14 (2025-05-14)

  • Fix code formatting
  • Update to ROKIT Locator version 1.11 #69 from boschglobal/humble-v1.11
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible

2.1.13 (2024-11-11)

  • update tag compatible with Locator 1.9
  • update to Locator 1.10 #66 from boschglobal/humble-v1.10
  • Contributors: Sheung Ying Yuen-Wille

2.1.12 (2024-11-11)

  • Update readme.md to Locator 1.9 #65 from boschglobal/bugfix/update-readme-humble
  • Update CHANGELOG.rst #63 from boschglobal/syyuen-changelog-humble
  • Contributors: Sheung Ying Yuen-Wille

2.1.11 (2024-06-04)

  • made server compatible with Locator version 1.9 (#61)
  • compatible with 1.9 (#58)
  • Note in the Readme for earlier versions (#57)
  • correct some messages types of bridge_node in README (#55) Message type error of service /bridge_node/disable_map_expansion is found by slaible (Stefan Laible).
  • Make minRange non-negative (#53) In order to tolerate SICK picoScan150, which could produce LaserScan messages with little negative minRange, and avoid minRange validation failure errors raised by Locator. set lower limit range_min to 0
  • Update server_bridge_node.cpp made compatible with Locator version 1.8
  • update to humble (#48)
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible, TAN Hongkui, Fleer David

2.1.10 (2023-10-31)

  • update compatible Locator version to 1.8
  • Document the map expansion workflow
  • Add rviz config files for map expansion
  • Add services and interfaces for map expansion
  • Add expandmap_state in control mode
  • Remove field distanceToLastLC in ClientLocalizationVisualizationDatagram
  • Introduce parameter odometry_velocity_set of odometry message
  • Configurable Locator ports
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible

2.1.9 (2023-03-23)

  • Try to stop everything before setting config list (#35)
  • Add errorFlags and infoFlags fields to ClientLocalizationPose (#33)
  • Update to ROKIT Locator version 1.6
  • Contributors: Stefan Laible

2.1.8 (2023-02-14)

  • Support setting arbitrary Locator config entries
  • Update module versions in server node
  • Use mutex to just make one json_rpc_call at a time
  • Contributors: Fabian König, Stefan Laible

2.1.7 (2022-09-08)

  • Fixed a bug that could cause latency in localization poses
  • Remove tf broadcaster
  • Check if laser scan message is valid
  • Add refresh timer to service callback group to avoid overlapping json rpc calls
  • Update to ROKIT Locator version 1.5
  • Contributors: Fabian König, Stefan Laible

2.1.6 (2022-06-13)

  • fix module version check for compatibility with v1.4.0
  • add parameter to enable intensities
  • Contributors: Fabian König, Stefan Laible

2.1.5 (2022-02-16)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/bridge.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_RPC_Port [default: 8080]
      • locator_binaryPortsStart [default: 9004]
      • bridge_node_name [default: bridge_node]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • enable_odometry [default: false]
      • laser_datagram_port [default: 2112]
      • laser_mirror_scans [default: false]
      • laser_x [default: 0.0]
      • laser_y [default: 0.0]
      • laser_yaw [default: 0.0]
      • laser_use_intensities [default: false]
      • laser2_enable [default: false]
      • laser2_datagram_port [default: 2113]
      • laser2_mirror_scans [default: false]
      • laser2_x [default: 0.0]
      • laser2_y [default: 0.0]
      • laser2_yaw [default: 0.0]
      • laser2_use_intensities [default: false]
      • enable_reflector_markers [default: false]
      • odom_datagram_port [default: 1111]
      • scan_topic [default: /scan]
      • scan2_topic [default: /scan2]
      • odom_topic [default: /odom]
      • odometry_velocity_set [default: false]
  • launch/bridge_with_bagplayback.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_RPC_Port [default: 8080]
      • locator_binaryPortsStart [default: 9004]
      • bridge_node_name [default: bridge_node]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • enable_odometry [default: false]
      • bag [default: ]
      • laser_datagram_port [default: 2112]
      • laser_mirror_scans [default: false]
      • laser_x [default: 0.0]
      • laser_y [default: 0.0]
      • laser_yaw [default: 0.0]
      • laser_use_intensities [default: false]
      • laser2_enable [default: false]
      • laser2_datagram_port [default: 2113]
      • laser2_mirror_scans [default: false]
      • laser2_x [default: 0.0]
      • laser2_y [default: 0.0]
      • laser2_yaw [default: 0.0]
      • laser2_use_intensities [default: false]
      • enable_reflector_markers [default: false]
      • odom_datagram_port [default: 1111]
      • scan_topic [default: /scan]
      • scan2_topic [default: /scan2]
      • odom_topic [default: /odom]
  • launch/server_bridge.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • update_time [default: 300]

Plugins

No plugins found.

Recent questions tagged bosch_locator_bridge at Robotics Stack Exchange

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

bosch_locator_bridge package from locator_ros_bridge repo

bosch_locator_bridge bosch_locator_bridge_utils

ROS Distro
humble

Package Summary

Tags No category tags.
Version 2.1.14
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/boschglobal/locator_ros_bridge.git
VCS Type git
VCS Version humble
Last Updated 2025-05-14
Dev Status MAINTAINED
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

ROS interface to Rexroth ROKIT Locator

Additional Links

No additional links.

Maintainers

  • Stefan Laible

Authors

No additional authors.

General information about this repository, including legal information and build instructions are given in README.md in the repository root.

bosch_locator_bridge

Overview

This package provides a [ROS 2] interface to the [Rexroth ROKIT Locator]. It translates ROS 2 messages to the ROKIT Locator API (as described in the ROKIT Locator API documentation) and vice versa. It also allows to control the ROKIT Locator via ROS 2 service calls.

The package has been tested under [ROS 2] Humble and Ubuntu 22.04. The bridge is compatible with ROKIT Locator version 1.11. If you have an earlier version, see Support of earlier versions of ROKIT Locator.

Quick Start

This section describes how to record your environment, create a map out of the record and localize yourself within it.

Ensure the ROKIT Locator is reachable from your computer

Make sure the ROKIT Locator is installed and running on a computer in your network. You can test this by running the following command in a terminal (replace <LOCATOR_IP> by the IP address of the computer running the ROKIT Locator):

curl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","method":"aboutModulesList","params":{"query":{}},"id":1}' http://<LOCATOR_IP>:8080

Start Bridge Node

Start the bridge node with

ros2 launch bosch_locator_bridge bridge.launch.xml bridge_ip:=<HOST_IP> locator_ip:=<LOCATOR_IP> locator_user:=<USER> locator_password:=<PASSWORD> scan_topic:=<SCAN_TOPIC> enable_odometry:=<ENABLE_ODOM> odom_topic:=<ODOM_TOPIC>

where

  • <HOST_IP> is the IP address of the computer the bridge is to be started
  • <LOCATOR_IP> is the IP address of the computer where the ROKIT Locator is running
  • <USER> and <PASSWORD> are the credentials to log into the ROKIT Locator
  • <SCAN_TOPIC> is the topic name of the laser scans
  • <ENABLE_ODOM> is a boolean that describes whether you want to forward odometry ROS messages to the ROKIT Locator
  • <ODOM_TOPIC> is the topic name of the odometry

Since the Laser Localization Software is running in docker, the <HOST_IP> has to be set to docker0 ip address (172.17.0.1) instead of localhost ip address (127.0.0.1) when the user program providing the laser data runs on the same machine.

For additional parameters please refer to the launch file bridge.launch.xml.

Start Visual Recording

Then, make sure there are laser scans published on <SCAN_TOPIC>, and start the visual recording with e.g.

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_visual_recording.rviz
ros2 service call /bridge_node/start_visual_recording bosch_locator_bridge/srv/StartRecording "name: 'ROS-Quickstart-$(date -Isecond)'"

You should see the laser scans, the robot position and its previous path, and the recording built up over time.

Stop Visual Recording

When you are done, you can stop recording with

ros2 service call /bridge_node/stop_visual_recording std_srvs/srv/Empty

Create Map From Recording

Now, create a map from your recording with

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_map_creation.rviz
ros2 service call /bridge_node/start_map bosch_locator_bridge/srv/ClientMapStart

When the map has been created, it must be sent to the map server and set as the active map.

ros2 service call /bridge_node/send_map bosch_locator_bridge/srv/ClientMapSend
ros2 service call /bridge_node/set_map bosch_locator_bridge/srv/ClientMapSet

Start Localization

Finally, you can start the localization with

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_localization.rviz
ros2 service call /bridge_node/start_localization std_srvs/srv/Empty

You can set the initial pose of the robot by clicking the “2D Pose Estimate” button in RViz, and then set the pose in the map.

Stop Localization

When you are done, you can stop the localization with

ros2 service call /bridge_node/stop_localization std_srvs/srv/Empty

Map Expansion

  1. Record and build the prior map (map name: priormap) as usual.
  2. Start localization on this prior map and move until the system is localized.
  3. Make a note of the pose and do not move
  4. Enable map expansion
    rosservice  call /bridge_node/enable_map_expansion "prior_map_name: priormap"
    
  1. Start visual recording and use the following to visualize the prior map
    rosrun rviz rviz -d `rospack find bosch_locator_bridge`/config/locator_bridge_visual_recording_with_prior_map.rviz
    
  1. Use the pose in step 3 to set the current pose in the recording

```

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package bosch_locator_bridge

2.1.14 (2025-05-14)

  • Fix code formatting
  • Update to ROKIT Locator version 1.11 #69 from boschglobal/humble-v1.11
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible

2.1.13 (2024-11-11)

  • update tag compatible with Locator 1.9
  • update to Locator 1.10 #66 from boschglobal/humble-v1.10
  • Contributors: Sheung Ying Yuen-Wille

2.1.12 (2024-11-11)

  • Update readme.md to Locator 1.9 #65 from boschglobal/bugfix/update-readme-humble
  • Update CHANGELOG.rst #63 from boschglobal/syyuen-changelog-humble
  • Contributors: Sheung Ying Yuen-Wille

2.1.11 (2024-06-04)

  • made server compatible with Locator version 1.9 (#61)
  • compatible with 1.9 (#58)
  • Note in the Readme for earlier versions (#57)
  • correct some messages types of bridge_node in README (#55) Message type error of service /bridge_node/disable_map_expansion is found by slaible (Stefan Laible).
  • Make minRange non-negative (#53) In order to tolerate SICK picoScan150, which could produce LaserScan messages with little negative minRange, and avoid minRange validation failure errors raised by Locator. set lower limit range_min to 0
  • Update server_bridge_node.cpp made compatible with Locator version 1.8
  • update to humble (#48)
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible, TAN Hongkui, Fleer David

2.1.10 (2023-10-31)

  • update compatible Locator version to 1.8
  • Document the map expansion workflow
  • Add rviz config files for map expansion
  • Add services and interfaces for map expansion
  • Add expandmap_state in control mode
  • Remove field distanceToLastLC in ClientLocalizationVisualizationDatagram
  • Introduce parameter odometry_velocity_set of odometry message
  • Configurable Locator ports
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible

2.1.9 (2023-03-23)

  • Try to stop everything before setting config list (#35)
  • Add errorFlags and infoFlags fields to ClientLocalizationPose (#33)
  • Update to ROKIT Locator version 1.6
  • Contributors: Stefan Laible

2.1.8 (2023-02-14)

  • Support setting arbitrary Locator config entries
  • Update module versions in server node
  • Use mutex to just make one json_rpc_call at a time
  • Contributors: Fabian König, Stefan Laible

2.1.7 (2022-09-08)

  • Fixed a bug that could cause latency in localization poses
  • Remove tf broadcaster
  • Check if laser scan message is valid
  • Add refresh timer to service callback group to avoid overlapping json rpc calls
  • Update to ROKIT Locator version 1.5
  • Contributors: Fabian König, Stefan Laible

2.1.6 (2022-06-13)

  • fix module version check for compatibility with v1.4.0
  • add parameter to enable intensities
  • Contributors: Fabian König, Stefan Laible

2.1.5 (2022-02-16)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/bridge.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_RPC_Port [default: 8080]
      • locator_binaryPortsStart [default: 9004]
      • bridge_node_name [default: bridge_node]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • enable_odometry [default: false]
      • laser_datagram_port [default: 2112]
      • laser_mirror_scans [default: false]
      • laser_x [default: 0.0]
      • laser_y [default: 0.0]
      • laser_yaw [default: 0.0]
      • laser_use_intensities [default: false]
      • laser2_enable [default: false]
      • laser2_datagram_port [default: 2113]
      • laser2_mirror_scans [default: false]
      • laser2_x [default: 0.0]
      • laser2_y [default: 0.0]
      • laser2_yaw [default: 0.0]
      • laser2_use_intensities [default: false]
      • enable_reflector_markers [default: false]
      • odom_datagram_port [default: 1111]
      • scan_topic [default: /scan]
      • scan2_topic [default: /scan2]
      • odom_topic [default: /odom]
      • odometry_velocity_set [default: false]
  • launch/bridge_with_bagplayback.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_RPC_Port [default: 8080]
      • locator_binaryPortsStart [default: 9004]
      • bridge_node_name [default: bridge_node]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • enable_odometry [default: false]
      • bag [default: ]
      • laser_datagram_port [default: 2112]
      • laser_mirror_scans [default: false]
      • laser_x [default: 0.0]
      • laser_y [default: 0.0]
      • laser_yaw [default: 0.0]
      • laser_use_intensities [default: false]
      • laser2_enable [default: false]
      • laser2_datagram_port [default: 2113]
      • laser2_mirror_scans [default: false]
      • laser2_x [default: 0.0]
      • laser2_y [default: 0.0]
      • laser2_yaw [default: 0.0]
      • laser2_use_intensities [default: false]
      • enable_reflector_markers [default: false]
      • odom_datagram_port [default: 1111]
      • scan_topic [default: /scan]
      • scan2_topic [default: /scan2]
      • odom_topic [default: /odom]
  • launch/server_bridge.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • update_time [default: 300]

Plugins

No plugins found.

Recent questions tagged bosch_locator_bridge at Robotics Stack Exchange

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

bosch_locator_bridge package from locator_ros_bridge repo

bosch_locator_bridge bosch_locator_bridge_utils

ROS Distro
humble

Package Summary

Tags No category tags.
Version 2.1.14
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/boschglobal/locator_ros_bridge.git
VCS Type git
VCS Version humble
Last Updated 2025-05-14
Dev Status MAINTAINED
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

ROS interface to Rexroth ROKIT Locator

Additional Links

No additional links.

Maintainers

  • Stefan Laible

Authors

No additional authors.

General information about this repository, including legal information and build instructions are given in README.md in the repository root.

bosch_locator_bridge

Overview

This package provides a [ROS 2] interface to the [Rexroth ROKIT Locator]. It translates ROS 2 messages to the ROKIT Locator API (as described in the ROKIT Locator API documentation) and vice versa. It also allows to control the ROKIT Locator via ROS 2 service calls.

The package has been tested under [ROS 2] Humble and Ubuntu 22.04. The bridge is compatible with ROKIT Locator version 1.11. If you have an earlier version, see Support of earlier versions of ROKIT Locator.

Quick Start

This section describes how to record your environment, create a map out of the record and localize yourself within it.

Ensure the ROKIT Locator is reachable from your computer

Make sure the ROKIT Locator is installed and running on a computer in your network. You can test this by running the following command in a terminal (replace <LOCATOR_IP> by the IP address of the computer running the ROKIT Locator):

curl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","method":"aboutModulesList","params":{"query":{}},"id":1}' http://<LOCATOR_IP>:8080

Start Bridge Node

Start the bridge node with

ros2 launch bosch_locator_bridge bridge.launch.xml bridge_ip:=<HOST_IP> locator_ip:=<LOCATOR_IP> locator_user:=<USER> locator_password:=<PASSWORD> scan_topic:=<SCAN_TOPIC> enable_odometry:=<ENABLE_ODOM> odom_topic:=<ODOM_TOPIC>

where

  • <HOST_IP> is the IP address of the computer the bridge is to be started
  • <LOCATOR_IP> is the IP address of the computer where the ROKIT Locator is running
  • <USER> and <PASSWORD> are the credentials to log into the ROKIT Locator
  • <SCAN_TOPIC> is the topic name of the laser scans
  • <ENABLE_ODOM> is a boolean that describes whether you want to forward odometry ROS messages to the ROKIT Locator
  • <ODOM_TOPIC> is the topic name of the odometry

Since the Laser Localization Software is running in docker, the <HOST_IP> has to be set to docker0 ip address (172.17.0.1) instead of localhost ip address (127.0.0.1) when the user program providing the laser data runs on the same machine.

For additional parameters please refer to the launch file bridge.launch.xml.

Start Visual Recording

Then, make sure there are laser scans published on <SCAN_TOPIC>, and start the visual recording with e.g.

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_visual_recording.rviz
ros2 service call /bridge_node/start_visual_recording bosch_locator_bridge/srv/StartRecording "name: 'ROS-Quickstart-$(date -Isecond)'"

You should see the laser scans, the robot position and its previous path, and the recording built up over time.

Stop Visual Recording

When you are done, you can stop recording with

ros2 service call /bridge_node/stop_visual_recording std_srvs/srv/Empty

Create Map From Recording

Now, create a map from your recording with

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_map_creation.rviz
ros2 service call /bridge_node/start_map bosch_locator_bridge/srv/ClientMapStart

When the map has been created, it must be sent to the map server and set as the active map.

ros2 service call /bridge_node/send_map bosch_locator_bridge/srv/ClientMapSend
ros2 service call /bridge_node/set_map bosch_locator_bridge/srv/ClientMapSet

Start Localization

Finally, you can start the localization with

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_localization.rviz
ros2 service call /bridge_node/start_localization std_srvs/srv/Empty

You can set the initial pose of the robot by clicking the “2D Pose Estimate” button in RViz, and then set the pose in the map.

Stop Localization

When you are done, you can stop the localization with

ros2 service call /bridge_node/stop_localization std_srvs/srv/Empty

Map Expansion

  1. Record and build the prior map (map name: priormap) as usual.
  2. Start localization on this prior map and move until the system is localized.
  3. Make a note of the pose and do not move
  4. Enable map expansion
    rosservice  call /bridge_node/enable_map_expansion "prior_map_name: priormap"
    
  1. Start visual recording and use the following to visualize the prior map
    rosrun rviz rviz -d `rospack find bosch_locator_bridge`/config/locator_bridge_visual_recording_with_prior_map.rviz
    
  1. Use the pose in step 3 to set the current pose in the recording

```

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package bosch_locator_bridge

2.1.14 (2025-05-14)

  • Fix code formatting
  • Update to ROKIT Locator version 1.11 #69 from boschglobal/humble-v1.11
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible

2.1.13 (2024-11-11)

  • update tag compatible with Locator 1.9
  • update to Locator 1.10 #66 from boschglobal/humble-v1.10
  • Contributors: Sheung Ying Yuen-Wille

2.1.12 (2024-11-11)

  • Update readme.md to Locator 1.9 #65 from boschglobal/bugfix/update-readme-humble
  • Update CHANGELOG.rst #63 from boschglobal/syyuen-changelog-humble
  • Contributors: Sheung Ying Yuen-Wille

2.1.11 (2024-06-04)

  • made server compatible with Locator version 1.9 (#61)
  • compatible with 1.9 (#58)
  • Note in the Readme for earlier versions (#57)
  • correct some messages types of bridge_node in README (#55) Message type error of service /bridge_node/disable_map_expansion is found by slaible (Stefan Laible).
  • Make minRange non-negative (#53) In order to tolerate SICK picoScan150, which could produce LaserScan messages with little negative minRange, and avoid minRange validation failure errors raised by Locator. set lower limit range_min to 0
  • Update server_bridge_node.cpp made compatible with Locator version 1.8
  • update to humble (#48)
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible, TAN Hongkui, Fleer David

2.1.10 (2023-10-31)

  • update compatible Locator version to 1.8
  • Document the map expansion workflow
  • Add rviz config files for map expansion
  • Add services and interfaces for map expansion
  • Add expandmap_state in control mode
  • Remove field distanceToLastLC in ClientLocalizationVisualizationDatagram
  • Introduce parameter odometry_velocity_set of odometry message
  • Configurable Locator ports
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible

2.1.9 (2023-03-23)

  • Try to stop everything before setting config list (#35)
  • Add errorFlags and infoFlags fields to ClientLocalizationPose (#33)
  • Update to ROKIT Locator version 1.6
  • Contributors: Stefan Laible

2.1.8 (2023-02-14)

  • Support setting arbitrary Locator config entries
  • Update module versions in server node
  • Use mutex to just make one json_rpc_call at a time
  • Contributors: Fabian König, Stefan Laible

2.1.7 (2022-09-08)

  • Fixed a bug that could cause latency in localization poses
  • Remove tf broadcaster
  • Check if laser scan message is valid
  • Add refresh timer to service callback group to avoid overlapping json rpc calls
  • Update to ROKIT Locator version 1.5
  • Contributors: Fabian König, Stefan Laible

2.1.6 (2022-06-13)

  • fix module version check for compatibility with v1.4.0
  • add parameter to enable intensities
  • Contributors: Fabian König, Stefan Laible

2.1.5 (2022-02-16)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/bridge.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_RPC_Port [default: 8080]
      • locator_binaryPortsStart [default: 9004]
      • bridge_node_name [default: bridge_node]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • enable_odometry [default: false]
      • laser_datagram_port [default: 2112]
      • laser_mirror_scans [default: false]
      • laser_x [default: 0.0]
      • laser_y [default: 0.0]
      • laser_yaw [default: 0.0]
      • laser_use_intensities [default: false]
      • laser2_enable [default: false]
      • laser2_datagram_port [default: 2113]
      • laser2_mirror_scans [default: false]
      • laser2_x [default: 0.0]
      • laser2_y [default: 0.0]
      • laser2_yaw [default: 0.0]
      • laser2_use_intensities [default: false]
      • enable_reflector_markers [default: false]
      • odom_datagram_port [default: 1111]
      • scan_topic [default: /scan]
      • scan2_topic [default: /scan2]
      • odom_topic [default: /odom]
      • odometry_velocity_set [default: false]
  • launch/bridge_with_bagplayback.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_RPC_Port [default: 8080]
      • locator_binaryPortsStart [default: 9004]
      • bridge_node_name [default: bridge_node]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • enable_odometry [default: false]
      • bag [default: ]
      • laser_datagram_port [default: 2112]
      • laser_mirror_scans [default: false]
      • laser_x [default: 0.0]
      • laser_y [default: 0.0]
      • laser_yaw [default: 0.0]
      • laser_use_intensities [default: false]
      • laser2_enable [default: false]
      • laser2_datagram_port [default: 2113]
      • laser2_mirror_scans [default: false]
      • laser2_x [default: 0.0]
      • laser2_y [default: 0.0]
      • laser2_yaw [default: 0.0]
      • laser2_use_intensities [default: false]
      • enable_reflector_markers [default: false]
      • odom_datagram_port [default: 1111]
      • scan_topic [default: /scan]
      • scan2_topic [default: /scan2]
      • odom_topic [default: /odom]
  • launch/server_bridge.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • update_time [default: 300]

Plugins

No plugins found.

Recent questions tagged bosch_locator_bridge at Robotics Stack Exchange

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

bosch_locator_bridge package from locator_ros_bridge repo

bosch_locator_bridge bosch_locator_bridge_utils

ROS Distro
humble

Package Summary

Tags No category tags.
Version 2.1.14
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/boschglobal/locator_ros_bridge.git
VCS Type git
VCS Version humble
Last Updated 2025-05-14
Dev Status MAINTAINED
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

ROS interface to Rexroth ROKIT Locator

Additional Links

No additional links.

Maintainers

  • Stefan Laible

Authors

No additional authors.

General information about this repository, including legal information and build instructions are given in README.md in the repository root.

bosch_locator_bridge

Overview

This package provides a [ROS 2] interface to the [Rexroth ROKIT Locator]. It translates ROS 2 messages to the ROKIT Locator API (as described in the ROKIT Locator API documentation) and vice versa. It also allows to control the ROKIT Locator via ROS 2 service calls.

The package has been tested under [ROS 2] Humble and Ubuntu 22.04. The bridge is compatible with ROKIT Locator version 1.11. If you have an earlier version, see Support of earlier versions of ROKIT Locator.

Quick Start

This section describes how to record your environment, create a map out of the record and localize yourself within it.

Ensure the ROKIT Locator is reachable from your computer

Make sure the ROKIT Locator is installed and running on a computer in your network. You can test this by running the following command in a terminal (replace <LOCATOR_IP> by the IP address of the computer running the ROKIT Locator):

curl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","method":"aboutModulesList","params":{"query":{}},"id":1}' http://<LOCATOR_IP>:8080

Start Bridge Node

Start the bridge node with

ros2 launch bosch_locator_bridge bridge.launch.xml bridge_ip:=<HOST_IP> locator_ip:=<LOCATOR_IP> locator_user:=<USER> locator_password:=<PASSWORD> scan_topic:=<SCAN_TOPIC> enable_odometry:=<ENABLE_ODOM> odom_topic:=<ODOM_TOPIC>

where

  • <HOST_IP> is the IP address of the computer the bridge is to be started
  • <LOCATOR_IP> is the IP address of the computer where the ROKIT Locator is running
  • <USER> and <PASSWORD> are the credentials to log into the ROKIT Locator
  • <SCAN_TOPIC> is the topic name of the laser scans
  • <ENABLE_ODOM> is a boolean that describes whether you want to forward odometry ROS messages to the ROKIT Locator
  • <ODOM_TOPIC> is the topic name of the odometry

Since the Laser Localization Software is running in docker, the <HOST_IP> has to be set to docker0 ip address (172.17.0.1) instead of localhost ip address (127.0.0.1) when the user program providing the laser data runs on the same machine.

For additional parameters please refer to the launch file bridge.launch.xml.

Start Visual Recording

Then, make sure there are laser scans published on <SCAN_TOPIC>, and start the visual recording with e.g.

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_visual_recording.rviz
ros2 service call /bridge_node/start_visual_recording bosch_locator_bridge/srv/StartRecording "name: 'ROS-Quickstart-$(date -Isecond)'"

You should see the laser scans, the robot position and its previous path, and the recording built up over time.

Stop Visual Recording

When you are done, you can stop recording with

ros2 service call /bridge_node/stop_visual_recording std_srvs/srv/Empty

Create Map From Recording

Now, create a map from your recording with

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_map_creation.rviz
ros2 service call /bridge_node/start_map bosch_locator_bridge/srv/ClientMapStart

When the map has been created, it must be sent to the map server and set as the active map.

ros2 service call /bridge_node/send_map bosch_locator_bridge/srv/ClientMapSend
ros2 service call /bridge_node/set_map bosch_locator_bridge/srv/ClientMapSet

Start Localization

Finally, you can start the localization with

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_localization.rviz
ros2 service call /bridge_node/start_localization std_srvs/srv/Empty

You can set the initial pose of the robot by clicking the “2D Pose Estimate” button in RViz, and then set the pose in the map.

Stop Localization

When you are done, you can stop the localization with

ros2 service call /bridge_node/stop_localization std_srvs/srv/Empty

Map Expansion

  1. Record and build the prior map (map name: priormap) as usual.
  2. Start localization on this prior map and move until the system is localized.
  3. Make a note of the pose and do not move
  4. Enable map expansion
    rosservice  call /bridge_node/enable_map_expansion "prior_map_name: priormap"
    
  1. Start visual recording and use the following to visualize the prior map
    rosrun rviz rviz -d `rospack find bosch_locator_bridge`/config/locator_bridge_visual_recording_with_prior_map.rviz
    
  1. Use the pose in step 3 to set the current pose in the recording

```

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package bosch_locator_bridge

2.1.14 (2025-05-14)

  • Fix code formatting
  • Update to ROKIT Locator version 1.11 #69 from boschglobal/humble-v1.11
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible

2.1.13 (2024-11-11)

  • update tag compatible with Locator 1.9
  • update to Locator 1.10 #66 from boschglobal/humble-v1.10
  • Contributors: Sheung Ying Yuen-Wille

2.1.12 (2024-11-11)

  • Update readme.md to Locator 1.9 #65 from boschglobal/bugfix/update-readme-humble
  • Update CHANGELOG.rst #63 from boschglobal/syyuen-changelog-humble
  • Contributors: Sheung Ying Yuen-Wille

2.1.11 (2024-06-04)

  • made server compatible with Locator version 1.9 (#61)
  • compatible with 1.9 (#58)
  • Note in the Readme for earlier versions (#57)
  • correct some messages types of bridge_node in README (#55) Message type error of service /bridge_node/disable_map_expansion is found by slaible (Stefan Laible).
  • Make minRange non-negative (#53) In order to tolerate SICK picoScan150, which could produce LaserScan messages with little negative minRange, and avoid minRange validation failure errors raised by Locator. set lower limit range_min to 0
  • Update server_bridge_node.cpp made compatible with Locator version 1.8
  • update to humble (#48)
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible, TAN Hongkui, Fleer David

2.1.10 (2023-10-31)

  • update compatible Locator version to 1.8
  • Document the map expansion workflow
  • Add rviz config files for map expansion
  • Add services and interfaces for map expansion
  • Add expandmap_state in control mode
  • Remove field distanceToLastLC in ClientLocalizationVisualizationDatagram
  • Introduce parameter odometry_velocity_set of odometry message
  • Configurable Locator ports
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible

2.1.9 (2023-03-23)

  • Try to stop everything before setting config list (#35)
  • Add errorFlags and infoFlags fields to ClientLocalizationPose (#33)
  • Update to ROKIT Locator version 1.6
  • Contributors: Stefan Laible

2.1.8 (2023-02-14)

  • Support setting arbitrary Locator config entries
  • Update module versions in server node
  • Use mutex to just make one json_rpc_call at a time
  • Contributors: Fabian König, Stefan Laible

2.1.7 (2022-09-08)

  • Fixed a bug that could cause latency in localization poses
  • Remove tf broadcaster
  • Check if laser scan message is valid
  • Add refresh timer to service callback group to avoid overlapping json rpc calls
  • Update to ROKIT Locator version 1.5
  • Contributors: Fabian König, Stefan Laible

2.1.6 (2022-06-13)

  • fix module version check for compatibility with v1.4.0
  • add parameter to enable intensities
  • Contributors: Fabian König, Stefan Laible

2.1.5 (2022-02-16)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/bridge.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_RPC_Port [default: 8080]
      • locator_binaryPortsStart [default: 9004]
      • bridge_node_name [default: bridge_node]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • enable_odometry [default: false]
      • laser_datagram_port [default: 2112]
      • laser_mirror_scans [default: false]
      • laser_x [default: 0.0]
      • laser_y [default: 0.0]
      • laser_yaw [default: 0.0]
      • laser_use_intensities [default: false]
      • laser2_enable [default: false]
      • laser2_datagram_port [default: 2113]
      • laser2_mirror_scans [default: false]
      • laser2_x [default: 0.0]
      • laser2_y [default: 0.0]
      • laser2_yaw [default: 0.0]
      • laser2_use_intensities [default: false]
      • enable_reflector_markers [default: false]
      • odom_datagram_port [default: 1111]
      • scan_topic [default: /scan]
      • scan2_topic [default: /scan2]
      • odom_topic [default: /odom]
      • odometry_velocity_set [default: false]
  • launch/bridge_with_bagplayback.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_RPC_Port [default: 8080]
      • locator_binaryPortsStart [default: 9004]
      • bridge_node_name [default: bridge_node]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • enable_odometry [default: false]
      • bag [default: ]
      • laser_datagram_port [default: 2112]
      • laser_mirror_scans [default: false]
      • laser_x [default: 0.0]
      • laser_y [default: 0.0]
      • laser_yaw [default: 0.0]
      • laser_use_intensities [default: false]
      • laser2_enable [default: false]
      • laser2_datagram_port [default: 2113]
      • laser2_mirror_scans [default: false]
      • laser2_x [default: 0.0]
      • laser2_y [default: 0.0]
      • laser2_yaw [default: 0.0]
      • laser2_use_intensities [default: false]
      • enable_reflector_markers [default: false]
      • odom_datagram_port [default: 1111]
      • scan_topic [default: /scan]
      • scan2_topic [default: /scan2]
      • odom_topic [default: /odom]
  • launch/server_bridge.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • update_time [default: 300]

Plugins

No plugins found.

Recent questions tagged bosch_locator_bridge at Robotics Stack Exchange

Package symbol

bosch_locator_bridge package from locator_ros_bridge repo

bosch_locator_bridge

ROS Distro
foxy

Package Summary

Tags No category tags.
Version 2.0.10
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/boschglobal/locator_ros_bridge.git
VCS Type git
VCS Version foxy
Last Updated 2023-11-03
Dev Status MAINTAINED
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

ROS interface to Rexroth ROKIT Locator

Additional Links

No additional links.

Maintainers

  • Stefan Laible

Authors

No additional authors.

General information about this repository, including legal information and build instructions are given in README.md in the repository root.

bosch_locator_bridge

Overview

This package provides a [ROS 2] interface to the [Rexroth ROKIT Locator]. It translates ROS 2 messages to the ROKIT Locator API (as described in the ROKIT Locator API documentation) and vice versa. It also allows to control the ROKIT Locator via ROS 2 service calls.

The package has been tested under [ROS 2] Foxy and Ubuntu 20.04. The bridge is compatible with ROKIT Locator version 1.6. If you have an earlier version, see Support of earlier versions of ROKIT Locator. For later versions the bridge is available for ROS 2 Humble and Ubuntu 22.04. Foxy is no longer supported.

Quick Start

This section describes how to record your environment, create a map out of the record and localize yourself within it.

Ensure the ROKIT Locator is reachable from your computer

Make sure the ROKIT Locator is installed and running on a computer in your network. You can test this by running the following command in a terminal (replace <LOCATOR_IP> by the IP address of the computer running the ROKIT Locator):

curl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","method":"aboutModulesList","params":{"query":{}},"id":1}' http://<LOCATOR_IP>:8080

Start Bridge Node

Start the bridge node with

ros2 launch bosch_locator_bridge bridge.launch.xml bridge_ip:=<HOST_IP> locator_ip:=<LOCATOR_IP> locator_user:=<USER> locator_password:=<PASSWORD> scan_topic:=<SCAN_TOPIC> enable_odometry:=<ENABLE_ODOM> odom_topic:=<ODOM_TOPIC>

where

  • <HOST_IP> is the IP address of the computer the bridge is to be started
  • <LOCATOR_IP> is the IP address of the computer where the ROKIT Locator is running
  • <USER> and <PASSWORD> are the credentials to log into the ROKIT Locator
  • <SCAN_TOPIC> is the topic name of the laser scans
  • <ENABLE_ODOM> is a boolean that describes whether you want to forward odometry ROS messages to the ROKIT Locator
  • <ODOM_TOPIC> is the topic name of the odometry

Since the Laser Localization Software is running in docker, the <HOST_IP> has to be set to docker0 ip address (172.17.0.1) instead of localhost ip address (127.0.0.1) when the user program providing the laser data runs on the same machine.

For additional parameters please refer to the launch file bridge.launch.xml.

Start Visual Recording

Then, make sure there are laser scans published on <SCAN_TOPIC>, and start the visual recording with e.g.

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_visual_recording.rviz
ros2 service call /bridge_node/start_visual_recording bosch_locator_bridge/srv/StartRecording "name: 'ROS-Quickstart-$(date -Isecond)'"

You should see the laser scans, the robot position and its previous path, and the recording built up over time.

Stop Visual Recording

When you are done, you can stop recording with

ros2 service call /bridge_node/stop_visual_recording std_srvs/srv/Empty

Create Map From Recording

Now, create a map from your recording with

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_map_creation.rviz
ros2 service call /bridge_node/start_map bosch_locator_bridge/srv/ClientMapStart

When the map has been created, it must be sent to the map server and set as the active map.

ros2 service call /bridge_node/send_map bosch_locator_bridge/srv/ClientMapSend
ros2 service call /bridge_node/set_map bosch_locator_bridge/srv/ClientMapSet

Start Localization

Finally, you can start the localization with

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_localization.rviz
ros2 service call /bridge_node/start_localization std_srvs/srv/Empty

You can set the initial pose of the robot by clicking the “2D Pose Estimate” button in RViz, and then set the pose in the map.

Stop Localization

When you are done, you can stop the localization with

ros2 service call /bridge_node/stop_localization std_srvs/srv/Empty

Nodes

bridge_node

This node provides an interface to the localization client.

ROKIT Locator Configuration

To correctly forward the laser scan data, it is important that ClientSensor.laser.type is set to simple, and that ClientSensor.laser.address is set to the IP address (with port) of the computer the bridge is running.

Subscribed Topics

  • /scan ([sensor_msgs/msg/LaserScan])

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package bosch_locator_bridge

2.0.10 (2023-03-23)

  • Try to stop everything before setting config list (#37)
  • Add errorFlags and infoFlags fields to ClientLocalizationPose (#34)
  • Update to ROKIT Locator version 1.6
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible

2.0.9 (2023-02-22)

  • Support setting arbitrary Locator config entries
  • Update module versions in server node
  • Use mutex to just make one json_rpc_call at a time
  • Contributors: Stefan Laible

2.0.8 (2022-09-08)

  • Fixed a bug that could cause latency in localization poses
  • Remove tf broadcaster
  • Check if laser scan message is valid
  • Add refresh timer to service callback group to avoid overlapping json rpc calls
  • Update to ROKIT Locator version 1.5
  • Contributors: Fabian König, Stefan Laible

2.0.7 (2022-06-13)

  • fix module version check for compatibility with v1.4.0
  • add parameter to enable intensities
  • Contributors: Stefan Laible

2.0.6 (2022-02-18)

  • Remove required attribute from launch files
  • Contributors: Stefan Laible

2.0.5 (2022-02-15)

  • update to ROKIT Locator version 1.4
  • add interface for second laser
  • Contributors: Stefan Laible

2.0.4 (2022-01-24)

  • handle NaNs in range values
  • add service for getting config entries
  • add server interface
  • Contributors: Stefan Laible, robertwil

2.0.3 (2021-09-02)

  • update to ROKIT Locator version 1.3
  • Contributors: Stefan Laible

2.0.2 (2021-07-22)

  • guarantee that duration_rotate is greater zero
  • Contributors: Stefan Laible

2.0.1 (2021-05-19)

  • add tf2_geometry_msgs dependency
  • Contributors: Stefan Laible

2.0.0 (2021-05-17)

  • initial version
  • Contributors: Stefan Laible

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/bridge.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • enable_odometry [default: false]
      • laser_datagram_port [default: 4242]
      • laser_mirror_scans [default: false]
      • laser_x [default: 0.0]
      • laser_y [default: 0.0]
      • laser_yaw [default: 0.0]
      • laser_use_intensities [default: false]
      • laser2_enable [default: false]
      • laser2_datagram_port [default: 2113]
      • laser2_mirror_scans [default: false]
      • laser2_x [default: 0.0]
      • laser2_y [default: 0.0]
      • laser2_yaw [default: 0.0]
      • laser2_use_intensities [default: false]
      • enable_reflector_markers [default: false]
      • odom_datagram_port [default: 1111]
      • scan_topic [default: /scan]
      • scan2_topic [default: /scan2]
      • odom_topic [default: /odom]
  • launch/bridge_with_bagplayback.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • enable_odometry [default: false]
      • bag [default: ]
      • laser_datagram_port [default: 4242]
      • laser_mirror_scans [default: false]
      • laser_x [default: 0.0]
      • laser_y [default: 0.0]
      • laser_yaw [default: 0.0]
      • laser_use_intensities [default: false]
      • laser2_enable [default: false]
      • laser2_datagram_port [default: 2113]
      • laser2_mirror_scans [default: false]
      • laser2_x [default: 0.0]
      • laser2_y [default: 0.0]
      • laser2_yaw [default: 0.0]
      • laser2_use_intensities [default: false]
      • enable_reflector_markers [default: false]
      • odom_datagram_port [default: 1111]
      • scan_topic [default: /scan]
      • scan2_topic [default: /scan2]
      • odom_topic [default: /odom]
  • launch/server_bridge.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • update_time [default: 300]

Plugins

No plugins found.

Recent questions tagged bosch_locator_bridge at Robotics Stack Exchange

Package symbol

bosch_locator_bridge package from locator_ros_bridge repo

bosch_locator_bridge bosch_locator_bridge_utils

ROS Distro
iron

Package Summary

Tags No category tags.
Version 2.1.14
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/boschglobal/locator_ros_bridge.git
VCS Type git
VCS Version humble
Last Updated 2025-05-14
Dev Status MAINTAINED
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

ROS interface to Rexroth ROKIT Locator

Additional Links

No additional links.

Maintainers

  • Stefan Laible

Authors

No additional authors.

General information about this repository, including legal information and build instructions are given in README.md in the repository root.

bosch_locator_bridge

Overview

This package provides a [ROS 2] interface to the [Rexroth ROKIT Locator]. It translates ROS 2 messages to the ROKIT Locator API (as described in the ROKIT Locator API documentation) and vice versa. It also allows to control the ROKIT Locator via ROS 2 service calls.

The package has been tested under [ROS 2] Humble and Ubuntu 22.04. The bridge is compatible with ROKIT Locator version 1.11. If you have an earlier version, see Support of earlier versions of ROKIT Locator.

Quick Start

This section describes how to record your environment, create a map out of the record and localize yourself within it.

Ensure the ROKIT Locator is reachable from your computer

Make sure the ROKIT Locator is installed and running on a computer in your network. You can test this by running the following command in a terminal (replace <LOCATOR_IP> by the IP address of the computer running the ROKIT Locator):

curl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","method":"aboutModulesList","params":{"query":{}},"id":1}' http://<LOCATOR_IP>:8080

Start Bridge Node

Start the bridge node with

ros2 launch bosch_locator_bridge bridge.launch.xml bridge_ip:=<HOST_IP> locator_ip:=<LOCATOR_IP> locator_user:=<USER> locator_password:=<PASSWORD> scan_topic:=<SCAN_TOPIC> enable_odometry:=<ENABLE_ODOM> odom_topic:=<ODOM_TOPIC>

where

  • <HOST_IP> is the IP address of the computer the bridge is to be started
  • <LOCATOR_IP> is the IP address of the computer where the ROKIT Locator is running
  • <USER> and <PASSWORD> are the credentials to log into the ROKIT Locator
  • <SCAN_TOPIC> is the topic name of the laser scans
  • <ENABLE_ODOM> is a boolean that describes whether you want to forward odometry ROS messages to the ROKIT Locator
  • <ODOM_TOPIC> is the topic name of the odometry

Since the Laser Localization Software is running in docker, the <HOST_IP> has to be set to docker0 ip address (172.17.0.1) instead of localhost ip address (127.0.0.1) when the user program providing the laser data runs on the same machine.

For additional parameters please refer to the launch file bridge.launch.xml.

Start Visual Recording

Then, make sure there are laser scans published on <SCAN_TOPIC>, and start the visual recording with e.g.

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_visual_recording.rviz
ros2 service call /bridge_node/start_visual_recording bosch_locator_bridge/srv/StartRecording "name: 'ROS-Quickstart-$(date -Isecond)'"

You should see the laser scans, the robot position and its previous path, and the recording built up over time.

Stop Visual Recording

When you are done, you can stop recording with

ros2 service call /bridge_node/stop_visual_recording std_srvs/srv/Empty

Create Map From Recording

Now, create a map from your recording with

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_map_creation.rviz
ros2 service call /bridge_node/start_map bosch_locator_bridge/srv/ClientMapStart

When the map has been created, it must be sent to the map server and set as the active map.

ros2 service call /bridge_node/send_map bosch_locator_bridge/srv/ClientMapSend
ros2 service call /bridge_node/set_map bosch_locator_bridge/srv/ClientMapSet

Start Localization

Finally, you can start the localization with

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_localization.rviz
ros2 service call /bridge_node/start_localization std_srvs/srv/Empty

You can set the initial pose of the robot by clicking the “2D Pose Estimate” button in RViz, and then set the pose in the map.

Stop Localization

When you are done, you can stop the localization with

ros2 service call /bridge_node/stop_localization std_srvs/srv/Empty

Map Expansion

  1. Record and build the prior map (map name: priormap) as usual.
  2. Start localization on this prior map and move until the system is localized.
  3. Make a note of the pose and do not move
  4. Enable map expansion
    rosservice  call /bridge_node/enable_map_expansion "prior_map_name: priormap"
    
  1. Start visual recording and use the following to visualize the prior map
    rosrun rviz rviz -d `rospack find bosch_locator_bridge`/config/locator_bridge_visual_recording_with_prior_map.rviz
    
  1. Use the pose in step 3 to set the current pose in the recording

```

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package bosch_locator_bridge

2.1.14 (2025-05-14)

  • Fix code formatting
  • Update to ROKIT Locator version 1.11 #69 from boschglobal/humble-v1.11
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible

2.1.13 (2024-11-11)

  • update tag compatible with Locator 1.9
  • update to Locator 1.10 #66 from boschglobal/humble-v1.10
  • Contributors: Sheung Ying Yuen-Wille

2.1.12 (2024-11-11)

  • Update readme.md to Locator 1.9 #65 from boschglobal/bugfix/update-readme-humble
  • Update CHANGELOG.rst #63 from boschglobal/syyuen-changelog-humble
  • Contributors: Sheung Ying Yuen-Wille

2.1.11 (2024-06-04)

  • made server compatible with Locator version 1.9 (#61)
  • compatible with 1.9 (#58)
  • Note in the Readme for earlier versions (#57)
  • correct some messages types of bridge_node in README (#55) Message type error of service /bridge_node/disable_map_expansion is found by slaible (Stefan Laible).
  • Make minRange non-negative (#53) In order to tolerate SICK picoScan150, which could produce LaserScan messages with little negative minRange, and avoid minRange validation failure errors raised by Locator. set lower limit range_min to 0
  • Update server_bridge_node.cpp made compatible with Locator version 1.8
  • update to humble (#48)
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible, TAN Hongkui, Fleer David

2.1.10 (2023-10-31)

  • update compatible Locator version to 1.8
  • Document the map expansion workflow
  • Add rviz config files for map expansion
  • Add services and interfaces for map expansion
  • Add expandmap_state in control mode
  • Remove field distanceToLastLC in ClientLocalizationVisualizationDatagram
  • Introduce parameter odometry_velocity_set of odometry message
  • Configurable Locator ports
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible

2.1.9 (2023-03-23)

  • Try to stop everything before setting config list (#35)
  • Add errorFlags and infoFlags fields to ClientLocalizationPose (#33)
  • Update to ROKIT Locator version 1.6
  • Contributors: Stefan Laible

2.1.8 (2023-02-14)

  • Support setting arbitrary Locator config entries
  • Update module versions in server node
  • Use mutex to just make one json_rpc_call at a time
  • Contributors: Fabian König, Stefan Laible

2.1.7 (2022-09-08)

  • Fixed a bug that could cause latency in localization poses
  • Remove tf broadcaster
  • Check if laser scan message is valid
  • Add refresh timer to service callback group to avoid overlapping json rpc calls
  • Update to ROKIT Locator version 1.5
  • Contributors: Fabian König, Stefan Laible

2.1.6 (2022-06-13)

  • fix module version check for compatibility with v1.4.0
  • add parameter to enable intensities
  • Contributors: Fabian König, Stefan Laible

2.1.5 (2022-02-16)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/bridge.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_RPC_Port [default: 8080]
      • locator_binaryPortsStart [default: 9004]
      • bridge_node_name [default: bridge_node]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • enable_odometry [default: false]
      • laser_datagram_port [default: 2112]
      • laser_mirror_scans [default: false]
      • laser_x [default: 0.0]
      • laser_y [default: 0.0]
      • laser_yaw [default: 0.0]
      • laser_use_intensities [default: false]
      • laser2_enable [default: false]
      • laser2_datagram_port [default: 2113]
      • laser2_mirror_scans [default: false]
      • laser2_x [default: 0.0]
      • laser2_y [default: 0.0]
      • laser2_yaw [default: 0.0]
      • laser2_use_intensities [default: false]
      • enable_reflector_markers [default: false]
      • odom_datagram_port [default: 1111]
      • scan_topic [default: /scan]
      • scan2_topic [default: /scan2]
      • odom_topic [default: /odom]
      • odometry_velocity_set [default: false]
  • launch/bridge_with_bagplayback.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_RPC_Port [default: 8080]
      • locator_binaryPortsStart [default: 9004]
      • bridge_node_name [default: bridge_node]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • enable_odometry [default: false]
      • bag [default: ]
      • laser_datagram_port [default: 2112]
      • laser_mirror_scans [default: false]
      • laser_x [default: 0.0]
      • laser_y [default: 0.0]
      • laser_yaw [default: 0.0]
      • laser_use_intensities [default: false]
      • laser2_enable [default: false]
      • laser2_datagram_port [default: 2113]
      • laser2_mirror_scans [default: false]
      • laser2_x [default: 0.0]
      • laser2_y [default: 0.0]
      • laser2_yaw [default: 0.0]
      • laser2_use_intensities [default: false]
      • enable_reflector_markers [default: false]
      • odom_datagram_port [default: 1111]
      • scan_topic [default: /scan]
      • scan2_topic [default: /scan2]
      • odom_topic [default: /odom]
  • launch/server_bridge.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • update_time [default: 300]

Plugins

No plugins found.

Recent questions tagged bosch_locator_bridge at Robotics Stack Exchange

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

bosch_locator_bridge package from locator_ros_bridge repo

bosch_locator_bridge bosch_locator_bridge_utils

ROS Distro
humble

Package Summary

Tags No category tags.
Version 2.1.14
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/boschglobal/locator_ros_bridge.git
VCS Type git
VCS Version humble
Last Updated 2025-05-14
Dev Status MAINTAINED
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

ROS interface to Rexroth ROKIT Locator

Additional Links

No additional links.

Maintainers

  • Stefan Laible

Authors

No additional authors.

General information about this repository, including legal information and build instructions are given in README.md in the repository root.

bosch_locator_bridge

Overview

This package provides a [ROS 2] interface to the [Rexroth ROKIT Locator]. It translates ROS 2 messages to the ROKIT Locator API (as described in the ROKIT Locator API documentation) and vice versa. It also allows to control the ROKIT Locator via ROS 2 service calls.

The package has been tested under [ROS 2] Humble and Ubuntu 22.04. The bridge is compatible with ROKIT Locator version 1.11. If you have an earlier version, see Support of earlier versions of ROKIT Locator.

Quick Start

This section describes how to record your environment, create a map out of the record and localize yourself within it.

Ensure the ROKIT Locator is reachable from your computer

Make sure the ROKIT Locator is installed and running on a computer in your network. You can test this by running the following command in a terminal (replace <LOCATOR_IP> by the IP address of the computer running the ROKIT Locator):

curl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","method":"aboutModulesList","params":{"query":{}},"id":1}' http://<LOCATOR_IP>:8080

Start Bridge Node

Start the bridge node with

ros2 launch bosch_locator_bridge bridge.launch.xml bridge_ip:=<HOST_IP> locator_ip:=<LOCATOR_IP> locator_user:=<USER> locator_password:=<PASSWORD> scan_topic:=<SCAN_TOPIC> enable_odometry:=<ENABLE_ODOM> odom_topic:=<ODOM_TOPIC>

where

  • <HOST_IP> is the IP address of the computer the bridge is to be started
  • <LOCATOR_IP> is the IP address of the computer where the ROKIT Locator is running
  • <USER> and <PASSWORD> are the credentials to log into the ROKIT Locator
  • <SCAN_TOPIC> is the topic name of the laser scans
  • <ENABLE_ODOM> is a boolean that describes whether you want to forward odometry ROS messages to the ROKIT Locator
  • <ODOM_TOPIC> is the topic name of the odometry

Since the Laser Localization Software is running in docker, the <HOST_IP> has to be set to docker0 ip address (172.17.0.1) instead of localhost ip address (127.0.0.1) when the user program providing the laser data runs on the same machine.

For additional parameters please refer to the launch file bridge.launch.xml.

Start Visual Recording

Then, make sure there are laser scans published on <SCAN_TOPIC>, and start the visual recording with e.g.

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_visual_recording.rviz
ros2 service call /bridge_node/start_visual_recording bosch_locator_bridge/srv/StartRecording "name: 'ROS-Quickstart-$(date -Isecond)'"

You should see the laser scans, the robot position and its previous path, and the recording built up over time.

Stop Visual Recording

When you are done, you can stop recording with

ros2 service call /bridge_node/stop_visual_recording std_srvs/srv/Empty

Create Map From Recording

Now, create a map from your recording with

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_map_creation.rviz
ros2 service call /bridge_node/start_map bosch_locator_bridge/srv/ClientMapStart

When the map has been created, it must be sent to the map server and set as the active map.

ros2 service call /bridge_node/send_map bosch_locator_bridge/srv/ClientMapSend
ros2 service call /bridge_node/set_map bosch_locator_bridge/srv/ClientMapSet

Start Localization

Finally, you can start the localization with

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_localization.rviz
ros2 service call /bridge_node/start_localization std_srvs/srv/Empty

You can set the initial pose of the robot by clicking the “2D Pose Estimate” button in RViz, and then set the pose in the map.

Stop Localization

When you are done, you can stop the localization with

ros2 service call /bridge_node/stop_localization std_srvs/srv/Empty

Map Expansion

  1. Record and build the prior map (map name: priormap) as usual.
  2. Start localization on this prior map and move until the system is localized.
  3. Make a note of the pose and do not move
  4. Enable map expansion
    rosservice  call /bridge_node/enable_map_expansion "prior_map_name: priormap"
    
  1. Start visual recording and use the following to visualize the prior map
    rosrun rviz rviz -d `rospack find bosch_locator_bridge`/config/locator_bridge_visual_recording_with_prior_map.rviz
    
  1. Use the pose in step 3 to set the current pose in the recording

```

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package bosch_locator_bridge

2.1.14 (2025-05-14)

  • Fix code formatting
  • Update to ROKIT Locator version 1.11 #69 from boschglobal/humble-v1.11
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible

2.1.13 (2024-11-11)

  • update tag compatible with Locator 1.9
  • update to Locator 1.10 #66 from boschglobal/humble-v1.10
  • Contributors: Sheung Ying Yuen-Wille

2.1.12 (2024-11-11)

  • Update readme.md to Locator 1.9 #65 from boschglobal/bugfix/update-readme-humble
  • Update CHANGELOG.rst #63 from boschglobal/syyuen-changelog-humble
  • Contributors: Sheung Ying Yuen-Wille

2.1.11 (2024-06-04)

  • made server compatible with Locator version 1.9 (#61)
  • compatible with 1.9 (#58)
  • Note in the Readme for earlier versions (#57)
  • correct some messages types of bridge_node in README (#55) Message type error of service /bridge_node/disable_map_expansion is found by slaible (Stefan Laible).
  • Make minRange non-negative (#53) In order to tolerate SICK picoScan150, which could produce LaserScan messages with little negative minRange, and avoid minRange validation failure errors raised by Locator. set lower limit range_min to 0
  • Update server_bridge_node.cpp made compatible with Locator version 1.8
  • update to humble (#48)
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible, TAN Hongkui, Fleer David

2.1.10 (2023-10-31)

  • update compatible Locator version to 1.8
  • Document the map expansion workflow
  • Add rviz config files for map expansion
  • Add services and interfaces for map expansion
  • Add expandmap_state in control mode
  • Remove field distanceToLastLC in ClientLocalizationVisualizationDatagram
  • Introduce parameter odometry_velocity_set of odometry message
  • Configurable Locator ports
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible

2.1.9 (2023-03-23)

  • Try to stop everything before setting config list (#35)
  • Add errorFlags and infoFlags fields to ClientLocalizationPose (#33)
  • Update to ROKIT Locator version 1.6
  • Contributors: Stefan Laible

2.1.8 (2023-02-14)

  • Support setting arbitrary Locator config entries
  • Update module versions in server node
  • Use mutex to just make one json_rpc_call at a time
  • Contributors: Fabian König, Stefan Laible

2.1.7 (2022-09-08)

  • Fixed a bug that could cause latency in localization poses
  • Remove tf broadcaster
  • Check if laser scan message is valid
  • Add refresh timer to service callback group to avoid overlapping json rpc calls
  • Update to ROKIT Locator version 1.5
  • Contributors: Fabian König, Stefan Laible

2.1.6 (2022-06-13)

  • fix module version check for compatibility with v1.4.0
  • add parameter to enable intensities
  • Contributors: Fabian König, Stefan Laible

2.1.5 (2022-02-16)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/bridge.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_RPC_Port [default: 8080]
      • locator_binaryPortsStart [default: 9004]
      • bridge_node_name [default: bridge_node]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • enable_odometry [default: false]
      • laser_datagram_port [default: 2112]
      • laser_mirror_scans [default: false]
      • laser_x [default: 0.0]
      • laser_y [default: 0.0]
      • laser_yaw [default: 0.0]
      • laser_use_intensities [default: false]
      • laser2_enable [default: false]
      • laser2_datagram_port [default: 2113]
      • laser2_mirror_scans [default: false]
      • laser2_x [default: 0.0]
      • laser2_y [default: 0.0]
      • laser2_yaw [default: 0.0]
      • laser2_use_intensities [default: false]
      • enable_reflector_markers [default: false]
      • odom_datagram_port [default: 1111]
      • scan_topic [default: /scan]
      • scan2_topic [default: /scan2]
      • odom_topic [default: /odom]
      • odometry_velocity_set [default: false]
  • launch/bridge_with_bagplayback.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_RPC_Port [default: 8080]
      • locator_binaryPortsStart [default: 9004]
      • bridge_node_name [default: bridge_node]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • enable_odometry [default: false]
      • bag [default: ]
      • laser_datagram_port [default: 2112]
      • laser_mirror_scans [default: false]
      • laser_x [default: 0.0]
      • laser_y [default: 0.0]
      • laser_yaw [default: 0.0]
      • laser_use_intensities [default: false]
      • laser2_enable [default: false]
      • laser2_datagram_port [default: 2113]
      • laser2_mirror_scans [default: false]
      • laser2_x [default: 0.0]
      • laser2_y [default: 0.0]
      • laser2_yaw [default: 0.0]
      • laser2_use_intensities [default: false]
      • enable_reflector_markers [default: false]
      • odom_datagram_port [default: 1111]
      • scan_topic [default: /scan]
      • scan2_topic [default: /scan2]
      • odom_topic [default: /odom]
  • launch/server_bridge.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • update_time [default: 300]

Plugins

No plugins found.

Recent questions tagged bosch_locator_bridge at Robotics Stack Exchange

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

bosch_locator_bridge package from locator_ros_bridge repo

bosch_locator_bridge bosch_locator_bridge_utils

ROS Distro
humble

Package Summary

Tags No category tags.
Version 2.1.14
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/boschglobal/locator_ros_bridge.git
VCS Type git
VCS Version humble
Last Updated 2025-05-14
Dev Status MAINTAINED
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

ROS interface to Rexroth ROKIT Locator

Additional Links

No additional links.

Maintainers

  • Stefan Laible

Authors

No additional authors.

General information about this repository, including legal information and build instructions are given in README.md in the repository root.

bosch_locator_bridge

Overview

This package provides a [ROS 2] interface to the [Rexroth ROKIT Locator]. It translates ROS 2 messages to the ROKIT Locator API (as described in the ROKIT Locator API documentation) and vice versa. It also allows to control the ROKIT Locator via ROS 2 service calls.

The package has been tested under [ROS 2] Humble and Ubuntu 22.04. The bridge is compatible with ROKIT Locator version 1.11. If you have an earlier version, see Support of earlier versions of ROKIT Locator.

Quick Start

This section describes how to record your environment, create a map out of the record and localize yourself within it.

Ensure the ROKIT Locator is reachable from your computer

Make sure the ROKIT Locator is installed and running on a computer in your network. You can test this by running the following command in a terminal (replace <LOCATOR_IP> by the IP address of the computer running the ROKIT Locator):

curl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","method":"aboutModulesList","params":{"query":{}},"id":1}' http://<LOCATOR_IP>:8080

Start Bridge Node

Start the bridge node with

ros2 launch bosch_locator_bridge bridge.launch.xml bridge_ip:=<HOST_IP> locator_ip:=<LOCATOR_IP> locator_user:=<USER> locator_password:=<PASSWORD> scan_topic:=<SCAN_TOPIC> enable_odometry:=<ENABLE_ODOM> odom_topic:=<ODOM_TOPIC>

where

  • <HOST_IP> is the IP address of the computer the bridge is to be started
  • <LOCATOR_IP> is the IP address of the computer where the ROKIT Locator is running
  • <USER> and <PASSWORD> are the credentials to log into the ROKIT Locator
  • <SCAN_TOPIC> is the topic name of the laser scans
  • <ENABLE_ODOM> is a boolean that describes whether you want to forward odometry ROS messages to the ROKIT Locator
  • <ODOM_TOPIC> is the topic name of the odometry

Since the Laser Localization Software is running in docker, the <HOST_IP> has to be set to docker0 ip address (172.17.0.1) instead of localhost ip address (127.0.0.1) when the user program providing the laser data runs on the same machine.

For additional parameters please refer to the launch file bridge.launch.xml.

Start Visual Recording

Then, make sure there are laser scans published on <SCAN_TOPIC>, and start the visual recording with e.g.

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_visual_recording.rviz
ros2 service call /bridge_node/start_visual_recording bosch_locator_bridge/srv/StartRecording "name: 'ROS-Quickstart-$(date -Isecond)'"

You should see the laser scans, the robot position and its previous path, and the recording built up over time.

Stop Visual Recording

When you are done, you can stop recording with

ros2 service call /bridge_node/stop_visual_recording std_srvs/srv/Empty

Create Map From Recording

Now, create a map from your recording with

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_map_creation.rviz
ros2 service call /bridge_node/start_map bosch_locator_bridge/srv/ClientMapStart

When the map has been created, it must be sent to the map server and set as the active map.

ros2 service call /bridge_node/send_map bosch_locator_bridge/srv/ClientMapSend
ros2 service call /bridge_node/set_map bosch_locator_bridge/srv/ClientMapSet

Start Localization

Finally, you can start the localization with

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_localization.rviz
ros2 service call /bridge_node/start_localization std_srvs/srv/Empty

You can set the initial pose of the robot by clicking the “2D Pose Estimate” button in RViz, and then set the pose in the map.

Stop Localization

When you are done, you can stop the localization with

ros2 service call /bridge_node/stop_localization std_srvs/srv/Empty

Map Expansion

  1. Record and build the prior map (map name: priormap) as usual.
  2. Start localization on this prior map and move until the system is localized.
  3. Make a note of the pose and do not move
  4. Enable map expansion
    rosservice  call /bridge_node/enable_map_expansion "prior_map_name: priormap"
    
  1. Start visual recording and use the following to visualize the prior map
    rosrun rviz rviz -d `rospack find bosch_locator_bridge`/config/locator_bridge_visual_recording_with_prior_map.rviz
    
  1. Use the pose in step 3 to set the current pose in the recording

```

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package bosch_locator_bridge

2.1.14 (2025-05-14)

  • Fix code formatting
  • Update to ROKIT Locator version 1.11 #69 from boschglobal/humble-v1.11
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible

2.1.13 (2024-11-11)

  • update tag compatible with Locator 1.9
  • update to Locator 1.10 #66 from boschglobal/humble-v1.10
  • Contributors: Sheung Ying Yuen-Wille

2.1.12 (2024-11-11)

  • Update readme.md to Locator 1.9 #65 from boschglobal/bugfix/update-readme-humble
  • Update CHANGELOG.rst #63 from boschglobal/syyuen-changelog-humble
  • Contributors: Sheung Ying Yuen-Wille

2.1.11 (2024-06-04)

  • made server compatible with Locator version 1.9 (#61)
  • compatible with 1.9 (#58)
  • Note in the Readme for earlier versions (#57)
  • correct some messages types of bridge_node in README (#55) Message type error of service /bridge_node/disable_map_expansion is found by slaible (Stefan Laible).
  • Make minRange non-negative (#53) In order to tolerate SICK picoScan150, which could produce LaserScan messages with little negative minRange, and avoid minRange validation failure errors raised by Locator. set lower limit range_min to 0
  • Update server_bridge_node.cpp made compatible with Locator version 1.8
  • update to humble (#48)
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible, TAN Hongkui, Fleer David

2.1.10 (2023-10-31)

  • update compatible Locator version to 1.8
  • Document the map expansion workflow
  • Add rviz config files for map expansion
  • Add services and interfaces for map expansion
  • Add expandmap_state in control mode
  • Remove field distanceToLastLC in ClientLocalizationVisualizationDatagram
  • Introduce parameter odometry_velocity_set of odometry message
  • Configurable Locator ports
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible

2.1.9 (2023-03-23)

  • Try to stop everything before setting config list (#35)
  • Add errorFlags and infoFlags fields to ClientLocalizationPose (#33)
  • Update to ROKIT Locator version 1.6
  • Contributors: Stefan Laible

2.1.8 (2023-02-14)

  • Support setting arbitrary Locator config entries
  • Update module versions in server node
  • Use mutex to just make one json_rpc_call at a time
  • Contributors: Fabian König, Stefan Laible

2.1.7 (2022-09-08)

  • Fixed a bug that could cause latency in localization poses
  • Remove tf broadcaster
  • Check if laser scan message is valid
  • Add refresh timer to service callback group to avoid overlapping json rpc calls
  • Update to ROKIT Locator version 1.5
  • Contributors: Fabian König, Stefan Laible

2.1.6 (2022-06-13)

  • fix module version check for compatibility with v1.4.0
  • add parameter to enable intensities
  • Contributors: Fabian König, Stefan Laible

2.1.5 (2022-02-16)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/bridge.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_RPC_Port [default: 8080]
      • locator_binaryPortsStart [default: 9004]
      • bridge_node_name [default: bridge_node]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • enable_odometry [default: false]
      • laser_datagram_port [default: 2112]
      • laser_mirror_scans [default: false]
      • laser_x [default: 0.0]
      • laser_y [default: 0.0]
      • laser_yaw [default: 0.0]
      • laser_use_intensities [default: false]
      • laser2_enable [default: false]
      • laser2_datagram_port [default: 2113]
      • laser2_mirror_scans [default: false]
      • laser2_x [default: 0.0]
      • laser2_y [default: 0.0]
      • laser2_yaw [default: 0.0]
      • laser2_use_intensities [default: false]
      • enable_reflector_markers [default: false]
      • odom_datagram_port [default: 1111]
      • scan_topic [default: /scan]
      • scan2_topic [default: /scan2]
      • odom_topic [default: /odom]
      • odometry_velocity_set [default: false]
  • launch/bridge_with_bagplayback.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_RPC_Port [default: 8080]
      • locator_binaryPortsStart [default: 9004]
      • bridge_node_name [default: bridge_node]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • enable_odometry [default: false]
      • bag [default: ]
      • laser_datagram_port [default: 2112]
      • laser_mirror_scans [default: false]
      • laser_x [default: 0.0]
      • laser_y [default: 0.0]
      • laser_yaw [default: 0.0]
      • laser_use_intensities [default: false]
      • laser2_enable [default: false]
      • laser2_datagram_port [default: 2113]
      • laser2_mirror_scans [default: false]
      • laser2_x [default: 0.0]
      • laser2_y [default: 0.0]
      • laser2_yaw [default: 0.0]
      • laser2_use_intensities [default: false]
      • enable_reflector_markers [default: false]
      • odom_datagram_port [default: 1111]
      • scan_topic [default: /scan]
      • scan2_topic [default: /scan2]
      • odom_topic [default: /odom]
  • launch/server_bridge.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • update_time [default: 300]

Plugins

No plugins found.

Recent questions tagged bosch_locator_bridge at Robotics Stack Exchange

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

bosch_locator_bridge package from locator_ros_bridge repo

bosch_locator_bridge bosch_locator_bridge_utils

ROS Distro
humble

Package Summary

Tags No category tags.
Version 2.1.14
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/boschglobal/locator_ros_bridge.git
VCS Type git
VCS Version humble
Last Updated 2025-05-14
Dev Status MAINTAINED
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

ROS interface to Rexroth ROKIT Locator

Additional Links

No additional links.

Maintainers

  • Stefan Laible

Authors

No additional authors.

General information about this repository, including legal information and build instructions are given in README.md in the repository root.

bosch_locator_bridge

Overview

This package provides a [ROS 2] interface to the [Rexroth ROKIT Locator]. It translates ROS 2 messages to the ROKIT Locator API (as described in the ROKIT Locator API documentation) and vice versa. It also allows to control the ROKIT Locator via ROS 2 service calls.

The package has been tested under [ROS 2] Humble and Ubuntu 22.04. The bridge is compatible with ROKIT Locator version 1.11. If you have an earlier version, see Support of earlier versions of ROKIT Locator.

Quick Start

This section describes how to record your environment, create a map out of the record and localize yourself within it.

Ensure the ROKIT Locator is reachable from your computer

Make sure the ROKIT Locator is installed and running on a computer in your network. You can test this by running the following command in a terminal (replace <LOCATOR_IP> by the IP address of the computer running the ROKIT Locator):

curl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","method":"aboutModulesList","params":{"query":{}},"id":1}' http://<LOCATOR_IP>:8080

Start Bridge Node

Start the bridge node with

ros2 launch bosch_locator_bridge bridge.launch.xml bridge_ip:=<HOST_IP> locator_ip:=<LOCATOR_IP> locator_user:=<USER> locator_password:=<PASSWORD> scan_topic:=<SCAN_TOPIC> enable_odometry:=<ENABLE_ODOM> odom_topic:=<ODOM_TOPIC>

where

  • <HOST_IP> is the IP address of the computer the bridge is to be started
  • <LOCATOR_IP> is the IP address of the computer where the ROKIT Locator is running
  • <USER> and <PASSWORD> are the credentials to log into the ROKIT Locator
  • <SCAN_TOPIC> is the topic name of the laser scans
  • <ENABLE_ODOM> is a boolean that describes whether you want to forward odometry ROS messages to the ROKIT Locator
  • <ODOM_TOPIC> is the topic name of the odometry

Since the Laser Localization Software is running in docker, the <HOST_IP> has to be set to docker0 ip address (172.17.0.1) instead of localhost ip address (127.0.0.1) when the user program providing the laser data runs on the same machine.

For additional parameters please refer to the launch file bridge.launch.xml.

Start Visual Recording

Then, make sure there are laser scans published on <SCAN_TOPIC>, and start the visual recording with e.g.

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_visual_recording.rviz
ros2 service call /bridge_node/start_visual_recording bosch_locator_bridge/srv/StartRecording "name: 'ROS-Quickstart-$(date -Isecond)'"

You should see the laser scans, the robot position and its previous path, and the recording built up over time.

Stop Visual Recording

When you are done, you can stop recording with

ros2 service call /bridge_node/stop_visual_recording std_srvs/srv/Empty

Create Map From Recording

Now, create a map from your recording with

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_map_creation.rviz
ros2 service call /bridge_node/start_map bosch_locator_bridge/srv/ClientMapStart

When the map has been created, it must be sent to the map server and set as the active map.

ros2 service call /bridge_node/send_map bosch_locator_bridge/srv/ClientMapSend
ros2 service call /bridge_node/set_map bosch_locator_bridge/srv/ClientMapSet

Start Localization

Finally, you can start the localization with

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_localization.rviz
ros2 service call /bridge_node/start_localization std_srvs/srv/Empty

You can set the initial pose of the robot by clicking the “2D Pose Estimate” button in RViz, and then set the pose in the map.

Stop Localization

When you are done, you can stop the localization with

ros2 service call /bridge_node/stop_localization std_srvs/srv/Empty

Map Expansion

  1. Record and build the prior map (map name: priormap) as usual.
  2. Start localization on this prior map and move until the system is localized.
  3. Make a note of the pose and do not move
  4. Enable map expansion
    rosservice  call /bridge_node/enable_map_expansion "prior_map_name: priormap"
    
  1. Start visual recording and use the following to visualize the prior map
    rosrun rviz rviz -d `rospack find bosch_locator_bridge`/config/locator_bridge_visual_recording_with_prior_map.rviz
    
  1. Use the pose in step 3 to set the current pose in the recording

```

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package bosch_locator_bridge

2.1.14 (2025-05-14)

  • Fix code formatting
  • Update to ROKIT Locator version 1.11 #69 from boschglobal/humble-v1.11
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible

2.1.13 (2024-11-11)

  • update tag compatible with Locator 1.9
  • update to Locator 1.10 #66 from boschglobal/humble-v1.10
  • Contributors: Sheung Ying Yuen-Wille

2.1.12 (2024-11-11)

  • Update readme.md to Locator 1.9 #65 from boschglobal/bugfix/update-readme-humble
  • Update CHANGELOG.rst #63 from boschglobal/syyuen-changelog-humble
  • Contributors: Sheung Ying Yuen-Wille

2.1.11 (2024-06-04)

  • made server compatible with Locator version 1.9 (#61)
  • compatible with 1.9 (#58)
  • Note in the Readme for earlier versions (#57)
  • correct some messages types of bridge_node in README (#55) Message type error of service /bridge_node/disable_map_expansion is found by slaible (Stefan Laible).
  • Make minRange non-negative (#53) In order to tolerate SICK picoScan150, which could produce LaserScan messages with little negative minRange, and avoid minRange validation failure errors raised by Locator. set lower limit range_min to 0
  • Update server_bridge_node.cpp made compatible with Locator version 1.8
  • update to humble (#48)
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible, TAN Hongkui, Fleer David

2.1.10 (2023-10-31)

  • update compatible Locator version to 1.8
  • Document the map expansion workflow
  • Add rviz config files for map expansion
  • Add services and interfaces for map expansion
  • Add expandmap_state in control mode
  • Remove field distanceToLastLC in ClientLocalizationVisualizationDatagram
  • Introduce parameter odometry_velocity_set of odometry message
  • Configurable Locator ports
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible

2.1.9 (2023-03-23)

  • Try to stop everything before setting config list (#35)
  • Add errorFlags and infoFlags fields to ClientLocalizationPose (#33)
  • Update to ROKIT Locator version 1.6
  • Contributors: Stefan Laible

2.1.8 (2023-02-14)

  • Support setting arbitrary Locator config entries
  • Update module versions in server node
  • Use mutex to just make one json_rpc_call at a time
  • Contributors: Fabian König, Stefan Laible

2.1.7 (2022-09-08)

  • Fixed a bug that could cause latency in localization poses
  • Remove tf broadcaster
  • Check if laser scan message is valid
  • Add refresh timer to service callback group to avoid overlapping json rpc calls
  • Update to ROKIT Locator version 1.5
  • Contributors: Fabian König, Stefan Laible

2.1.6 (2022-06-13)

  • fix module version check for compatibility with v1.4.0
  • add parameter to enable intensities
  • Contributors: Fabian König, Stefan Laible

2.1.5 (2022-02-16)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/bridge.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_RPC_Port [default: 8080]
      • locator_binaryPortsStart [default: 9004]
      • bridge_node_name [default: bridge_node]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • enable_odometry [default: false]
      • laser_datagram_port [default: 2112]
      • laser_mirror_scans [default: false]
      • laser_x [default: 0.0]
      • laser_y [default: 0.0]
      • laser_yaw [default: 0.0]
      • laser_use_intensities [default: false]
      • laser2_enable [default: false]
      • laser2_datagram_port [default: 2113]
      • laser2_mirror_scans [default: false]
      • laser2_x [default: 0.0]
      • laser2_y [default: 0.0]
      • laser2_yaw [default: 0.0]
      • laser2_use_intensities [default: false]
      • enable_reflector_markers [default: false]
      • odom_datagram_port [default: 1111]
      • scan_topic [default: /scan]
      • scan2_topic [default: /scan2]
      • odom_topic [default: /odom]
      • odometry_velocity_set [default: false]
  • launch/bridge_with_bagplayback.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_RPC_Port [default: 8080]
      • locator_binaryPortsStart [default: 9004]
      • bridge_node_name [default: bridge_node]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • enable_odometry [default: false]
      • bag [default: ]
      • laser_datagram_port [default: 2112]
      • laser_mirror_scans [default: false]
      • laser_x [default: 0.0]
      • laser_y [default: 0.0]
      • laser_yaw [default: 0.0]
      • laser_use_intensities [default: false]
      • laser2_enable [default: false]
      • laser2_datagram_port [default: 2113]
      • laser2_mirror_scans [default: false]
      • laser2_x [default: 0.0]
      • laser2_y [default: 0.0]
      • laser2_yaw [default: 0.0]
      • laser2_use_intensities [default: false]
      • enable_reflector_markers [default: false]
      • odom_datagram_port [default: 1111]
      • scan_topic [default: /scan]
      • scan2_topic [default: /scan2]
      • odom_topic [default: /odom]
  • launch/server_bridge.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • update_time [default: 300]

Plugins

No plugins found.

Recent questions tagged bosch_locator_bridge at Robotics Stack Exchange

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

bosch_locator_bridge package from locator_ros_bridge repo

bosch_locator_bridge bosch_locator_bridge_utils

ROS Distro
humble

Package Summary

Tags No category tags.
Version 2.1.14
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/boschglobal/locator_ros_bridge.git
VCS Type git
VCS Version humble
Last Updated 2025-05-14
Dev Status MAINTAINED
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

ROS interface to Rexroth ROKIT Locator

Additional Links

No additional links.

Maintainers

  • Stefan Laible

Authors

No additional authors.

General information about this repository, including legal information and build instructions are given in README.md in the repository root.

bosch_locator_bridge

Overview

This package provides a [ROS 2] interface to the [Rexroth ROKIT Locator]. It translates ROS 2 messages to the ROKIT Locator API (as described in the ROKIT Locator API documentation) and vice versa. It also allows to control the ROKIT Locator via ROS 2 service calls.

The package has been tested under [ROS 2] Humble and Ubuntu 22.04. The bridge is compatible with ROKIT Locator version 1.11. If you have an earlier version, see Support of earlier versions of ROKIT Locator.

Quick Start

This section describes how to record your environment, create a map out of the record and localize yourself within it.

Ensure the ROKIT Locator is reachable from your computer

Make sure the ROKIT Locator is installed and running on a computer in your network. You can test this by running the following command in a terminal (replace <LOCATOR_IP> by the IP address of the computer running the ROKIT Locator):

curl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","method":"aboutModulesList","params":{"query":{}},"id":1}' http://<LOCATOR_IP>:8080

Start Bridge Node

Start the bridge node with

ros2 launch bosch_locator_bridge bridge.launch.xml bridge_ip:=<HOST_IP> locator_ip:=<LOCATOR_IP> locator_user:=<USER> locator_password:=<PASSWORD> scan_topic:=<SCAN_TOPIC> enable_odometry:=<ENABLE_ODOM> odom_topic:=<ODOM_TOPIC>

where

  • <HOST_IP> is the IP address of the computer the bridge is to be started
  • <LOCATOR_IP> is the IP address of the computer where the ROKIT Locator is running
  • <USER> and <PASSWORD> are the credentials to log into the ROKIT Locator
  • <SCAN_TOPIC> is the topic name of the laser scans
  • <ENABLE_ODOM> is a boolean that describes whether you want to forward odometry ROS messages to the ROKIT Locator
  • <ODOM_TOPIC> is the topic name of the odometry

Since the Laser Localization Software is running in docker, the <HOST_IP> has to be set to docker0 ip address (172.17.0.1) instead of localhost ip address (127.0.0.1) when the user program providing the laser data runs on the same machine.

For additional parameters please refer to the launch file bridge.launch.xml.

Start Visual Recording

Then, make sure there are laser scans published on <SCAN_TOPIC>, and start the visual recording with e.g.

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_visual_recording.rviz
ros2 service call /bridge_node/start_visual_recording bosch_locator_bridge/srv/StartRecording "name: 'ROS-Quickstart-$(date -Isecond)'"

You should see the laser scans, the robot position and its previous path, and the recording built up over time.

Stop Visual Recording

When you are done, you can stop recording with

ros2 service call /bridge_node/stop_visual_recording std_srvs/srv/Empty

Create Map From Recording

Now, create a map from your recording with

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_map_creation.rviz
ros2 service call /bridge_node/start_map bosch_locator_bridge/srv/ClientMapStart

When the map has been created, it must be sent to the map server and set as the active map.

ros2 service call /bridge_node/send_map bosch_locator_bridge/srv/ClientMapSend
ros2 service call /bridge_node/set_map bosch_locator_bridge/srv/ClientMapSet

Start Localization

Finally, you can start the localization with

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_localization.rviz
ros2 service call /bridge_node/start_localization std_srvs/srv/Empty

You can set the initial pose of the robot by clicking the “2D Pose Estimate” button in RViz, and then set the pose in the map.

Stop Localization

When you are done, you can stop the localization with

ros2 service call /bridge_node/stop_localization std_srvs/srv/Empty

Map Expansion

  1. Record and build the prior map (map name: priormap) as usual.
  2. Start localization on this prior map and move until the system is localized.
  3. Make a note of the pose and do not move
  4. Enable map expansion
    rosservice  call /bridge_node/enable_map_expansion "prior_map_name: priormap"
    
  1. Start visual recording and use the following to visualize the prior map
    rosrun rviz rviz -d `rospack find bosch_locator_bridge`/config/locator_bridge_visual_recording_with_prior_map.rviz
    
  1. Use the pose in step 3 to set the current pose in the recording

```

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package bosch_locator_bridge

2.1.14 (2025-05-14)

  • Fix code formatting
  • Update to ROKIT Locator version 1.11 #69 from boschglobal/humble-v1.11
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible

2.1.13 (2024-11-11)

  • update tag compatible with Locator 1.9
  • update to Locator 1.10 #66 from boschglobal/humble-v1.10
  • Contributors: Sheung Ying Yuen-Wille

2.1.12 (2024-11-11)

  • Update readme.md to Locator 1.9 #65 from boschglobal/bugfix/update-readme-humble
  • Update CHANGELOG.rst #63 from boschglobal/syyuen-changelog-humble
  • Contributors: Sheung Ying Yuen-Wille

2.1.11 (2024-06-04)

  • made server compatible with Locator version 1.9 (#61)
  • compatible with 1.9 (#58)
  • Note in the Readme for earlier versions (#57)
  • correct some messages types of bridge_node in README (#55) Message type error of service /bridge_node/disable_map_expansion is found by slaible (Stefan Laible).
  • Make minRange non-negative (#53) In order to tolerate SICK picoScan150, which could produce LaserScan messages with little negative minRange, and avoid minRange validation failure errors raised by Locator. set lower limit range_min to 0
  • Update server_bridge_node.cpp made compatible with Locator version 1.8
  • update to humble (#48)
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible, TAN Hongkui, Fleer David

2.1.10 (2023-10-31)

  • update compatible Locator version to 1.8
  • Document the map expansion workflow
  • Add rviz config files for map expansion
  • Add services and interfaces for map expansion
  • Add expandmap_state in control mode
  • Remove field distanceToLastLC in ClientLocalizationVisualizationDatagram
  • Introduce parameter odometry_velocity_set of odometry message
  • Configurable Locator ports
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible

2.1.9 (2023-03-23)

  • Try to stop everything before setting config list (#35)
  • Add errorFlags and infoFlags fields to ClientLocalizationPose (#33)
  • Update to ROKIT Locator version 1.6
  • Contributors: Stefan Laible

2.1.8 (2023-02-14)

  • Support setting arbitrary Locator config entries
  • Update module versions in server node
  • Use mutex to just make one json_rpc_call at a time
  • Contributors: Fabian König, Stefan Laible

2.1.7 (2022-09-08)

  • Fixed a bug that could cause latency in localization poses
  • Remove tf broadcaster
  • Check if laser scan message is valid
  • Add refresh timer to service callback group to avoid overlapping json rpc calls
  • Update to ROKIT Locator version 1.5
  • Contributors: Fabian König, Stefan Laible

2.1.6 (2022-06-13)

  • fix module version check for compatibility with v1.4.0
  • add parameter to enable intensities
  • Contributors: Fabian König, Stefan Laible

2.1.5 (2022-02-16)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/bridge.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_RPC_Port [default: 8080]
      • locator_binaryPortsStart [default: 9004]
      • bridge_node_name [default: bridge_node]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • enable_odometry [default: false]
      • laser_datagram_port [default: 2112]
      • laser_mirror_scans [default: false]
      • laser_x [default: 0.0]
      • laser_y [default: 0.0]
      • laser_yaw [default: 0.0]
      • laser_use_intensities [default: false]
      • laser2_enable [default: false]
      • laser2_datagram_port [default: 2113]
      • laser2_mirror_scans [default: false]
      • laser2_x [default: 0.0]
      • laser2_y [default: 0.0]
      • laser2_yaw [default: 0.0]
      • laser2_use_intensities [default: false]
      • enable_reflector_markers [default: false]
      • odom_datagram_port [default: 1111]
      • scan_topic [default: /scan]
      • scan2_topic [default: /scan2]
      • odom_topic [default: /odom]
      • odometry_velocity_set [default: false]
  • launch/bridge_with_bagplayback.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_RPC_Port [default: 8080]
      • locator_binaryPortsStart [default: 9004]
      • bridge_node_name [default: bridge_node]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • enable_odometry [default: false]
      • bag [default: ]
      • laser_datagram_port [default: 2112]
      • laser_mirror_scans [default: false]
      • laser_x [default: 0.0]
      • laser_y [default: 0.0]
      • laser_yaw [default: 0.0]
      • laser_use_intensities [default: false]
      • laser2_enable [default: false]
      • laser2_datagram_port [default: 2113]
      • laser2_mirror_scans [default: false]
      • laser2_x [default: 0.0]
      • laser2_y [default: 0.0]
      • laser2_yaw [default: 0.0]
      • laser2_use_intensities [default: false]
      • enable_reflector_markers [default: false]
      • odom_datagram_port [default: 1111]
      • scan_topic [default: /scan]
      • scan2_topic [default: /scan2]
      • odom_topic [default: /odom]
  • launch/server_bridge.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • update_time [default: 300]

Plugins

No plugins found.

Recent questions tagged bosch_locator_bridge at Robotics Stack Exchange

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

bosch_locator_bridge package from locator_ros_bridge repo

bosch_locator_bridge bosch_locator_bridge_utils

ROS Distro
humble

Package Summary

Tags No category tags.
Version 2.1.14
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/boschglobal/locator_ros_bridge.git
VCS Type git
VCS Version humble
Last Updated 2025-05-14
Dev Status MAINTAINED
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

ROS interface to Rexroth ROKIT Locator

Additional Links

No additional links.

Maintainers

  • Stefan Laible

Authors

No additional authors.

General information about this repository, including legal information and build instructions are given in README.md in the repository root.

bosch_locator_bridge

Overview

This package provides a [ROS 2] interface to the [Rexroth ROKIT Locator]. It translates ROS 2 messages to the ROKIT Locator API (as described in the ROKIT Locator API documentation) and vice versa. It also allows to control the ROKIT Locator via ROS 2 service calls.

The package has been tested under [ROS 2] Humble and Ubuntu 22.04. The bridge is compatible with ROKIT Locator version 1.11. If you have an earlier version, see Support of earlier versions of ROKIT Locator.

Quick Start

This section describes how to record your environment, create a map out of the record and localize yourself within it.

Ensure the ROKIT Locator is reachable from your computer

Make sure the ROKIT Locator is installed and running on a computer in your network. You can test this by running the following command in a terminal (replace <LOCATOR_IP> by the IP address of the computer running the ROKIT Locator):

curl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","method":"aboutModulesList","params":{"query":{}},"id":1}' http://<LOCATOR_IP>:8080

Start Bridge Node

Start the bridge node with

ros2 launch bosch_locator_bridge bridge.launch.xml bridge_ip:=<HOST_IP> locator_ip:=<LOCATOR_IP> locator_user:=<USER> locator_password:=<PASSWORD> scan_topic:=<SCAN_TOPIC> enable_odometry:=<ENABLE_ODOM> odom_topic:=<ODOM_TOPIC>

where

  • <HOST_IP> is the IP address of the computer the bridge is to be started
  • <LOCATOR_IP> is the IP address of the computer where the ROKIT Locator is running
  • <USER> and <PASSWORD> are the credentials to log into the ROKIT Locator
  • <SCAN_TOPIC> is the topic name of the laser scans
  • <ENABLE_ODOM> is a boolean that describes whether you want to forward odometry ROS messages to the ROKIT Locator
  • <ODOM_TOPIC> is the topic name of the odometry

Since the Laser Localization Software is running in docker, the <HOST_IP> has to be set to docker0 ip address (172.17.0.1) instead of localhost ip address (127.0.0.1) when the user program providing the laser data runs on the same machine.

For additional parameters please refer to the launch file bridge.launch.xml.

Start Visual Recording

Then, make sure there are laser scans published on <SCAN_TOPIC>, and start the visual recording with e.g.

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_visual_recording.rviz
ros2 service call /bridge_node/start_visual_recording bosch_locator_bridge/srv/StartRecording "name: 'ROS-Quickstart-$(date -Isecond)'"

You should see the laser scans, the robot position and its previous path, and the recording built up over time.

Stop Visual Recording

When you are done, you can stop recording with

ros2 service call /bridge_node/stop_visual_recording std_srvs/srv/Empty

Create Map From Recording

Now, create a map from your recording with

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_map_creation.rviz
ros2 service call /bridge_node/start_map bosch_locator_bridge/srv/ClientMapStart

When the map has been created, it must be sent to the map server and set as the active map.

ros2 service call /bridge_node/send_map bosch_locator_bridge/srv/ClientMapSend
ros2 service call /bridge_node/set_map bosch_locator_bridge/srv/ClientMapSet

Start Localization

Finally, you can start the localization with

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_localization.rviz
ros2 service call /bridge_node/start_localization std_srvs/srv/Empty

You can set the initial pose of the robot by clicking the “2D Pose Estimate” button in RViz, and then set the pose in the map.

Stop Localization

When you are done, you can stop the localization with

ros2 service call /bridge_node/stop_localization std_srvs/srv/Empty

Map Expansion

  1. Record and build the prior map (map name: priormap) as usual.
  2. Start localization on this prior map and move until the system is localized.
  3. Make a note of the pose and do not move
  4. Enable map expansion
    rosservice  call /bridge_node/enable_map_expansion "prior_map_name: priormap"
    
  1. Start visual recording and use the following to visualize the prior map
    rosrun rviz rviz -d `rospack find bosch_locator_bridge`/config/locator_bridge_visual_recording_with_prior_map.rviz
    
  1. Use the pose in step 3 to set the current pose in the recording

```

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package bosch_locator_bridge

2.1.14 (2025-05-14)

  • Fix code formatting
  • Update to ROKIT Locator version 1.11 #69 from boschglobal/humble-v1.11
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible

2.1.13 (2024-11-11)

  • update tag compatible with Locator 1.9
  • update to Locator 1.10 #66 from boschglobal/humble-v1.10
  • Contributors: Sheung Ying Yuen-Wille

2.1.12 (2024-11-11)

  • Update readme.md to Locator 1.9 #65 from boschglobal/bugfix/update-readme-humble
  • Update CHANGELOG.rst #63 from boschglobal/syyuen-changelog-humble
  • Contributors: Sheung Ying Yuen-Wille

2.1.11 (2024-06-04)

  • made server compatible with Locator version 1.9 (#61)
  • compatible with 1.9 (#58)
  • Note in the Readme for earlier versions (#57)
  • correct some messages types of bridge_node in README (#55) Message type error of service /bridge_node/disable_map_expansion is found by slaible (Stefan Laible).
  • Make minRange non-negative (#53) In order to tolerate SICK picoScan150, which could produce LaserScan messages with little negative minRange, and avoid minRange validation failure errors raised by Locator. set lower limit range_min to 0
  • Update server_bridge_node.cpp made compatible with Locator version 1.8
  • update to humble (#48)
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible, TAN Hongkui, Fleer David

2.1.10 (2023-10-31)

  • update compatible Locator version to 1.8
  • Document the map expansion workflow
  • Add rviz config files for map expansion
  • Add services and interfaces for map expansion
  • Add expandmap_state in control mode
  • Remove field distanceToLastLC in ClientLocalizationVisualizationDatagram
  • Introduce parameter odometry_velocity_set of odometry message
  • Configurable Locator ports
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible

2.1.9 (2023-03-23)

  • Try to stop everything before setting config list (#35)
  • Add errorFlags and infoFlags fields to ClientLocalizationPose (#33)
  • Update to ROKIT Locator version 1.6
  • Contributors: Stefan Laible

2.1.8 (2023-02-14)

  • Support setting arbitrary Locator config entries
  • Update module versions in server node
  • Use mutex to just make one json_rpc_call at a time
  • Contributors: Fabian König, Stefan Laible

2.1.7 (2022-09-08)

  • Fixed a bug that could cause latency in localization poses
  • Remove tf broadcaster
  • Check if laser scan message is valid
  • Add refresh timer to service callback group to avoid overlapping json rpc calls
  • Update to ROKIT Locator version 1.5
  • Contributors: Fabian König, Stefan Laible

2.1.6 (2022-06-13)

  • fix module version check for compatibility with v1.4.0
  • add parameter to enable intensities
  • Contributors: Fabian König, Stefan Laible

2.1.5 (2022-02-16)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/bridge.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_RPC_Port [default: 8080]
      • locator_binaryPortsStart [default: 9004]
      • bridge_node_name [default: bridge_node]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • enable_odometry [default: false]
      • laser_datagram_port [default: 2112]
      • laser_mirror_scans [default: false]
      • laser_x [default: 0.0]
      • laser_y [default: 0.0]
      • laser_yaw [default: 0.0]
      • laser_use_intensities [default: false]
      • laser2_enable [default: false]
      • laser2_datagram_port [default: 2113]
      • laser2_mirror_scans [default: false]
      • laser2_x [default: 0.0]
      • laser2_y [default: 0.0]
      • laser2_yaw [default: 0.0]
      • laser2_use_intensities [default: false]
      • enable_reflector_markers [default: false]
      • odom_datagram_port [default: 1111]
      • scan_topic [default: /scan]
      • scan2_topic [default: /scan2]
      • odom_topic [default: /odom]
      • odometry_velocity_set [default: false]
  • launch/bridge_with_bagplayback.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_RPC_Port [default: 8080]
      • locator_binaryPortsStart [default: 9004]
      • bridge_node_name [default: bridge_node]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • enable_odometry [default: false]
      • bag [default: ]
      • laser_datagram_port [default: 2112]
      • laser_mirror_scans [default: false]
      • laser_x [default: 0.0]
      • laser_y [default: 0.0]
      • laser_yaw [default: 0.0]
      • laser_use_intensities [default: false]
      • laser2_enable [default: false]
      • laser2_datagram_port [default: 2113]
      • laser2_mirror_scans [default: false]
      • laser2_x [default: 0.0]
      • laser2_y [default: 0.0]
      • laser2_yaw [default: 0.0]
      • laser2_use_intensities [default: false]
      • enable_reflector_markers [default: false]
      • odom_datagram_port [default: 1111]
      • scan_topic [default: /scan]
      • scan2_topic [default: /scan2]
      • odom_topic [default: /odom]
  • launch/server_bridge.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • update_time [default: 300]

Plugins

No plugins found.

Recent questions tagged bosch_locator_bridge at Robotics Stack Exchange

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

bosch_locator_bridge package from locator_ros_bridge repo

bosch_locator_bridge bosch_locator_bridge_utils

ROS Distro
humble

Package Summary

Tags No category tags.
Version 2.1.14
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/boschglobal/locator_ros_bridge.git
VCS Type git
VCS Version humble
Last Updated 2025-05-14
Dev Status MAINTAINED
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

ROS interface to Rexroth ROKIT Locator

Additional Links

No additional links.

Maintainers

  • Stefan Laible

Authors

No additional authors.

General information about this repository, including legal information and build instructions are given in README.md in the repository root.

bosch_locator_bridge

Overview

This package provides a [ROS 2] interface to the [Rexroth ROKIT Locator]. It translates ROS 2 messages to the ROKIT Locator API (as described in the ROKIT Locator API documentation) and vice versa. It also allows to control the ROKIT Locator via ROS 2 service calls.

The package has been tested under [ROS 2] Humble and Ubuntu 22.04. The bridge is compatible with ROKIT Locator version 1.11. If you have an earlier version, see Support of earlier versions of ROKIT Locator.

Quick Start

This section describes how to record your environment, create a map out of the record and localize yourself within it.

Ensure the ROKIT Locator is reachable from your computer

Make sure the ROKIT Locator is installed and running on a computer in your network. You can test this by running the following command in a terminal (replace <LOCATOR_IP> by the IP address of the computer running the ROKIT Locator):

curl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","method":"aboutModulesList","params":{"query":{}},"id":1}' http://<LOCATOR_IP>:8080

Start Bridge Node

Start the bridge node with

ros2 launch bosch_locator_bridge bridge.launch.xml bridge_ip:=<HOST_IP> locator_ip:=<LOCATOR_IP> locator_user:=<USER> locator_password:=<PASSWORD> scan_topic:=<SCAN_TOPIC> enable_odometry:=<ENABLE_ODOM> odom_topic:=<ODOM_TOPIC>

where

  • <HOST_IP> is the IP address of the computer the bridge is to be started
  • <LOCATOR_IP> is the IP address of the computer where the ROKIT Locator is running
  • <USER> and <PASSWORD> are the credentials to log into the ROKIT Locator
  • <SCAN_TOPIC> is the topic name of the laser scans
  • <ENABLE_ODOM> is a boolean that describes whether you want to forward odometry ROS messages to the ROKIT Locator
  • <ODOM_TOPIC> is the topic name of the odometry

Since the Laser Localization Software is running in docker, the <HOST_IP> has to be set to docker0 ip address (172.17.0.1) instead of localhost ip address (127.0.0.1) when the user program providing the laser data runs on the same machine.

For additional parameters please refer to the launch file bridge.launch.xml.

Start Visual Recording

Then, make sure there are laser scans published on <SCAN_TOPIC>, and start the visual recording with e.g.

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_visual_recording.rviz
ros2 service call /bridge_node/start_visual_recording bosch_locator_bridge/srv/StartRecording "name: 'ROS-Quickstart-$(date -Isecond)'"

You should see the laser scans, the robot position and its previous path, and the recording built up over time.

Stop Visual Recording

When you are done, you can stop recording with

ros2 service call /bridge_node/stop_visual_recording std_srvs/srv/Empty

Create Map From Recording

Now, create a map from your recording with

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_map_creation.rviz
ros2 service call /bridge_node/start_map bosch_locator_bridge/srv/ClientMapStart

When the map has been created, it must be sent to the map server and set as the active map.

ros2 service call /bridge_node/send_map bosch_locator_bridge/srv/ClientMapSend
ros2 service call /bridge_node/set_map bosch_locator_bridge/srv/ClientMapSet

Start Localization

Finally, you can start the localization with

ros2 run rviz2 rviz2 -d $(ros2 pkg prefix bosch_locator_bridge)/share/bosch_locator_bridge/config/locator_bridge_localization.rviz
ros2 service call /bridge_node/start_localization std_srvs/srv/Empty

You can set the initial pose of the robot by clicking the “2D Pose Estimate” button in RViz, and then set the pose in the map.

Stop Localization

When you are done, you can stop the localization with

ros2 service call /bridge_node/stop_localization std_srvs/srv/Empty

Map Expansion

  1. Record and build the prior map (map name: priormap) as usual.
  2. Start localization on this prior map and move until the system is localized.
  3. Make a note of the pose and do not move
  4. Enable map expansion
    rosservice  call /bridge_node/enable_map_expansion "prior_map_name: priormap"
    
  1. Start visual recording and use the following to visualize the prior map
    rosrun rviz rviz -d `rospack find bosch_locator_bridge`/config/locator_bridge_visual_recording_with_prior_map.rviz
    
  1. Use the pose in step 3 to set the current pose in the recording

```

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package bosch_locator_bridge

2.1.14 (2025-05-14)

  • Fix code formatting
  • Update to ROKIT Locator version 1.11 #69 from boschglobal/humble-v1.11
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible

2.1.13 (2024-11-11)

  • update tag compatible with Locator 1.9
  • update to Locator 1.10 #66 from boschglobal/humble-v1.10
  • Contributors: Sheung Ying Yuen-Wille

2.1.12 (2024-11-11)

  • Update readme.md to Locator 1.9 #65 from boschglobal/bugfix/update-readme-humble
  • Update CHANGELOG.rst #63 from boschglobal/syyuen-changelog-humble
  • Contributors: Sheung Ying Yuen-Wille

2.1.11 (2024-06-04)

  • made server compatible with Locator version 1.9 (#61)
  • compatible with 1.9 (#58)
  • Note in the Readme for earlier versions (#57)
  • correct some messages types of bridge_node in README (#55) Message type error of service /bridge_node/disable_map_expansion is found by slaible (Stefan Laible).
  • Make minRange non-negative (#53) In order to tolerate SICK picoScan150, which could produce LaserScan messages with little negative minRange, and avoid minRange validation failure errors raised by Locator. set lower limit range_min to 0
  • Update server_bridge_node.cpp made compatible with Locator version 1.8
  • update to humble (#48)
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible, TAN Hongkui, Fleer David

2.1.10 (2023-10-31)

  • update compatible Locator version to 1.8
  • Document the map expansion workflow
  • Add rviz config files for map expansion
  • Add services and interfaces for map expansion
  • Add expandmap_state in control mode
  • Remove field distanceToLastLC in ClientLocalizationVisualizationDatagram
  • Introduce parameter odometry_velocity_set of odometry message
  • Configurable Locator ports
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible

2.1.9 (2023-03-23)

  • Try to stop everything before setting config list (#35)
  • Add errorFlags and infoFlags fields to ClientLocalizationPose (#33)
  • Update to ROKIT Locator version 1.6
  • Contributors: Stefan Laible

2.1.8 (2023-02-14)

  • Support setting arbitrary Locator config entries
  • Update module versions in server node
  • Use mutex to just make one json_rpc_call at a time
  • Contributors: Fabian König, Stefan Laible

2.1.7 (2022-09-08)

  • Fixed a bug that could cause latency in localization poses
  • Remove tf broadcaster
  • Check if laser scan message is valid
  • Add refresh timer to service callback group to avoid overlapping json rpc calls
  • Update to ROKIT Locator version 1.5
  • Contributors: Fabian König, Stefan Laible

2.1.6 (2022-06-13)

  • fix module version check for compatibility with v1.4.0
  • add parameter to enable intensities
  • Contributors: Fabian König, Stefan Laible

2.1.5 (2022-02-16)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/bridge.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_RPC_Port [default: 8080]
      • locator_binaryPortsStart [default: 9004]
      • bridge_node_name [default: bridge_node]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • enable_odometry [default: false]
      • laser_datagram_port [default: 2112]
      • laser_mirror_scans [default: false]
      • laser_x [default: 0.0]
      • laser_y [default: 0.0]
      • laser_yaw [default: 0.0]
      • laser_use_intensities [default: false]
      • laser2_enable [default: false]
      • laser2_datagram_port [default: 2113]
      • laser2_mirror_scans [default: false]
      • laser2_x [default: 0.0]
      • laser2_y [default: 0.0]
      • laser2_yaw [default: 0.0]
      • laser2_use_intensities [default: false]
      • enable_reflector_markers [default: false]
      • odom_datagram_port [default: 1111]
      • scan_topic [default: /scan]
      • scan2_topic [default: /scan2]
      • odom_topic [default: /odom]
      • odometry_velocity_set [default: false]
  • launch/bridge_with_bagplayback.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_RPC_Port [default: 8080]
      • locator_binaryPortsStart [default: 9004]
      • bridge_node_name [default: bridge_node]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • enable_odometry [default: false]
      • bag [default: ]
      • laser_datagram_port [default: 2112]
      • laser_mirror_scans [default: false]
      • laser_x [default: 0.0]
      • laser_y [default: 0.0]
      • laser_yaw [default: 0.0]
      • laser_use_intensities [default: false]
      • laser2_enable [default: false]
      • laser2_datagram_port [default: 2113]
      • laser2_mirror_scans [default: false]
      • laser2_x [default: 0.0]
      • laser2_y [default: 0.0]
      • laser2_yaw [default: 0.0]
      • laser2_use_intensities [default: false]
      • enable_reflector_markers [default: false]
      • odom_datagram_port [default: 1111]
      • scan_topic [default: /scan]
      • scan2_topic [default: /scan2]
      • odom_topic [default: /odom]
  • launch/server_bridge.launch.xml
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • update_time [default: 300]

Plugins

No plugins found.

Recent questions tagged bosch_locator_bridge at Robotics Stack Exchange

Package symbol

bosch_locator_bridge package from locator_ros_bridge repo

bosch_locator_bridge

ROS Distro
noetic

Package Summary

Tags No category tags.
Version 1.0.14
License Apache License 2.0
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/boschglobal/locator_ros_bridge.git
VCS Type git
VCS Version noetic
Last Updated 2025-05-14
Dev Status MAINTAINED
CI status Continuous Integration : 0 / 0
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

ROS interface to Rexroth ROKIT Locator

Additional Links

No additional links.

Maintainers

  • Stefan Laible

Authors

No additional authors.

General information about this repository, including legal information and build instructions are given in README.md in the repository root.

bosch_locator_bridge

Overview

This package provides a [ROS 1] interface to the [Rexroth ROKIT Locator]. It translates ROS 1 messages to the ROKIT Locator API (as described in the ROKIT Locator API documentation) and vice versa. It also allows to control the ROKIT Locator via ROS 1 service calls.

The package has been tested under [ROS 1] Noetic and Ubuntu 22.04. The bridge is compatible with ROKIT Locator version 1.11. If you have an earlier version, see Support of earlier versions of ROKIT Locator.

Since the last ROS 1 release Noetic will reach End Of Life in May 2025, this will be the last Noetic version of the bosch_locator_bridge. Future bosch_locator_bridge will be released uder ROS 2 (branch humble).

Quick Start

This section describes how to record your environment, create a map out of the record and localize yourself within it.

Ensure the ROKIT Locator is reachable from your computer

Make sure the ROKIT Locator is installed and running on a computer in your network. You can test this by running the following command in a terminal (replace <LOCATOR_IP> by the IP address of the computer running the ROKIT Locator):

curl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","method":"aboutModulesList","params":{"query":{}},"id":1}' http://<LOCATOR_IP>:8080

Start Bridge Node

Start the bridge node with

roslaunch bosch_locator_bridge bridge.launch bridge_ip:=<HOST_IP> locator_ip:=<LOCATOR_IP> locator_user:=<USER> locator_password:=<PASSWORD> scan_topic:=<SCAN_TOPIC> enable_odometry:=<ENABLE_ODOM> odom_topic:=<ODOM_TOPIC>

where

  • <HOST_IP> is the IP address of the computer the bridge is to be started
  • <LOCATOR_IP> is the IP address of the computer where the ROKIT Locator is running
  • <USER> and <PASSWORD> are the credentials to log into the ROKIT Locator
  • <SCAN_TOPIC> is the topic name of the laser scans
  • <ENABLE_ODOM> is a boolean that describes whether you want to forward odometry ROS messages to the ROKIT Locator
  • <ODOM_TOPIC> is the topic name of the odometry

Since the Laser Localization Software is running in docker, the <HOST_IP> has to be set to docker0 ip address (172.17.0.1) instead of localhost ip address (127.0.0.1) when the user program providing the laser data runs on the same machine.

For additional parameters please refer to the launch file bridge.launch.

Start Visual Recording

Then, make sure there are laser scans published on <SCAN_TOPIC>, and start the visual recording with e.g.

rosrun rviz rviz -d `rospack find bosch_locator_bridge`/config/locator_bridge_visual_recording.rviz
rosservice call /bridge_node/start_visual_recording "name: 'ROS-Quickstart-$(date -Isecond)'"

You should see the laser scans, the robot position and its previous path, and the recording built up over time.

Stop Visual Recording

When you are done, you can stop recording with

rosservice call /bridge_node/stop_visual_recording

Create Map From Recording

Now, create a map from your recording with

rosrun rviz rviz -d `rospack find bosch_locator_bridge`/config/locator_bridge_map_creation.rviz
rosservice call /bridge_node/start_map "" ""

When the map has been created, it must be sent to the map server and set as the active map.

rosservice call /bridge_node/send_map ""
rosservice call /bridge_node/set_map ""

Start Localization

Finally, you can start the localization with

rosrun rviz rviz -d `rospack find bosch_locator_bridge`/config/locator_bridge_localization.rviz
rosservice call /bridge_node/start_localization

You can set the initial pose of the robot by clicking the “2D Pose Estimate” button in RViz, and then set the pose in the map.

Stop Localization

When you are done, you can stop the localization with

rosservice call /bridge_node/stop_localization

Map Expansion

  1. Record and build the prior map (map name: priormap) as usual.
  2. Start localization on this prior map and move until the system is localized.
  3. Make a note of the pose and do not move
  4. Enable map expansion
    rosservice  call /bridge_node/enable_map_expansion "prior_map_name: priormap"
    
  1. Start visual recording and use the following to visualize the prior map
    rosrun rviz rviz -d `rospack find bosch_locator_bridge`/config/locator_bridge_visual_recording_with_prior_map.rviz
    

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package bosch_locator_bridge

1.0.14 (2025-05-14)

  • announced EOL noetic branch
  • update to 1.11 #70 from boschglobal/noetic-v1.11
  • Contributors: Sheung Ying Yuen-Wille

1.0.13 (2024-11-11)

  • update tag compatible with Locator 1.9
  • Update to Locator 1.10 #67 from boschglobal/noetic-v1.10
  • Contributors: Sheung Ying Yuen-Wille

1.0.12 (2024-11-11)

  • Update README.md to include Locator 1.9 #64 from thkfighter/patch-2
  • Update CHANGELOG.rst #62 from boschglobal/syyuen-changelog fix format in changelog
  • Contributors: Sheung Ying Yuen-Wille, TAN Hongkui

1.0.11 (2024-06-04)

  • made server compatible with Locator version 1.9 (#60)
  • compatible with 1.9 and ubuntu22 (#59)
  • Fix msg operator
  • Make minRange non-negative (#54)
  • Update server_bridge_node.cpp (#52) made compatible with Locator version 1.8 Co-authored-by: TAN Hongkui <<tanhongkui@qq.com>>
  • Update doc humble (#47)
  • correct version in changelog
  • Contributors: Fabian König, Sheung Ying Yuen-Wille, Stefan Laible

1.0.10 (2023-10-20)

  • Update to ROKIT Locator version 1.8
  • Document the map expansion workflow
  • Add rviz config files for map expansion
  • Add services and interfaces for map expansion
  • Add expandmap_state in control mode
  • Remove field distanceToLastLC in ClientLocalizationVisualizationDatagram
  • Introduce parameter odometry_velocity_set of odometry message
  • Configurable Locator ports
  • Contributors: Sheung Ying Yuen-Wille

1.0.9 (2023-03-21)

  • Try to stop everything before setting config list (#38)
  • Add errorFlags and infoFlags fields to ClientLocalizationPose (#32)
  • Update to ROKIT Locator version 1.6
  • Contributors: Sheung Ying Yuen-Wille, Stefan Laible

1.0.8 (2023-01-30)

  • Support arrays in config for server node
  • Update module versions in server node
  • Use mutex to just make one json_rpc_call at a time
  • Contributors: Stefan Laible

1.0.7 (2022-09-08)

  • Fixed a bug that could cause latency in localization poses
  • Remove tf broadcaster
  • Support arrays in config
  • Check if laser scan message is valid
  • Update to ROKIT Locator version 1.5
  • Contributors: Fabian König, Stefan Laible

1.0.6 (2022-04-13)

  • Fix check of locator config params
  • Change version numbers for compatibility with v1.4.0
  • Add parameters for using intensities
  • Contributors: Stefan Laible

1.0.5 (2022-02-15)

  • update to ROKIT Locator version 1.4
  • add interface for second laser
  • Contributors: Stefan Laible

1.0.4 (2022-01-24)

  • handle NaNs in range values

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/bridge.launch
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_RPC_Port [default: 8080]
      • locator_binaryPortsStart [default: 9004]
      • bridge_node_name [default: bridge_node]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • enable_odometry [default: false]
      • laser_datagram_port [default: 2112]
      • laser_mirror_scans [default: false]
      • laser_x [default: 0.0]
      • laser_y [default: 0.0]
      • laser_yaw [default: 0.0]
      • laser_use_intensities [default: false]
      • laser2_enable [default: false]
      • laser2_datagram_port [default: 2113]
      • laser2_mirror_scans [default: false]
      • laser2_x [default: 0.0]
      • laser2_y [default: 0.0]
      • laser2_yaw [default: 0.0]
      • laser2_use_intensities [default: false]
      • enable_reflector_markers [default: false]
      • odom_datagram_port [default: 1111]
      • scan_topic [default: /scan]
      • scan2_topic [default: /scan2]
      • odom_topic [default: /odom]
      • odometry_velocity_set [default: false] — set to true if the velocity in the odometry should be used
  • launch/bridge_with_bagplayback.launch
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_RPC_Port [default: 8080]
      • locator_binaryPortsStart [default: 9004]
      • bridge_node_name [default: bridge_node]
      • locator_user [default: admin]
      • locator_password [default: admin]
      • enable_odometry [default: false]
      • bag
      • laser_datagram_port [default: 2112]
      • laser_mirror_scans [default: false]
      • laser_x [default: 0.0]
      • laser_y [default: 0.0]
      • laser_yaw [default: 0.0]
      • laser_use_intensities [default: false]
      • laser2_enable [default: false]
      • laser2_datagram_port [default: 2113]
      • laser2_mirror_scans [default: false]
      • laser2_x [default: 0.0]
      • laser2_y [default: 0.0]
      • laser2_yaw [default: 0.0]
      • laser2_use_intensities [default: false]
      • enable_reflector_markers [default: false]
      • odom_datagram_port [default: 1111]
      • scan_topic [default: /scan]
      • scan2_topic [default: /scan2]
      • odom_topic [default: /odom]
      • odometry_velocity_set [default: false]
  • launch/server_bridge.launch
    • Copyright (c) 2021 - for information on the respective copyright owner see the NOTICE file and/or the repository https://github.com/boschglobal/locator_ros_bridge. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      • bridge_ip [default: 172.17.0.1]
      • locator_ip [default: 127.0.0.1]
      • locator_user [default: admin]
      • locator_password [default: admin]

Plugins

No plugins found.

Recent questions tagged bosch_locator_bridge at Robotics Stack Exchange