Skip to content

Commit

Permalink
Squashed commit of the following: (#116)
Browse files Browse the repository at this point in the history
- Add a TODO note
- Propagate the parameters to launch files
- Update ChangeLog and package version
- Merge branch 'deprecate_tf_prefix'
- deprecate tf_prefix from os_cloud

    Co-authored-by: Guillaume Doisy <[email protected]>
  • Loading branch information
Samahu committed Apr 28, 2023
1 parent 932abd5 commit a8c1806
Show file tree
Hide file tree
Showing 10 changed files with 62 additions and 20 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ ouster_ros(2)
* make specifying metadata file optional during record and replay modes as of package version 8.1
* bugfix: activate metadata topic explicitly
* bugfix: remove ``--clock`` option when playing bag files in ros-foxy.
* replace ``tf_prefix`` from ``os_cloud`` with ``sensor_frame``, ``lidar_frame`` and ``imu_frame``
launch parameters.

ouster_client
-------------
Expand Down
4 changes: 3 additions & 1 deletion ouster-ros/config/parameters.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,7 @@ ouster/os_sensor:
imu_port: 0
ouster/os_cloud:
ros__parameters:
tf_prefix: ''
sensor_frame: 'os_sensor'
lidar_frame: 'os_lidar'
imu_frame: 'os_imu'
timestamp_mode: ''
14 changes: 11 additions & 3 deletions ouster-ros/launch/replay.independent.launch.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,10 @@
description="whether to run a rviz"/>
<arg name="rviz_config" default="$(find-pkg-share ouster_ros)/config/viz.rviz"
description="optional rviz config file"/>
<arg name="tf_prefix" default="" description="namespace for tf transforms"/>

<arg name="sensor_frame" default="os_sensor" description="value can not be empty"/>
<arg name="lidar_frame" default="os_lidar" description="value can not be empty"/>
<arg name="imu_frame" default="os_imu" description="value can not be empty"/>

<let name="_use_metadata_file" value="$(eval '\'$(var metadata)\' != \'\'')"/>

Expand All @@ -28,8 +31,10 @@
<param name="metadata" value="$(var metadata)"/>
</node>
<node pkg="ouster_ros" exec="os_cloud" name="os_cloud" output="screen">
<param name="tf_prefix" value="$(var tf_prefix)"/>
<param name="timestamp_mode" value="$(var timestamp_mode)"/>
<param name="sensor_frame" value="$(var sensor_frame)"/>
<param name="lidar_frame" value="$(var lidar_frame)"/>
<param name="imu_frame" value="$(var imu_frame)"/>
<param name="timestamp_mode" value="$(var timestamp_mode)"/>
</node>
<node pkg="ouster_ros" exec="os_image" name="os_image" output="screen"/>
</group>
Expand All @@ -47,6 +52,9 @@
<arg name="ouster_ns" value="$(var ouster_ns)"/>
<arg name="rviz_config" value="$(var rviz_config)"/>
<arg name="_enable_static_tf_publishers" value="true"/>
<arg name="sensor_frame" value="$(var sensor_frame)"/>
<arg name="lidar_frame" value="$(var lidar_frame)"/>
<arg name="imu_frame" value="$(var imu_frame)"/>
</include>

<let name="_use_bag_file_name" value="$(eval '\'$(var bag_file)\' != \'b\'')"/>
Expand Down
2 changes: 2 additions & 0 deletions ouster-ros/launch/rviz.launch.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ def generate_launch_description():
# NOTE: the two static tf publishers are rather a workaround to let rviz2
# get going and not complain while waiting for the actual sensor frames
# to be published that is when running rviz2 using a parent launch file
# TODO: need to be able to propagate the modified frame names from the
# parameters file to RVIZ launch py.
sensor_imu_tf = Node(
package="tf2_ros",
executable="static_transform_publisher",
Expand Down
8 changes: 6 additions & 2 deletions ouster-ros/launch/rviz.launch.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@
<arg name="_enable_static_tf_publishers" default="false"
description="boolean value to enable static tf publishers"/>

<arg name="sensor_frame" default="os_sensor" description="value can not be empty"/>
<arg name="lidar_frame" default="os_lidar" description="value can not be empty"/>
<arg name="imu_frame" default="os_imu" description="value can not be empty"/>

<group>
<push-ros-namespace namespace="$(var ouster_ns)"/>
<node pkg="rviz2" exec="rviz2" name="rviz2" output="screen"
Expand All @@ -16,10 +20,10 @@
to run rviz2 -->
<node if="$(var _enable_static_tf_publishers)"
pkg="tf2_ros" exec="static_transform_publisher" name="stp_sensor_imu"
args="0 0 0 0 0 0 os_sensor os_imu"/>
args="0 0 0 0 0 0 $(var sensor_frame) $(var imu_frame)"/>
<node if="$(var _enable_static_tf_publishers)"
pkg="tf2_ros" exec="static_transform_publisher" name="stp_sensor_lidar"
args="0 0 0 0 0 0 os_sensor os_lidar"/>
args="0 0 0 0 0 0 $(var sensor_frame) $(var lidar_frame)"/>
</group>

</launch>
12 changes: 10 additions & 2 deletions ouster-ros/launch/sensor.composite.launch.xml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,10 @@
description="whether to run a rviz"/>
<arg name="rviz_config" default="$(find-pkg-share ouster_ros)/config/viz.rviz"
description="optional rviz config file"/>
<arg name="tf_prefix" default="" description="namespace for tf transforms"/>

<arg name="sensor_frame" default="os_sensor" description="value can not be empty"/>
<arg name="lidar_frame" default="os_lidar" description="value can not be empty"/>
<arg name="imu_frame" default="os_imu" description="value can not be empty"/>

<group>
<push-ros-namespace namespace="$(var ouster_ns)"/>
Expand All @@ -57,7 +60,9 @@
<param name="metadata" value="$(var metadata)"/>
</composable_node>
<composable_node pkg="ouster_ros" plugin="ouster_ros::OusterCloud" name="os_cloud">
<param name="tf_prefix" value="$(var tf_prefix)"/>
<param name="sensor_frame" value="$(var sensor_frame)"/>
<param name="lidar_frame" value="$(var lidar_frame)"/>
<param name="imu_frame" value="$(var imu_frame)"/>
<param name="timestamp_mode" value="$(var timestamp_mode)"/>
</composable_node>
<composable_node pkg="ouster_ros" plugin="ouster_ros::OusterImage" name="os_image"/>
Expand All @@ -75,6 +80,9 @@
<arg name="ouster_ns" value="$(var ouster_ns)"/>
<arg name="rviz_config" value="$(var rviz_config)"/>
<arg name="_enable_static_tf_publishers" value="true"/>
<arg name="sensor_frame" value="$(var sensor_frame)"/>
<arg name="lidar_frame" value="$(var lidar_frame)"/>
<arg name="imu_frame" value="$(var imu_frame)"/>
</include>

</launch>
12 changes: 10 additions & 2 deletions ouster-ros/launch/sensor.independent.launch.xml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,10 @@
description="whether to run a rviz"/>
<arg name="rviz_config" default="$(find-pkg-share ouster_ros)/config/viz.rviz"
description="optional rviz config file"/>
<arg name="tf_prefix" default="" description="namespace for tf transforms"/>

<arg name="sensor_frame" default="os_sensor" description="value can not be empty"/>
<arg name="lidar_frame" default="os_lidar" description="value can not be empty"/>
<arg name="imu_frame" default="os_imu" description="value can not be empty"/>

<group>
<push-ros-namespace namespace="$(var ouster_ns)"/>
Expand All @@ -56,7 +59,9 @@
<param name="metadata" value="$(var metadata)"/>
</node>
<node pkg="ouster_ros" exec="os_cloud" name="os_cloud" output="screen">
<param name="tf_prefix" value="$(var tf_prefix)"/>
<param name="sensor_frame" value="$(var sensor_frame)"/>
<param name="lidar_frame" value="$(var lidar_frame)"/>
<param name="imu_frame" value="$(var imu_frame)"/>
<param name="timestamp_mode" value="$(var timestamp_mode)"/>
</node>
<node pkg="ouster_ros" exec="os_image" name="os_image" output="screen"/>
Expand All @@ -73,6 +78,9 @@
<arg name="ouster_ns" value="$(var ouster_ns)"/>
<arg name="rviz_config" value="$(var rviz_config)"/>
<arg name="_enable_static_tf_publishers" value="true"/>
<arg name="sensor_frame" value="$(var sensor_frame)"/>
<arg name="lidar_frame" value="$(var lidar_frame)"/>
<arg name="imu_frame" value="$(var imu_frame)"/>
</include>

</launch>
12 changes: 10 additions & 2 deletions ouster-ros/launch/sensor_mtp.launch.xml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,10 @@
description="whether to run a rviz"/>
<arg name="rviz_config" default="$(find-pkg-share ouster_ros)/config/viz.rviz"
description="optional rviz config file"/>
<arg name="tf_prefix" default="" description="namespace for tf transforms"/>

<arg name="sensor_frame" default="os_sensor" description="value can not be empty"/>
<arg name="lidar_frame" default="os_lidar" description="value can not be empty"/>
<arg name="imu_frame" default="os_imu" description="value can not be empty"/>

<group>
<push-ros-namespace namespace="$(var ouster_ns)"/>
Expand All @@ -65,7 +68,9 @@
<param name="metadata" value="$(var metadata)"/>
</composable_node>
<composable_node pkg="ouster_ros" plugin="ouster_ros::OusterCloud" name="os_cloud">
<param name="tf_prefix" value="$(var tf_prefix)"/>
<param name="sensor_frame" value="$(var sensor_frame)"/>
<param name="lidar_frame" value="$(var lidar_frame)"/>
<param name="imu_frame" value="$(var imu_frame)"/>
<param name="timestamp_mode" value="$(var timestamp_mode)"/>
</composable_node>
<composable_node pkg="ouster_ros" plugin="ouster_ros::OusterImage" name="os_image"/>
Expand All @@ -83,6 +88,9 @@
<arg name="ouster_ns" value="$(var ouster_ns)"/>
<arg name="rviz_config" value="$(var rviz_config)"/>
<arg name="_enable_static_tf_publishers" value="true"/>
<arg name="sensor_frame" value="$(var sensor_frame)"/>
<arg name="lidar_frame" value="$(var lidar_frame)"/>
<arg name="imu_frame" value="$(var imu_frame)"/>
</include>

</launch>
2 changes: 1 addition & 1 deletion ouster-ros/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<?xml-model href="http://download.ros.org/schema/package_format2.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3">
<name>ouster_ros</name>
<version>0.8.3</version>
<version>0.8.4</version>
<description>Ouster ROS2 driver</description>
<maintainer email="[email protected]">ouster developers</maintainer>
<license file="LICENSE">BSD</license>
Expand Down
14 changes: 7 additions & 7 deletions ouster-ros/src/os_cloud_node.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -105,17 +105,17 @@ class OusterCloud : public OusterProcessingNodeBase {
}

void declare_parameters() {
declare_parameter("tf_prefix");
declare_parameter("sensor_frame");
declare_parameter("lidar_frame");
declare_parameter("imu_frame");
declare_parameter("timestamp_mode");
}

void parse_parameters() {
auto tf_prefix = get_parameter("tf_prefix").as_string();
if (is_arg_set(tf_prefix) && tf_prefix.back() != '/')
tf_prefix.append("/");
sensor_frame = tf_prefix + "os_sensor";
imu_frame = tf_prefix + "os_imu";
lidar_frame = tf_prefix + "os_lidar";
sensor_frame = get_parameter("sensor_frame").as_string();
lidar_frame = get_parameter("lidar_frame").as_string();
imu_frame = get_parameter("imu_frame").as_string();

auto timestamp_mode_arg = get_parameter("timestamp_mode").as_string();
use_ros_time = timestamp_mode_arg == "TIME_FROM_ROS_TIME";
}
Expand Down

0 comments on commit a8c1806

Please sign in to comment.