![RTIS ROS](/uploads/-/system/project/avatar/295/ros.png)
RTIS ROS
ROS Node that connects to multiple RTIS sensors in the RTIS Network or to a single sensor using RTIS Dev to publish RTIS sensor data.
RTIS ROS
ROS Node that connects to multiple RTIS sensors in the RTIS Network or to a single sensor using RTIS Dev to publish RTIS sensor data.
Usage
RTIS Network (multiple sensors)
Launch Publisher
Once an RTIS Network is available you can launch the RTIS ROS Publisher with the provided RTIS Network publisher launch file. This will connect to the RTIS Network and publish all the sonar measurements on the correct topics. You can adjust this launch file to toggle on or off specific topics and give specific naming schemes for the topic names and frame ids to fit your needs. The TF-tree is optionally automatically created and broadcast by requesting the RTIS Client poses from the RTIS Network API. To use the launch file, you can use:
cd ~/catkin_ws/
source ./devel/setup.bash
roslaunch rtisros rtis_network_publisher.launch
Topics
Depending on what you enable with the RTIS Publisher node launch parameters as seen in the RTIS Network publisher launch file, multiple topics are available for each sensor:
- Pointcloud2 topic: This will publish a 3D pointcloud of the processed RTIS sonar data with X, Y, Z and intensity fields all using Float32. This is an optional publisher, off by default.
- Image topic: This will publish the 2D energyscape as a float32 single channel (32FC1) image. This is an optional publisher, off by default.
-
RTISData topic: This is a custom message that has the same Header as the other topics in terms of frame and timestamp. It is always enabled. It provides 4 fields:
- data field: This is an array of uint8 of the raw sonar data.
- microphones field: this is an int8 variable that tells how many microphones the raw sonar data is containing.
- index field: int32 field which tells the measurement index of the internal counter of the RTIS device.
- behaviour field: Bool field which tells if the measurement was using active or passive sonar behaviour.
- config_name field: String field which tells the name of the configuration used for the measurement.
- RTISInfo topic: This is a custom message that has the same Header as the other topics in terms of frame and topic naming scheme. It is always enabled. It provides you with all hardware and DSP settings used by that particular RTIS sensor. Please see the message itself for more details on the available variables. It is a latched message so will always be available.
RTIS Dev (single sensor)
Launch Publisher
You can launch the RTIS ROS Publisher with the provided RTIS Dev publisher launch file. This will connect to the sensor over RTIS Dev directly or RTIS Dev Remote depending on your choice and publish all the sonar measurements on the correct topics. You can adjust this launch file to configure the sensor, toggle on or off specific topics and give specific naming schemes for the topic names and frame ids to fit your needs. To use the launch file, you can use:
cd ~/catkin_ws/
source ./devel/setup.bash
roslaunch rtisros rtis_dev_publisher.launch
Updating behaviour
The RTIS device can be toggled between active and passive behaviour by sending a message to a specified topic.
This message should be of type std_msgs/Bool
and contain the new behaviour setting. This will be used for the next measurement.
By default, this topic is /rtis/your_rtis_device_client_id/cmd_behaviour_toggle
.
For example, one can use the following command in the terminal to toggle the behaviour to active with the default topic naming scheme and client ID eRTIS-NANO-0005 (Due to ROS topic naming conventions, the client ID is changed so that dashes become underscores):
rostopic pub /rtis/eRTIS_NANO_0005/cmd_behaviour_toggle std_msgs/Bool "data: true"
Topics
Depending on what you enable with the RTIS Publisher node launch parameters as seen in the RTIS Dev publisher launch file, multiple topics are available for this sensor:
- Pointcloud2 topic: This will publish a 3D pointcloud of the processed RTIS sonar data with X, Y, Z and intensity fields all using Float32. This is an optional publisher, off by default.
- Image topic: This will publish the 2D energyscape as a float32 single channel (32FC1) image. This is an optional publisher, off by default.
-
RTISData topic: This is a custom message that has the same Header as the other topics in terms of frame and timestamp. It is always enabled. It provides 4 fields:
- data field: This is an array of uint8 of the raw sonar data.
- microphones field: this is an int8 variable that tells how many microphones the raw sonar data is containing.
- index field: int32 field which tells the measurement index of the internal counter of the RTIS device.
- behaviour field: Bool field which tells if the measurement was using active or passive sonar behaviour.
- config_name field: String field which tells the name of the configuration used for the measurement.
- RTISInfo topic: This is a custom message that has the same Header as the other topics in terms of frame and topic naming scheme. It is always enabled. It provides you with all hardware and DSP settings used. Please see the message itself for more details on the available variables. It is a latched message so will always be available.