Package Summary
Tags | No category tags. |
Version | 2.3.4 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros-drivers/phidgets_drivers.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-05-19 |
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
Additional Links
Maintainers
- Martin Günther
- Chris Lalancette
Authors
- Ivan Dryanovski
Phidgets spatial ROS 2 driver
This is the ROS 2 driver for Phidgets spatial.
Usage
To run this driver standalone, do the following:
ros2 launch phidgets_spatial spatial-launch.py
Published Topics
-
/imu/data_raw
(sensor_msgs/Imu
) - The raw accelerometer and gyroscope data. -
imu/is_calibrated
(std_msgs/Bool
) - Whether the gyroscope has been calibrated; this will be done automatically at startup time, but can also be re-done at any time by calling theimu/calibrate
service. -
/imu/mag
(sensor_msgs/MagneticField
) - The raw magnetometer data.
Services
-
imu/calibrate
(std_srvs/Empty
) - Run calibration on the gyroscope.
Parameters
-
serial
(int) - The serial number of the phidgets spatial to connect to. If -1 (the default), connects to any spatial phidget that can be found. -
hub_port
(int) - The phidgets VINT hub port to connect to. Only used if the spatial phidget is connected to a VINT hub. Defaults to 0. -
frame_id
(string) - The header frame ID to use when publishing the message. Defaults to REP-0145 compliantimu_link
. -
use_orientation
(bool) - Use the phidget spatials onboard orientation estimation; Just available on MOT0109 onwards. Set to false for older versions. Defaults to false. -
spatial_algorithm
(string) - Name of the spatial algorithm used for orientation estimation (one of “none”, “ahrs”, “imu”); Just used ifuse_orientation
is set to true. Defaults toahrs
. -
ahrs_angular_velocity_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_angular_velocity_delta_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_acceleration_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_mag_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_accel_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_bias_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
algorithm_magnetometer_gain
(double) - Gain of magnetometer in orientation estimation algorithm; Just used ifuse_orientation
is set to true. Defaults to 0.005 -
heating_enabled
(bool) - Use the internal heating element; Just available on MOT0109 onwards. Do not set this parameter for older versions. -
linear_acceleration_stdev
(double) - The standard deviation to use for the linear acceleration when publishing the message. Defaults to 280 ug. -
angular_velocity_stdev
(double) - The standard deviation to use for the angular velocity when publishing the message. Defaults to 0.095 deg/s. -
magnetic_field_stdev
(double) - The standard deviation to use for the magnetic field when publishing the message. Defaults to 1.1 milligauss. -
time_resynchronization_interval_ms
(int) - The number of milliseconds to wait between resynchronizing the time on the Phidgets spatial with the local time. Larger values have less “jumps”, but will have more timestamp drift. Setting this to 0 disables resynchronization. Defaults to 5000 ms. -
data_interval_ms
(int) - The number of milliseconds between acquisitions of data on the device (allowed values are dependent on the device). Defaults to 8 ms. -
callback_delta_epsilon_ms
(int) - The number of milliseconds epsilon allowed between callbacks when attempting to resynchronize the time. If this is set to 1, then a difference ofdata_interval_ms
plus or minus 1 millisecond will be considered viable for resynchronization. Higher values give the code more leeway to resynchronize, at the cost of potentially getting bad resynchronizations sometimes. Lower values can give better results, but can also result in never resynchronizing. Must be less thandata_interval_ms
. Defaults to 1 ms. -
publish_rate
(double) - How often the driver will publish data on the ROS topic. If 0 (the default), it will publish every time there is an update from the device (so at thedata_interval_ms
). If positive, it will publish the data at that rate regardless of the acquisition interval. -
cc_mag_field
(double) - Ambient magnetic field calibration value; see device’s user guide for information on how to calibrate. -
cc_offset0
(double) - Calibration offset value 0; see device’s user guide for information on how to calibrate. -
cc_offset1
(double) - Calibration offset value 1; see device’s user guide for information on how to calibrate. -
cc_offset2
(double) - Calibration offset value 2; see device’s user guide for information on how to calibrate. -
cc_gain0
(double) - Gain offset value 0; see device’s user guide for information on how to calibrate. -
cc_gain1
(double) - Gain offset value 1; see device’s user guide for information on how to calibrate. -
cc_gain2
(double) - Gain offset value 2; see device’s user guide for information on how to calibrate. -
cc_t0
(double) - T offset value 0; see device’s user guide for information on how to calibrate. -
cc_t1
(double) - T offset value 1; see device’s user guide for information on how to calibrate. -
cc_t2
(double) - T offset value 2; see device’s user guide for information on how to calibrate. -
cc_t3
(double) - T offset value 3; see device’s user guide for information on how to calibrate. -
cc_t4
(double) - T offset value 4; see device’s user guide for information on how to calibrate. -
cc_t5
(double) - T offset value 5; see device’s user guide for information on how to calibrate.
Changelog for package phidgets_spatial
2.3.4 (2025-05-19)
- Upgrade to CMake 3.8, add file depend (#189)
- Contributors: Martin Günther
2.3.3 (2024-03-13)
- Add support for VINT networkhub (#172) This is a port of #127 to ROS2. Closes #135.
- Contributors: Martin Günther
2.3.2 (2023-11-27)
- Only set magnetometer gain if param is set (#169)
- added new parameters for spatial precision MOT0109 onwards
- added support for phidget spatial onboard orientation estimation
- Contributors: Malte kl. Piening, Martin Günther
2.3.1 (2023-03-03)
2.3.0 (2022-04-13)
2.2.2 (2022-02-17)
- Fix behavior after USB reattachment (#119) The Phidged Spatial never recovered after detaching and reattaching to the USB port. This commit fixes that.
- Add attach + detach handlers
- Fix publishing of invalid mag readings (#116)
- Contributors: Martin Günther
2.2.1 (2021-08-03)
- Make the magnetometer corrections optional again. (#95)
- Update the ROS 2 readme files. (#93)
- Contributors: Chris Lalancette
2.2.0 (2021-05-20)
- Make sure to declare the type while declaring the parameter. (#89)
- Contributors: Chris Lalancette
2.1.0 (2021-03-29)
- Don't publish messages that jumped back in time. (#86)
- Log synchronization window details at DEBUG level (#84)
- Get rid of deprecation warnings in Foxy. (#75)
- Switch header guards to _HPP SUFFIX.
- Contributors: Chris Lalancette, Martin Günther, Michael Grupp
2.0.2 (2020-06-01)
- Release build fixes (#67)
- Contributors: Chris Lalancette
2.0.1 (2019-12-05)
- Switch the buildtoo_depend to ament_cmake_ros. (#65)
- Contributors: Chris Lalancette
2.0.0 (2019-12-05)
- Include file cleanup.
- Make sure exceptions get caught by reference.
- Switch from NULL to nullptr.
- Make sure to initialize class member variables.
- Update READMEs to use "Published Topics" and "Subscribed Topics". (#59)
- Change launch output to "both" so it logs as well.
- Make publish_rate a double.
- Print out the serial number when connecting.
- Update documentation to mention device dependent fields.
- Update FIXME comments for sleep.
- Port spatial to ROS 2.
- Ignore all packages for ROS 2 port.
- Fix wrong defaults for standard deviations (#48)
- Improve the IMU calibration service (#47)
- Update maintainers in package.xml
- Merge pull request
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake_ros | |
launch | |
phidgets_api | |
rclcpp | |
rclcpp_components | |
sensor_msgs | |
std_msgs | |
std_srvs |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
phidgets_drivers |
Launch files
Messages
Services
Plugins
Recent questions tagged phidgets_spatial at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 2.4.0 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros-drivers/phidgets_drivers.git |
VCS Type | git |
VCS Version | jazzy |
Last Updated | 2025-05-30 |
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
Additional Links
Maintainers
- Martin Günther
- Chris Lalancette
Authors
- Ivan Dryanovski
Phidgets spatial ROS 2 driver
This is the ROS 2 driver for Phidgets spatial.
Usage
To run this driver standalone, do the following:
ros2 launch phidgets_spatial spatial-launch.py
Published Topics
-
/imu/data_raw
(sensor_msgs/Imu
) - The raw accelerometer and gyroscope data. -
imu/is_calibrated
(std_msgs/Bool
) - Whether the gyroscope has been calibrated; this will be done automatically at startup time, but can also be re-done at any time by calling theimu/calibrate
service. -
/imu/mag
(sensor_msgs/MagneticField
) - The raw magnetometer data.
Services
-
imu/calibrate
(std_srvs/Empty
) - Run calibration on the gyroscope.
Parameters
-
serial
(int) - The serial number of the phidgets spatial to connect to. If -1 (the default), connects to any spatial phidget that can be found. -
hub_port
(int) - The phidgets VINT hub port to connect to. Only used if the spatial phidget is connected to a VINT hub. Defaults to 0. -
frame_id
(string) - The header frame ID to use when publishing the message. Defaults to REP-0145 compliantimu_link
. -
use_orientation
(bool) - Use the phidget spatials onboard orientation estimation; Just available on MOT0109 onwards. Set to false for older versions. Defaults to false. -
spatial_algorithm
(string) - Name of the spatial algorithm used for orientation estimation (one of “none”, “ahrs”, “imu”); Just used ifuse_orientation
is set to true. Defaults toahrs
. -
ahrs_angular_velocity_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_angular_velocity_delta_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_acceleration_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_mag_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_accel_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_bias_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
algorithm_magnetometer_gain
(double) - Gain of magnetometer in orientation estimation algorithm; Just used ifuse_orientation
is set to true. Defaults to 0.005 -
heating_enabled
(bool) - Use the internal heating element; Just available on MOT0109 onwards. Do not set this parameter for older versions. -
linear_acceleration_stdev
(double) - The standard deviation to use for the linear acceleration when publishing the message. Defaults to 280 ug. -
angular_velocity_stdev
(double) - The standard deviation to use for the angular velocity when publishing the message. Defaults to 0.095 deg/s. -
magnetic_field_stdev
(double) - The standard deviation to use for the magnetic field when publishing the message. Defaults to 1.1 milligauss. -
time_resynchronization_interval_ms
(int) - The number of milliseconds to wait between resynchronizing the time on the Phidgets spatial with the local time. Larger values have less “jumps”, but will have more timestamp drift. Setting this to 0 disables resynchronization. Defaults to 5000 ms. -
data_interval_ms
(int) - The number of milliseconds between acquisitions of data on the device (allowed values are dependent on the device). Defaults to 8 ms. -
callback_delta_epsilon_ms
(int) - The number of milliseconds epsilon allowed between callbacks when attempting to resynchronize the time. If this is set to 1, then a difference ofdata_interval_ms
plus or minus 1 millisecond will be considered viable for resynchronization. Higher values give the code more leeway to resynchronize, at the cost of potentially getting bad resynchronizations sometimes. Lower values can give better results, but can also result in never resynchronizing. Must be less thandata_interval_ms
. Defaults to 1 ms. -
publish_rate
(double) - How often the driver will publish data on the ROS topic. If 0 (the default), it will publish every time there is an update from the device (so at thedata_interval_ms
). If positive, it will publish the data at that rate regardless of the acquisition interval. -
cc_mag_field
(double) - Ambient magnetic field calibration value; see device’s user guide for information on how to calibrate. -
cc_offset0
(double) - Calibration offset value 0; see device’s user guide for information on how to calibrate. -
cc_offset1
(double) - Calibration offset value 1; see device’s user guide for information on how to calibrate. -
cc_offset2
(double) - Calibration offset value 2; see device’s user guide for information on how to calibrate. -
cc_gain0
(double) - Gain offset value 0; see device’s user guide for information on how to calibrate. -
cc_gain1
(double) - Gain offset value 1; see device’s user guide for information on how to calibrate. -
cc_gain2
(double) - Gain offset value 2; see device’s user guide for information on how to calibrate. -
cc_t0
(double) - T offset value 0; see device’s user guide for information on how to calibrate. -
cc_t1
(double) - T offset value 1; see device’s user guide for information on how to calibrate. -
cc_t2
(double) - T offset value 2; see device’s user guide for information on how to calibrate. -
cc_t3
(double) - T offset value 3; see device’s user guide for information on how to calibrate. -
cc_t4
(double) - T offset value 4; see device’s user guide for information on how to calibrate. -
cc_t5
(double) - T offset value 5; see device’s user guide for information on how to calibrate.
Changelog for package phidgets_spatial
2.4.0 (2025-05-30)
- Merge pull request #191 from mintar/remove-ament-target-dependencies [kilted] Update deprecated call to ament_target_dependencies
- Update to C++ standard 17
- [kilted] Update deprecated call to ament_target_dependencies
- Contributors: Martin Günther
2.3.4 (2025-05-19)
- Upgrade to CMake 3.8, add file depend (#189)
- Contributors: Martin Günther
2.3.3 (2024-03-13)
- Add support for VINT networkhub (#172) This is a port of #127 to ROS2. Closes #135.
- Contributors: Martin Günther
2.3.2 (2023-11-27)
- Only set magnetometer gain if param is set (#169)
- added new parameters for spatial precision MOT0109 onwards
- added support for phidget spatial onboard orientation estimation
- Contributors: Malte kl. Piening, Martin Günther
2.3.1 (2023-03-03)
2.3.0 (2022-04-13)
2.2.2 (2022-02-17)
- Fix behavior after USB reattachment (#119) The Phidged Spatial never recovered after detaching and reattaching to the USB port. This commit fixes that.
- Add attach + detach handlers
- Fix publishing of invalid mag readings (#116)
- Contributors: Martin Günther
2.2.1 (2021-08-03)
- Make the magnetometer corrections optional again. (#95)
- Update the ROS 2 readme files. (#93)
- Contributors: Chris Lalancette
2.2.0 (2021-05-20)
- Make sure to declare the type while declaring the parameter. (#89)
- Contributors: Chris Lalancette
2.1.0 (2021-03-29)
- Don't publish messages that jumped back in time. (#86)
- Log synchronization window details at DEBUG level (#84)
- Get rid of deprecation warnings in Foxy. (#75)
- Switch header guards to _HPP SUFFIX.
- Contributors: Chris Lalancette, Martin Günther, Michael Grupp
2.0.2 (2020-06-01)
- Release build fixes (#67)
- Contributors: Chris Lalancette
2.0.1 (2019-12-05)
- Switch the buildtoo_depend to ament_cmake_ros. (#65)
- Contributors: Chris Lalancette
2.0.0 (2019-12-05)
- Include file cleanup.
- Make sure exceptions get caught by reference.
- Switch from NULL to nullptr.
- Make sure to initialize class member variables.
- Update READMEs to use "Published Topics" and "Subscribed Topics". (#59)
- Change launch output to "both" so it logs as well.
- Make publish_rate a double.
- Print out the serial number when connecting.
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake_ros | |
launch | |
phidgets_api | |
rclcpp | |
rclcpp_components | |
sensor_msgs | |
std_msgs | |
std_srvs |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
phidgets_drivers |
Launch files
Messages
Services
Plugins
Recent questions tagged phidgets_spatial at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 2.4.0 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros-drivers/phidgets_drivers.git |
VCS Type | git |
VCS Version | kilted |
Last Updated | 2025-05-30 |
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
Additional Links
Maintainers
- Martin Günther
- Chris Lalancette
Authors
- Ivan Dryanovski
Phidgets spatial ROS 2 driver
This is the ROS 2 driver for Phidgets spatial.
Usage
To run this driver standalone, do the following:
ros2 launch phidgets_spatial spatial-launch.py
Published Topics
-
/imu/data_raw
(sensor_msgs/Imu
) - The raw accelerometer and gyroscope data. -
imu/is_calibrated
(std_msgs/Bool
) - Whether the gyroscope has been calibrated; this will be done automatically at startup time, but can also be re-done at any time by calling theimu/calibrate
service. -
/imu/mag
(sensor_msgs/MagneticField
) - The raw magnetometer data.
Services
-
imu/calibrate
(std_srvs/Empty
) - Run calibration on the gyroscope.
Parameters
-
serial
(int) - The serial number of the phidgets spatial to connect to. If -1 (the default), connects to any spatial phidget that can be found. -
hub_port
(int) - The phidgets VINT hub port to connect to. Only used if the spatial phidget is connected to a VINT hub. Defaults to 0. -
frame_id
(string) - The header frame ID to use when publishing the message. Defaults to REP-0145 compliantimu_link
. -
use_orientation
(bool) - Use the phidget spatials onboard orientation estimation; Just available on MOT0109 onwards. Set to false for older versions. Defaults to false. -
spatial_algorithm
(string) - Name of the spatial algorithm used for orientation estimation (one of “none”, “ahrs”, “imu”); Just used ifuse_orientation
is set to true. Defaults toahrs
. -
ahrs_angular_velocity_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_angular_velocity_delta_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_acceleration_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_mag_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_accel_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_bias_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
algorithm_magnetometer_gain
(double) - Gain of magnetometer in orientation estimation algorithm; Just used ifuse_orientation
is set to true. Defaults to 0.005 -
heating_enabled
(bool) - Use the internal heating element; Just available on MOT0109 onwards. Do not set this parameter for older versions. -
linear_acceleration_stdev
(double) - The standard deviation to use for the linear acceleration when publishing the message. Defaults to 280 ug. -
angular_velocity_stdev
(double) - The standard deviation to use for the angular velocity when publishing the message. Defaults to 0.095 deg/s. -
magnetic_field_stdev
(double) - The standard deviation to use for the magnetic field when publishing the message. Defaults to 1.1 milligauss. -
time_resynchronization_interval_ms
(int) - The number of milliseconds to wait between resynchronizing the time on the Phidgets spatial with the local time. Larger values have less “jumps”, but will have more timestamp drift. Setting this to 0 disables resynchronization. Defaults to 5000 ms. -
data_interval_ms
(int) - The number of milliseconds between acquisitions of data on the device (allowed values are dependent on the device). Defaults to 8 ms. -
callback_delta_epsilon_ms
(int) - The number of milliseconds epsilon allowed between callbacks when attempting to resynchronize the time. If this is set to 1, then a difference ofdata_interval_ms
plus or minus 1 millisecond will be considered viable for resynchronization. Higher values give the code more leeway to resynchronize, at the cost of potentially getting bad resynchronizations sometimes. Lower values can give better results, but can also result in never resynchronizing. Must be less thandata_interval_ms
. Defaults to 1 ms. -
publish_rate
(double) - How often the driver will publish data on the ROS topic. If 0 (the default), it will publish every time there is an update from the device (so at thedata_interval_ms
). If positive, it will publish the data at that rate regardless of the acquisition interval. -
cc_mag_field
(double) - Ambient magnetic field calibration value; see device’s user guide for information on how to calibrate. -
cc_offset0
(double) - Calibration offset value 0; see device’s user guide for information on how to calibrate. -
cc_offset1
(double) - Calibration offset value 1; see device’s user guide for information on how to calibrate. -
cc_offset2
(double) - Calibration offset value 2; see device’s user guide for information on how to calibrate. -
cc_gain0
(double) - Gain offset value 0; see device’s user guide for information on how to calibrate. -
cc_gain1
(double) - Gain offset value 1; see device’s user guide for information on how to calibrate. -
cc_gain2
(double) - Gain offset value 2; see device’s user guide for information on how to calibrate. -
cc_t0
(double) - T offset value 0; see device’s user guide for information on how to calibrate. -
cc_t1
(double) - T offset value 1; see device’s user guide for information on how to calibrate. -
cc_t2
(double) - T offset value 2; see device’s user guide for information on how to calibrate. -
cc_t3
(double) - T offset value 3; see device’s user guide for information on how to calibrate. -
cc_t4
(double) - T offset value 4; see device’s user guide for information on how to calibrate. -
cc_t5
(double) - T offset value 5; see device’s user guide for information on how to calibrate.
Changelog for package phidgets_spatial
2.4.0 (2025-05-30)
- Merge pull request #191 from mintar/remove-ament-target-dependencies [kilted] Update deprecated call to ament_target_dependencies
- Update to C++ standard 17
- [kilted] Update deprecated call to ament_target_dependencies
- Contributors: Martin Günther
2.3.4 (2025-05-19)
- Upgrade to CMake 3.8, add file depend (#189)
- Contributors: Martin Günther
2.3.3 (2024-03-13)
- Add support for VINT networkhub (#172) This is a port of #127 to ROS2. Closes #135.
- Contributors: Martin Günther
2.3.2 (2023-11-27)
- Only set magnetometer gain if param is set (#169)
- added new parameters for spatial precision MOT0109 onwards
- added support for phidget spatial onboard orientation estimation
- Contributors: Malte kl. Piening, Martin Günther
2.3.1 (2023-03-03)
2.3.0 (2022-04-13)
2.2.2 (2022-02-17)
- Fix behavior after USB reattachment (#119) The Phidged Spatial never recovered after detaching and reattaching to the USB port. This commit fixes that.
- Add attach + detach handlers
- Fix publishing of invalid mag readings (#116)
- Contributors: Martin Günther
2.2.1 (2021-08-03)
- Make the magnetometer corrections optional again. (#95)
- Update the ROS 2 readme files. (#93)
- Contributors: Chris Lalancette
2.2.0 (2021-05-20)
- Make sure to declare the type while declaring the parameter. (#89)
- Contributors: Chris Lalancette
2.1.0 (2021-03-29)
- Don't publish messages that jumped back in time. (#86)
- Log synchronization window details at DEBUG level (#84)
- Get rid of deprecation warnings in Foxy. (#75)
- Switch header guards to _HPP SUFFIX.
- Contributors: Chris Lalancette, Martin Günther, Michael Grupp
2.0.2 (2020-06-01)
- Release build fixes (#67)
- Contributors: Chris Lalancette
2.0.1 (2019-12-05)
- Switch the buildtoo_depend to ament_cmake_ros. (#65)
- Contributors: Chris Lalancette
2.0.0 (2019-12-05)
- Include file cleanup.
- Make sure exceptions get caught by reference.
- Switch from NULL to nullptr.
- Make sure to initialize class member variables.
- Update READMEs to use "Published Topics" and "Subscribed Topics". (#59)
- Change launch output to "both" so it logs as well.
- Make publish_rate a double.
- Print out the serial number when connecting.
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake_ros | |
launch | |
phidgets_api | |
rclcpp | |
rclcpp_components | |
sensor_msgs | |
std_msgs | |
std_srvs |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
phidgets_drivers |
Launch files
Messages
Services
Plugins
Recent questions tagged phidgets_spatial at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 2.4.0 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros-drivers/phidgets_drivers.git |
VCS Type | git |
VCS Version | rolling |
Last Updated | 2025-05-30 |
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
Additional Links
Maintainers
- Martin Günther
- Chris Lalancette
Authors
- Ivan Dryanovski
Phidgets spatial ROS 2 driver
This is the ROS 2 driver for Phidgets spatial.
Usage
To run this driver standalone, do the following:
ros2 launch phidgets_spatial spatial-launch.py
Published Topics
-
/imu/data_raw
(sensor_msgs/Imu
) - The raw accelerometer and gyroscope data. -
imu/is_calibrated
(std_msgs/Bool
) - Whether the gyroscope has been calibrated; this will be done automatically at startup time, but can also be re-done at any time by calling theimu/calibrate
service. -
/imu/mag
(sensor_msgs/MagneticField
) - The raw magnetometer data.
Services
-
imu/calibrate
(std_srvs/Empty
) - Run calibration on the gyroscope.
Parameters
-
serial
(int) - The serial number of the phidgets spatial to connect to. If -1 (the default), connects to any spatial phidget that can be found. -
hub_port
(int) - The phidgets VINT hub port to connect to. Only used if the spatial phidget is connected to a VINT hub. Defaults to 0. -
frame_id
(string) - The header frame ID to use when publishing the message. Defaults to REP-0145 compliantimu_link
. -
use_orientation
(bool) - Use the phidget spatials onboard orientation estimation; Just available on MOT0109 onwards. Set to false for older versions. Defaults to false. -
spatial_algorithm
(string) - Name of the spatial algorithm used for orientation estimation (one of “none”, “ahrs”, “imu”); Just used ifuse_orientation
is set to true. Defaults toahrs
. -
ahrs_angular_velocity_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_angular_velocity_delta_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_acceleration_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_mag_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_accel_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_bias_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
algorithm_magnetometer_gain
(double) - Gain of magnetometer in orientation estimation algorithm; Just used ifuse_orientation
is set to true. Defaults to 0.005 -
heating_enabled
(bool) - Use the internal heating element; Just available on MOT0109 onwards. Do not set this parameter for older versions. -
linear_acceleration_stdev
(double) - The standard deviation to use for the linear acceleration when publishing the message. Defaults to 280 ug. -
angular_velocity_stdev
(double) - The standard deviation to use for the angular velocity when publishing the message. Defaults to 0.095 deg/s. -
magnetic_field_stdev
(double) - The standard deviation to use for the magnetic field when publishing the message. Defaults to 1.1 milligauss. -
time_resynchronization_interval_ms
(int) - The number of milliseconds to wait between resynchronizing the time on the Phidgets spatial with the local time. Larger values have less “jumps”, but will have more timestamp drift. Setting this to 0 disables resynchronization. Defaults to 5000 ms. -
data_interval_ms
(int) - The number of milliseconds between acquisitions of data on the device (allowed values are dependent on the device). Defaults to 8 ms. -
callback_delta_epsilon_ms
(int) - The number of milliseconds epsilon allowed between callbacks when attempting to resynchronize the time. If this is set to 1, then a difference ofdata_interval_ms
plus or minus 1 millisecond will be considered viable for resynchronization. Higher values give the code more leeway to resynchronize, at the cost of potentially getting bad resynchronizations sometimes. Lower values can give better results, but can also result in never resynchronizing. Must be less thandata_interval_ms
. Defaults to 1 ms. -
publish_rate
(double) - How often the driver will publish data on the ROS topic. If 0 (the default), it will publish every time there is an update from the device (so at thedata_interval_ms
). If positive, it will publish the data at that rate regardless of the acquisition interval. -
cc_mag_field
(double) - Ambient magnetic field calibration value; see device’s user guide for information on how to calibrate. -
cc_offset0
(double) - Calibration offset value 0; see device’s user guide for information on how to calibrate. -
cc_offset1
(double) - Calibration offset value 1; see device’s user guide for information on how to calibrate. -
cc_offset2
(double) - Calibration offset value 2; see device’s user guide for information on how to calibrate. -
cc_gain0
(double) - Gain offset value 0; see device’s user guide for information on how to calibrate. -
cc_gain1
(double) - Gain offset value 1; see device’s user guide for information on how to calibrate. -
cc_gain2
(double) - Gain offset value 2; see device’s user guide for information on how to calibrate. -
cc_t0
(double) - T offset value 0; see device’s user guide for information on how to calibrate. -
cc_t1
(double) - T offset value 1; see device’s user guide for information on how to calibrate. -
cc_t2
(double) - T offset value 2; see device’s user guide for information on how to calibrate. -
cc_t3
(double) - T offset value 3; see device’s user guide for information on how to calibrate. -
cc_t4
(double) - T offset value 4; see device’s user guide for information on how to calibrate. -
cc_t5
(double) - T offset value 5; see device’s user guide for information on how to calibrate.
Changelog for package phidgets_spatial
2.4.0 (2025-05-30)
- Merge pull request #191 from mintar/remove-ament-target-dependencies [kilted] Update deprecated call to ament_target_dependencies
- Update to C++ standard 17
- [kilted] Update deprecated call to ament_target_dependencies
- Contributors: Martin Günther
2.3.4 (2025-05-19)
- Upgrade to CMake 3.8, add file depend (#189)
- Contributors: Martin Günther
2.3.3 (2024-03-13)
- Add support for VINT networkhub (#172) This is a port of #127 to ROS2. Closes #135.
- Contributors: Martin Günther
2.3.2 (2023-11-27)
- Only set magnetometer gain if param is set (#169)
- added new parameters for spatial precision MOT0109 onwards
- added support for phidget spatial onboard orientation estimation
- Contributors: Malte kl. Piening, Martin Günther
2.3.1 (2023-03-03)
2.3.0 (2022-04-13)
2.2.2 (2022-02-17)
- Fix behavior after USB reattachment (#119) The Phidged Spatial never recovered after detaching and reattaching to the USB port. This commit fixes that.
- Add attach + detach handlers
- Fix publishing of invalid mag readings (#116)
- Contributors: Martin Günther
2.2.1 (2021-08-03)
- Make the magnetometer corrections optional again. (#95)
- Update the ROS 2 readme files. (#93)
- Contributors: Chris Lalancette
2.2.0 (2021-05-20)
- Make sure to declare the type while declaring the parameter. (#89)
- Contributors: Chris Lalancette
2.1.0 (2021-03-29)
- Don't publish messages that jumped back in time. (#86)
- Log synchronization window details at DEBUG level (#84)
- Get rid of deprecation warnings in Foxy. (#75)
- Switch header guards to _HPP SUFFIX.
- Contributors: Chris Lalancette, Martin Günther, Michael Grupp
2.0.2 (2020-06-01)
- Release build fixes (#67)
- Contributors: Chris Lalancette
2.0.1 (2019-12-05)
- Switch the buildtoo_depend to ament_cmake_ros. (#65)
- Contributors: Chris Lalancette
2.0.0 (2019-12-05)
- Include file cleanup.
- Make sure exceptions get caught by reference.
- Switch from NULL to nullptr.
- Make sure to initialize class member variables.
- Update READMEs to use "Published Topics" and "Subscribed Topics". (#59)
- Change launch output to "both" so it logs as well.
- Make publish_rate a double.
- Print out the serial number when connecting.
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake_ros | |
launch | |
phidgets_api | |
rclcpp | |
rclcpp_components | |
sensor_msgs | |
std_msgs | |
std_srvs |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
phidgets_drivers |
Launch files
Messages
Services
Plugins
Recent questions tagged phidgets_spatial at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 2.3.4 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros-drivers/phidgets_drivers.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-05-19 |
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
Additional Links
Maintainers
- Martin Günther
- Chris Lalancette
Authors
- Ivan Dryanovski
Phidgets spatial ROS 2 driver
This is the ROS 2 driver for Phidgets spatial.
Usage
To run this driver standalone, do the following:
ros2 launch phidgets_spatial spatial-launch.py
Published Topics
-
/imu/data_raw
(sensor_msgs/Imu
) - The raw accelerometer and gyroscope data. -
imu/is_calibrated
(std_msgs/Bool
) - Whether the gyroscope has been calibrated; this will be done automatically at startup time, but can also be re-done at any time by calling theimu/calibrate
service. -
/imu/mag
(sensor_msgs/MagneticField
) - The raw magnetometer data.
Services
-
imu/calibrate
(std_srvs/Empty
) - Run calibration on the gyroscope.
Parameters
-
serial
(int) - The serial number of the phidgets spatial to connect to. If -1 (the default), connects to any spatial phidget that can be found. -
hub_port
(int) - The phidgets VINT hub port to connect to. Only used if the spatial phidget is connected to a VINT hub. Defaults to 0. -
frame_id
(string) - The header frame ID to use when publishing the message. Defaults to REP-0145 compliantimu_link
. -
use_orientation
(bool) - Use the phidget spatials onboard orientation estimation; Just available on MOT0109 onwards. Set to false for older versions. Defaults to false. -
spatial_algorithm
(string) - Name of the spatial algorithm used for orientation estimation (one of “none”, “ahrs”, “imu”); Just used ifuse_orientation
is set to true. Defaults toahrs
. -
ahrs_angular_velocity_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_angular_velocity_delta_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_acceleration_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_mag_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_accel_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_bias_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
algorithm_magnetometer_gain
(double) - Gain of magnetometer in orientation estimation algorithm; Just used ifuse_orientation
is set to true. Defaults to 0.005 -
heating_enabled
(bool) - Use the internal heating element; Just available on MOT0109 onwards. Do not set this parameter for older versions. -
linear_acceleration_stdev
(double) - The standard deviation to use for the linear acceleration when publishing the message. Defaults to 280 ug. -
angular_velocity_stdev
(double) - The standard deviation to use for the angular velocity when publishing the message. Defaults to 0.095 deg/s. -
magnetic_field_stdev
(double) - The standard deviation to use for the magnetic field when publishing the message. Defaults to 1.1 milligauss. -
time_resynchronization_interval_ms
(int) - The number of milliseconds to wait between resynchronizing the time on the Phidgets spatial with the local time. Larger values have less “jumps”, but will have more timestamp drift. Setting this to 0 disables resynchronization. Defaults to 5000 ms. -
data_interval_ms
(int) - The number of milliseconds between acquisitions of data on the device (allowed values are dependent on the device). Defaults to 8 ms. -
callback_delta_epsilon_ms
(int) - The number of milliseconds epsilon allowed between callbacks when attempting to resynchronize the time. If this is set to 1, then a difference ofdata_interval_ms
plus or minus 1 millisecond will be considered viable for resynchronization. Higher values give the code more leeway to resynchronize, at the cost of potentially getting bad resynchronizations sometimes. Lower values can give better results, but can also result in never resynchronizing. Must be less thandata_interval_ms
. Defaults to 1 ms. -
publish_rate
(double) - How often the driver will publish data on the ROS topic. If 0 (the default), it will publish every time there is an update from the device (so at thedata_interval_ms
). If positive, it will publish the data at that rate regardless of the acquisition interval. -
cc_mag_field
(double) - Ambient magnetic field calibration value; see device’s user guide for information on how to calibrate. -
cc_offset0
(double) - Calibration offset value 0; see device’s user guide for information on how to calibrate. -
cc_offset1
(double) - Calibration offset value 1; see device’s user guide for information on how to calibrate. -
cc_offset2
(double) - Calibration offset value 2; see device’s user guide for information on how to calibrate. -
cc_gain0
(double) - Gain offset value 0; see device’s user guide for information on how to calibrate. -
cc_gain1
(double) - Gain offset value 1; see device’s user guide for information on how to calibrate. -
cc_gain2
(double) - Gain offset value 2; see device’s user guide for information on how to calibrate. -
cc_t0
(double) - T offset value 0; see device’s user guide for information on how to calibrate. -
cc_t1
(double) - T offset value 1; see device’s user guide for information on how to calibrate. -
cc_t2
(double) - T offset value 2; see device’s user guide for information on how to calibrate. -
cc_t3
(double) - T offset value 3; see device’s user guide for information on how to calibrate. -
cc_t4
(double) - T offset value 4; see device’s user guide for information on how to calibrate. -
cc_t5
(double) - T offset value 5; see device’s user guide for information on how to calibrate.
Changelog for package phidgets_spatial
2.3.4 (2025-05-19)
- Upgrade to CMake 3.8, add file depend (#189)
- Contributors: Martin Günther
2.3.3 (2024-03-13)
- Add support for VINT networkhub (#172) This is a port of #127 to ROS2. Closes #135.
- Contributors: Martin Günther
2.3.2 (2023-11-27)
- Only set magnetometer gain if param is set (#169)
- added new parameters for spatial precision MOT0109 onwards
- added support for phidget spatial onboard orientation estimation
- Contributors: Malte kl. Piening, Martin Günther
2.3.1 (2023-03-03)
2.3.0 (2022-04-13)
2.2.2 (2022-02-17)
- Fix behavior after USB reattachment (#119) The Phidged Spatial never recovered after detaching and reattaching to the USB port. This commit fixes that.
- Add attach + detach handlers
- Fix publishing of invalid mag readings (#116)
- Contributors: Martin Günther
2.2.1 (2021-08-03)
- Make the magnetometer corrections optional again. (#95)
- Update the ROS 2 readme files. (#93)
- Contributors: Chris Lalancette
2.2.0 (2021-05-20)
- Make sure to declare the type while declaring the parameter. (#89)
- Contributors: Chris Lalancette
2.1.0 (2021-03-29)
- Don't publish messages that jumped back in time. (#86)
- Log synchronization window details at DEBUG level (#84)
- Get rid of deprecation warnings in Foxy. (#75)
- Switch header guards to _HPP SUFFIX.
- Contributors: Chris Lalancette, Martin Günther, Michael Grupp
2.0.2 (2020-06-01)
- Release build fixes (#67)
- Contributors: Chris Lalancette
2.0.1 (2019-12-05)
- Switch the buildtoo_depend to ament_cmake_ros. (#65)
- Contributors: Chris Lalancette
2.0.0 (2019-12-05)
- Include file cleanup.
- Make sure exceptions get caught by reference.
- Switch from NULL to nullptr.
- Make sure to initialize class member variables.
- Update READMEs to use "Published Topics" and "Subscribed Topics". (#59)
- Change launch output to "both" so it logs as well.
- Make publish_rate a double.
- Print out the serial number when connecting.
- Update documentation to mention device dependent fields.
- Update FIXME comments for sleep.
- Port spatial to ROS 2.
- Ignore all packages for ROS 2 port.
- Fix wrong defaults for standard deviations (#48)
- Improve the IMU calibration service (#47)
- Update maintainers in package.xml
- Merge pull request
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake_ros | |
launch | |
phidgets_api | |
rclcpp | |
rclcpp_components | |
sensor_msgs | |
std_msgs | |
std_srvs |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
phidgets_drivers |
Launch files
Messages
Services
Plugins
Recent questions tagged phidgets_spatial at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 2.3.4 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros-drivers/phidgets_drivers.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-05-19 |
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
Additional Links
Maintainers
- Martin Günther
- Chris Lalancette
Authors
- Ivan Dryanovski
Phidgets spatial ROS 2 driver
This is the ROS 2 driver for Phidgets spatial.
Usage
To run this driver standalone, do the following:
ros2 launch phidgets_spatial spatial-launch.py
Published Topics
-
/imu/data_raw
(sensor_msgs/Imu
) - The raw accelerometer and gyroscope data. -
imu/is_calibrated
(std_msgs/Bool
) - Whether the gyroscope has been calibrated; this will be done automatically at startup time, but can also be re-done at any time by calling theimu/calibrate
service. -
/imu/mag
(sensor_msgs/MagneticField
) - The raw magnetometer data.
Services
-
imu/calibrate
(std_srvs/Empty
) - Run calibration on the gyroscope.
Parameters
-
serial
(int) - The serial number of the phidgets spatial to connect to. If -1 (the default), connects to any spatial phidget that can be found. -
hub_port
(int) - The phidgets VINT hub port to connect to. Only used if the spatial phidget is connected to a VINT hub. Defaults to 0. -
frame_id
(string) - The header frame ID to use when publishing the message. Defaults to REP-0145 compliantimu_link
. -
use_orientation
(bool) - Use the phidget spatials onboard orientation estimation; Just available on MOT0109 onwards. Set to false for older versions. Defaults to false. -
spatial_algorithm
(string) - Name of the spatial algorithm used for orientation estimation (one of “none”, “ahrs”, “imu”); Just used ifuse_orientation
is set to true. Defaults toahrs
. -
ahrs_angular_velocity_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_angular_velocity_delta_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_acceleration_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_mag_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_accel_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_bias_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
algorithm_magnetometer_gain
(double) - Gain of magnetometer in orientation estimation algorithm; Just used ifuse_orientation
is set to true. Defaults to 0.005 -
heating_enabled
(bool) - Use the internal heating element; Just available on MOT0109 onwards. Do not set this parameter for older versions. -
linear_acceleration_stdev
(double) - The standard deviation to use for the linear acceleration when publishing the message. Defaults to 280 ug. -
angular_velocity_stdev
(double) - The standard deviation to use for the angular velocity when publishing the message. Defaults to 0.095 deg/s. -
magnetic_field_stdev
(double) - The standard deviation to use for the magnetic field when publishing the message. Defaults to 1.1 milligauss. -
time_resynchronization_interval_ms
(int) - The number of milliseconds to wait between resynchronizing the time on the Phidgets spatial with the local time. Larger values have less “jumps”, but will have more timestamp drift. Setting this to 0 disables resynchronization. Defaults to 5000 ms. -
data_interval_ms
(int) - The number of milliseconds between acquisitions of data on the device (allowed values are dependent on the device). Defaults to 8 ms. -
callback_delta_epsilon_ms
(int) - The number of milliseconds epsilon allowed between callbacks when attempting to resynchronize the time. If this is set to 1, then a difference ofdata_interval_ms
plus or minus 1 millisecond will be considered viable for resynchronization. Higher values give the code more leeway to resynchronize, at the cost of potentially getting bad resynchronizations sometimes. Lower values can give better results, but can also result in never resynchronizing. Must be less thandata_interval_ms
. Defaults to 1 ms. -
publish_rate
(double) - How often the driver will publish data on the ROS topic. If 0 (the default), it will publish every time there is an update from the device (so at thedata_interval_ms
). If positive, it will publish the data at that rate regardless of the acquisition interval. -
cc_mag_field
(double) - Ambient magnetic field calibration value; see device’s user guide for information on how to calibrate. -
cc_offset0
(double) - Calibration offset value 0; see device’s user guide for information on how to calibrate. -
cc_offset1
(double) - Calibration offset value 1; see device’s user guide for information on how to calibrate. -
cc_offset2
(double) - Calibration offset value 2; see device’s user guide for information on how to calibrate. -
cc_gain0
(double) - Gain offset value 0; see device’s user guide for information on how to calibrate. -
cc_gain1
(double) - Gain offset value 1; see device’s user guide for information on how to calibrate. -
cc_gain2
(double) - Gain offset value 2; see device’s user guide for information on how to calibrate. -
cc_t0
(double) - T offset value 0; see device’s user guide for information on how to calibrate. -
cc_t1
(double) - T offset value 1; see device’s user guide for information on how to calibrate. -
cc_t2
(double) - T offset value 2; see device’s user guide for information on how to calibrate. -
cc_t3
(double) - T offset value 3; see device’s user guide for information on how to calibrate. -
cc_t4
(double) - T offset value 4; see device’s user guide for information on how to calibrate. -
cc_t5
(double) - T offset value 5; see device’s user guide for information on how to calibrate.
Changelog for package phidgets_spatial
2.3.4 (2025-05-19)
- Upgrade to CMake 3.8, add file depend (#189)
- Contributors: Martin Günther
2.3.3 (2024-03-13)
- Add support for VINT networkhub (#172) This is a port of #127 to ROS2. Closes #135.
- Contributors: Martin Günther
2.3.2 (2023-11-27)
- Only set magnetometer gain if param is set (#169)
- added new parameters for spatial precision MOT0109 onwards
- added support for phidget spatial onboard orientation estimation
- Contributors: Malte kl. Piening, Martin Günther
2.3.1 (2023-03-03)
2.3.0 (2022-04-13)
2.2.2 (2022-02-17)
- Fix behavior after USB reattachment (#119) The Phidged Spatial never recovered after detaching and reattaching to the USB port. This commit fixes that.
- Add attach + detach handlers
- Fix publishing of invalid mag readings (#116)
- Contributors: Martin Günther
2.2.1 (2021-08-03)
- Make the magnetometer corrections optional again. (#95)
- Update the ROS 2 readme files. (#93)
- Contributors: Chris Lalancette
2.2.0 (2021-05-20)
- Make sure to declare the type while declaring the parameter. (#89)
- Contributors: Chris Lalancette
2.1.0 (2021-03-29)
- Don't publish messages that jumped back in time. (#86)
- Log synchronization window details at DEBUG level (#84)
- Get rid of deprecation warnings in Foxy. (#75)
- Switch header guards to _HPP SUFFIX.
- Contributors: Chris Lalancette, Martin Günther, Michael Grupp
2.0.2 (2020-06-01)
- Release build fixes (#67)
- Contributors: Chris Lalancette
2.0.1 (2019-12-05)
- Switch the buildtoo_depend to ament_cmake_ros. (#65)
- Contributors: Chris Lalancette
2.0.0 (2019-12-05)
- Include file cleanup.
- Make sure exceptions get caught by reference.
- Switch from NULL to nullptr.
- Make sure to initialize class member variables.
- Update READMEs to use "Published Topics" and "Subscribed Topics". (#59)
- Change launch output to "both" so it logs as well.
- Make publish_rate a double.
- Print out the serial number when connecting.
- Update documentation to mention device dependent fields.
- Update FIXME comments for sleep.
- Port spatial to ROS 2.
- Ignore all packages for ROS 2 port.
- Fix wrong defaults for standard deviations (#48)
- Improve the IMU calibration service (#47)
- Update maintainers in package.xml
- Merge pull request
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake_ros | |
launch | |
phidgets_api | |
rclcpp | |
rclcpp_components | |
sensor_msgs | |
std_msgs | |
std_srvs |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
phidgets_drivers |
Launch files
Messages
Services
Plugins
Recent questions tagged phidgets_spatial at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 2.3.4 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros-drivers/phidgets_drivers.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-05-19 |
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
Additional Links
Maintainers
- Martin Günther
- Chris Lalancette
Authors
- Ivan Dryanovski
Phidgets spatial ROS 2 driver
This is the ROS 2 driver for Phidgets spatial.
Usage
To run this driver standalone, do the following:
ros2 launch phidgets_spatial spatial-launch.py
Published Topics
-
/imu/data_raw
(sensor_msgs/Imu
) - The raw accelerometer and gyroscope data. -
imu/is_calibrated
(std_msgs/Bool
) - Whether the gyroscope has been calibrated; this will be done automatically at startup time, but can also be re-done at any time by calling theimu/calibrate
service. -
/imu/mag
(sensor_msgs/MagneticField
) - The raw magnetometer data.
Services
-
imu/calibrate
(std_srvs/Empty
) - Run calibration on the gyroscope.
Parameters
-
serial
(int) - The serial number of the phidgets spatial to connect to. If -1 (the default), connects to any spatial phidget that can be found. -
hub_port
(int) - The phidgets VINT hub port to connect to. Only used if the spatial phidget is connected to a VINT hub. Defaults to 0. -
frame_id
(string) - The header frame ID to use when publishing the message. Defaults to REP-0145 compliantimu_link
. -
use_orientation
(bool) - Use the phidget spatials onboard orientation estimation; Just available on MOT0109 onwards. Set to false for older versions. Defaults to false. -
spatial_algorithm
(string) - Name of the spatial algorithm used for orientation estimation (one of “none”, “ahrs”, “imu”); Just used ifuse_orientation
is set to true. Defaults toahrs
. -
ahrs_angular_velocity_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_angular_velocity_delta_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_acceleration_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_mag_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_accel_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_bias_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
algorithm_magnetometer_gain
(double) - Gain of magnetometer in orientation estimation algorithm; Just used ifuse_orientation
is set to true. Defaults to 0.005 -
heating_enabled
(bool) - Use the internal heating element; Just available on MOT0109 onwards. Do not set this parameter for older versions. -
linear_acceleration_stdev
(double) - The standard deviation to use for the linear acceleration when publishing the message. Defaults to 280 ug. -
angular_velocity_stdev
(double) - The standard deviation to use for the angular velocity when publishing the message. Defaults to 0.095 deg/s. -
magnetic_field_stdev
(double) - The standard deviation to use for the magnetic field when publishing the message. Defaults to 1.1 milligauss. -
time_resynchronization_interval_ms
(int) - The number of milliseconds to wait between resynchronizing the time on the Phidgets spatial with the local time. Larger values have less “jumps”, but will have more timestamp drift. Setting this to 0 disables resynchronization. Defaults to 5000 ms. -
data_interval_ms
(int) - The number of milliseconds between acquisitions of data on the device (allowed values are dependent on the device). Defaults to 8 ms. -
callback_delta_epsilon_ms
(int) - The number of milliseconds epsilon allowed between callbacks when attempting to resynchronize the time. If this is set to 1, then a difference ofdata_interval_ms
plus or minus 1 millisecond will be considered viable for resynchronization. Higher values give the code more leeway to resynchronize, at the cost of potentially getting bad resynchronizations sometimes. Lower values can give better results, but can also result in never resynchronizing. Must be less thandata_interval_ms
. Defaults to 1 ms. -
publish_rate
(double) - How often the driver will publish data on the ROS topic. If 0 (the default), it will publish every time there is an update from the device (so at thedata_interval_ms
). If positive, it will publish the data at that rate regardless of the acquisition interval. -
cc_mag_field
(double) - Ambient magnetic field calibration value; see device’s user guide for information on how to calibrate. -
cc_offset0
(double) - Calibration offset value 0; see device’s user guide for information on how to calibrate. -
cc_offset1
(double) - Calibration offset value 1; see device’s user guide for information on how to calibrate. -
cc_offset2
(double) - Calibration offset value 2; see device’s user guide for information on how to calibrate. -
cc_gain0
(double) - Gain offset value 0; see device’s user guide for information on how to calibrate. -
cc_gain1
(double) - Gain offset value 1; see device’s user guide for information on how to calibrate. -
cc_gain2
(double) - Gain offset value 2; see device’s user guide for information on how to calibrate. -
cc_t0
(double) - T offset value 0; see device’s user guide for information on how to calibrate. -
cc_t1
(double) - T offset value 1; see device’s user guide for information on how to calibrate. -
cc_t2
(double) - T offset value 2; see device’s user guide for information on how to calibrate. -
cc_t3
(double) - T offset value 3; see device’s user guide for information on how to calibrate. -
cc_t4
(double) - T offset value 4; see device’s user guide for information on how to calibrate. -
cc_t5
(double) - T offset value 5; see device’s user guide for information on how to calibrate.
Changelog for package phidgets_spatial
2.3.4 (2025-05-19)
- Upgrade to CMake 3.8, add file depend (#189)
- Contributors: Martin Günther
2.3.3 (2024-03-13)
- Add support for VINT networkhub (#172) This is a port of #127 to ROS2. Closes #135.
- Contributors: Martin Günther
2.3.2 (2023-11-27)
- Only set magnetometer gain if param is set (#169)
- added new parameters for spatial precision MOT0109 onwards
- added support for phidget spatial onboard orientation estimation
- Contributors: Malte kl. Piening, Martin Günther
2.3.1 (2023-03-03)
2.3.0 (2022-04-13)
2.2.2 (2022-02-17)
- Fix behavior after USB reattachment (#119) The Phidged Spatial never recovered after detaching and reattaching to the USB port. This commit fixes that.
- Add attach + detach handlers
- Fix publishing of invalid mag readings (#116)
- Contributors: Martin Günther
2.2.1 (2021-08-03)
- Make the magnetometer corrections optional again. (#95)
- Update the ROS 2 readme files. (#93)
- Contributors: Chris Lalancette
2.2.0 (2021-05-20)
- Make sure to declare the type while declaring the parameter. (#89)
- Contributors: Chris Lalancette
2.1.0 (2021-03-29)
- Don't publish messages that jumped back in time. (#86)
- Log synchronization window details at DEBUG level (#84)
- Get rid of deprecation warnings in Foxy. (#75)
- Switch header guards to _HPP SUFFIX.
- Contributors: Chris Lalancette, Martin Günther, Michael Grupp
2.0.2 (2020-06-01)
- Release build fixes (#67)
- Contributors: Chris Lalancette
2.0.1 (2019-12-05)
- Switch the buildtoo_depend to ament_cmake_ros. (#65)
- Contributors: Chris Lalancette
2.0.0 (2019-12-05)
- Include file cleanup.
- Make sure exceptions get caught by reference.
- Switch from NULL to nullptr.
- Make sure to initialize class member variables.
- Update READMEs to use "Published Topics" and "Subscribed Topics". (#59)
- Change launch output to "both" so it logs as well.
- Make publish_rate a double.
- Print out the serial number when connecting.
- Update documentation to mention device dependent fields.
- Update FIXME comments for sleep.
- Port spatial to ROS 2.
- Ignore all packages for ROS 2 port.
- Fix wrong defaults for standard deviations (#48)
- Improve the IMU calibration service (#47)
- Update maintainers in package.xml
- Merge pull request
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake_ros | |
launch | |
phidgets_api | |
rclcpp | |
rclcpp_components | |
sensor_msgs | |
std_msgs | |
std_srvs |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
phidgets_drivers |
Launch files
Messages
Services
Plugins
Recent questions tagged phidgets_spatial at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 2.0.2 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros-drivers/phidgets_drivers.git |
VCS Type | git |
VCS Version | dashing |
Last Updated | 2020-06-02 |
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
Additional Links
Maintainers
- Martin Günther
- Chris Lalancette
Authors
- Ivan Dryanovski
Phidgets spatial ROS 2 driver
This is the ROS 2 driver for Phidgets spatial. The various topics, services, and parameters that the node operates with are listed below.
Published Topics
-
/imu/data_raw
(sensor_msgs/Imu
) - The raw accelerometer and gyroscope data. -
imu/is_calibrated
(std_msgs/Bool
) - Whether the gyroscope has been calibrated; this will be done automatically at startup time, but can also be re-done at any time by calling theimu/calibrate
service. -
/imu/mag
(sensor_msgs/MagneticField
) - The raw magnetometer data.
Services
-
imu/calibrate
(std_srvs/Empty
) - Run calibration on the gyroscope.
Parameters
-
serial
(int) - The serial number of the phidgets spatial to connect to. If -1 (the default), connects to any spatial phidget that can be found. -
hub_port
(int) - The phidgets VINT hub port to connect to. Only used if the spatial phidget is connected to a VINT hub. Defaults to 0. -
frame_id
(string) - The header frame ID to use when publishing the message. Defaults to REP-0145 compliantimu_link
. -
linear_acceleration_stdev
(double) - The standard deviation to use for the linear acceleration when publishing the message. Defaults to 280 ug. -
angular_velocity_stdev
(double) - The standard deviation to use for the angular velocity when publishing the message. Defaults to 0.095 deg/s. -
magnetic_field_stdev
(double) - The standard deviation to use for the magnetic field when publishing the message. Defaults to 1.1 milligauss. -
time_resynchronization_interval_ms
(int) - The number of milliseconds to wait between resynchronizing the time on the Phidgets spatial with the local time. Larger values have less “jumps”, but will have more timestamp drift. Setting this to 0 disables resynchronization. Defaults to 5000 ms. -
data_interval_ms
(int) - The number of milliseconds between acquisitions of data on the device (allowed values are dependent on the device). Defaults to 8 ms. -
callback_delta_epsilon_ms
(int) - The number of milliseconds epsilon allowed between callbacks when attempting to resynchronize the time. If this is set to 1, then a difference ofdata_interval_ms
plus or minus 1 millisecond will be considered viable for resynchronization. Higher values give the code more leeway to resynchronize, at the cost of potentially getting bad resynchronizations sometimes. Lower values can give better results, but can also result in never resynchronizing. Must be less thandata_interval_ms
. Defaults to 1 ms. -
publish_rate
(double) - How often the driver will publish data on the ROS topic. If 0 (the default), it will publish every time there is an update from the device (so at thedata_interval_ms
). If positive, it will publish the data at that rate regardless of the acquisition interval. -
cc_mag_field
(double) - Ambient magnetic field calibration value; see device’s user guide for information on how to calibrate. -
cc_offset0
(double) - Calibration offset value 0; see device’s user guide for information on how to calibrate. -
cc_offset1
(double) - Calibration offset value 1; see device’s user guide for information on how to calibrate. -
cc_offset2
(double) - Calibration offset value 2; see device’s user guide for information on how to calibrate. -
cc_gain0
(double) - Gain offset value 0; see device’s user guide for information on how to calibrate. -
cc_gain1
(double) - Gain offset value 1; see device’s user guide for information on how to calibrate. -
cc_gain2
(double) - Gain offset value 2; see device’s user guide for information on how to calibrate. -
cc_t0
(double) - T offset value 0; see device’s user guide for information on how to calibrate. -
cc_t1
(double) - T offset value 1; see device’s user guide for information on how to calibrate. -
cc_t2
(double) - T offset value 2; see device’s user guide for information on how to calibrate. -
cc_t3
(double) - T offset value 3; see device’s user guide for information on how to calibrate. -
cc_t4
(double) - T offset value 4; see device’s user guide for information on how to calibrate. -
cc_t5
(double) - T offset value 5; see device’s user guide for information on how to calibrate.
Changelog for package phidgets_imu
2.0.2 (2020-06-01)
- Release build fixes (#67)
- Contributors: Chris Lalancette
2.0.1 (2019-12-05)
- Switch the buildtoo_depend to ament_cmake_ros. (#65)
- Contributors: Chris Lalancette
2.0.0 (2019-12-05)
- Include file cleanup.
- Make sure exceptions get caught by reference.
- Switch from NULL to nullptr.
- Make sure to initialize class member variables.
- Update READMEs to use "Published Topics" and "Subscribed Topics". (#59)
- Change launch output to "both" so it logs as well.
- Make publish_rate a double.
- Print out the serial number when connecting.
- Update documentation to mention device dependent fields.
- Update FIXME comments for sleep.
- Port spatial to ROS 2.
- Ignore all packages for ROS 2 port.
- Fix wrong defaults for standard deviations (#48)
- Improve the IMU calibration service (#47)
- Update maintainers in package.xml
- Merge pull request #39 from clalancette/add-libphidget22
- Resynchronize the times at periodic intervals.
- Add launch files for all drivers.
- Add in try/catch blocks for connecting.
- Fixes from review.
- Documentation updates to README.md
- Set the publish_rate to 0 by default.
- Add in the license files and add to the headers.
- Remove nodes in favor of nodelets.
- Finish removing launch file from phidgets_spatial.
- Rewrite IMU using libphidget22.
- Contributors: Chris Lalancette, Martin Günther
0.7.9 (2019-06-28)
0.7.8 (2019-05-06)
0.7.7 (2018-09-18)
- Add parameter use_imu_time (default true) (#27) Setting use_imu_time to false will disable the imu time calibration and always use the Host time, i.e. ros::Time::now().
- Contributors: Jochen Sprickerhof
0.7.6 (2018-08-09)
- phidgets_imu: Ensure strictly ordered timestamps (#26) Fixes #17.
- Contributors: Michael Grupp, Martin Günther
0.7.5 (2018-01-31)
- phidgets_imu: Add roslaunch_add_file_check
- phidgets_imu: Add diagnostic_aggregator dependency
- phidgets_imu: Add missing install rule for config
- update to use non deprecated pluginlib macro (#19)
- Contributors: Martin Günther, Mikael Arguedas
0.7.4 (2017-10-04)
0.7.3 (2017-06-30)
0.7.2 (2017-06-02)
- First release into Lunar
- phidgets_imu: Add use_magnetic_field_msg to launch This is required in Jade: Since Jade, phidgets_imu publishes MagneticField messages, but imu_filter_madgwick still subscribes by default to Vector3Stamped messages. When running as nodelets, this can produce a silent error. In Kinetic, this is optional: imu_filter_madgwick now defaults to MagneticField. From Lunar on, it should be removed, because the use_magnetic_field_msg param was removed from imu_filter_madgwick.
- Contributors: Martin Günther
0.7.1 (2017-05-22)
- phidgets_imu: add optional serial number parameter (#7)
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake_ros | |
launch | |
phidgets_api | |
rclcpp | |
rclcpp_components | |
sensor_msgs | |
std_msgs | |
std_srvs |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
phidgets_drivers |
Launch files
Messages
Services
Plugins
Recent questions tagged phidgets_spatial at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 2.0.2 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros-drivers/phidgets_drivers.git |
VCS Type | git |
VCS Version | dashing |
Last Updated | 2020-06-02 |
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
Additional Links
Maintainers
- Martin Günther
- Chris Lalancette
Authors
- Ivan Dryanovski
Phidgets spatial ROS 2 driver
This is the ROS 2 driver for Phidgets spatial. The various topics, services, and parameters that the node operates with are listed below.
Published Topics
-
/imu/data_raw
(sensor_msgs/Imu
) - The raw accelerometer and gyroscope data. -
imu/is_calibrated
(std_msgs/Bool
) - Whether the gyroscope has been calibrated; this will be done automatically at startup time, but can also be re-done at any time by calling theimu/calibrate
service. -
/imu/mag
(sensor_msgs/MagneticField
) - The raw magnetometer data.
Services
-
imu/calibrate
(std_srvs/Empty
) - Run calibration on the gyroscope.
Parameters
-
serial
(int) - The serial number of the phidgets spatial to connect to. If -1 (the default), connects to any spatial phidget that can be found. -
hub_port
(int) - The phidgets VINT hub port to connect to. Only used if the spatial phidget is connected to a VINT hub. Defaults to 0. -
frame_id
(string) - The header frame ID to use when publishing the message. Defaults to REP-0145 compliantimu_link
. -
linear_acceleration_stdev
(double) - The standard deviation to use for the linear acceleration when publishing the message. Defaults to 280 ug. -
angular_velocity_stdev
(double) - The standard deviation to use for the angular velocity when publishing the message. Defaults to 0.095 deg/s. -
magnetic_field_stdev
(double) - The standard deviation to use for the magnetic field when publishing the message. Defaults to 1.1 milligauss. -
time_resynchronization_interval_ms
(int) - The number of milliseconds to wait between resynchronizing the time on the Phidgets spatial with the local time. Larger values have less “jumps”, but will have more timestamp drift. Setting this to 0 disables resynchronization. Defaults to 5000 ms. -
data_interval_ms
(int) - The number of milliseconds between acquisitions of data on the device (allowed values are dependent on the device). Defaults to 8 ms. -
callback_delta_epsilon_ms
(int) - The number of milliseconds epsilon allowed between callbacks when attempting to resynchronize the time. If this is set to 1, then a difference ofdata_interval_ms
plus or minus 1 millisecond will be considered viable for resynchronization. Higher values give the code more leeway to resynchronize, at the cost of potentially getting bad resynchronizations sometimes. Lower values can give better results, but can also result in never resynchronizing. Must be less thandata_interval_ms
. Defaults to 1 ms. -
publish_rate
(double) - How often the driver will publish data on the ROS topic. If 0 (the default), it will publish every time there is an update from the device (so at thedata_interval_ms
). If positive, it will publish the data at that rate regardless of the acquisition interval. -
cc_mag_field
(double) - Ambient magnetic field calibration value; see device’s user guide for information on how to calibrate. -
cc_offset0
(double) - Calibration offset value 0; see device’s user guide for information on how to calibrate. -
cc_offset1
(double) - Calibration offset value 1; see device’s user guide for information on how to calibrate. -
cc_offset2
(double) - Calibration offset value 2; see device’s user guide for information on how to calibrate. -
cc_gain0
(double) - Gain offset value 0; see device’s user guide for information on how to calibrate. -
cc_gain1
(double) - Gain offset value 1; see device’s user guide for information on how to calibrate. -
cc_gain2
(double) - Gain offset value 2; see device’s user guide for information on how to calibrate. -
cc_t0
(double) - T offset value 0; see device’s user guide for information on how to calibrate. -
cc_t1
(double) - T offset value 1; see device’s user guide for information on how to calibrate. -
cc_t2
(double) - T offset value 2; see device’s user guide for information on how to calibrate. -
cc_t3
(double) - T offset value 3; see device’s user guide for information on how to calibrate. -
cc_t4
(double) - T offset value 4; see device’s user guide for information on how to calibrate. -
cc_t5
(double) - T offset value 5; see device’s user guide for information on how to calibrate.
Changelog for package phidgets_imu
2.0.2 (2020-06-01)
- Release build fixes (#67)
- Contributors: Chris Lalancette
2.0.1 (2019-12-05)
- Switch the buildtoo_depend to ament_cmake_ros. (#65)
- Contributors: Chris Lalancette
2.0.0 (2019-12-05)
- Include file cleanup.
- Make sure exceptions get caught by reference.
- Switch from NULL to nullptr.
- Make sure to initialize class member variables.
- Update READMEs to use "Published Topics" and "Subscribed Topics". (#59)
- Change launch output to "both" so it logs as well.
- Make publish_rate a double.
- Print out the serial number when connecting.
- Update documentation to mention device dependent fields.
- Update FIXME comments for sleep.
- Port spatial to ROS 2.
- Ignore all packages for ROS 2 port.
- Fix wrong defaults for standard deviations (#48)
- Improve the IMU calibration service (#47)
- Update maintainers in package.xml
- Merge pull request #39 from clalancette/add-libphidget22
- Resynchronize the times at periodic intervals.
- Add launch files for all drivers.
- Add in try/catch blocks for connecting.
- Fixes from review.
- Documentation updates to README.md
- Set the publish_rate to 0 by default.
- Add in the license files and add to the headers.
- Remove nodes in favor of nodelets.
- Finish removing launch file from phidgets_spatial.
- Rewrite IMU using libphidget22.
- Contributors: Chris Lalancette, Martin Günther
0.7.9 (2019-06-28)
0.7.8 (2019-05-06)
0.7.7 (2018-09-18)
- Add parameter use_imu_time (default true) (#27) Setting use_imu_time to false will disable the imu time calibration and always use the Host time, i.e. ros::Time::now().
- Contributors: Jochen Sprickerhof
0.7.6 (2018-08-09)
- phidgets_imu: Ensure strictly ordered timestamps (#26) Fixes #17.
- Contributors: Michael Grupp, Martin Günther
0.7.5 (2018-01-31)
- phidgets_imu: Add roslaunch_add_file_check
- phidgets_imu: Add diagnostic_aggregator dependency
- phidgets_imu: Add missing install rule for config
- update to use non deprecated pluginlib macro (#19)
- Contributors: Martin Günther, Mikael Arguedas
0.7.4 (2017-10-04)
0.7.3 (2017-06-30)
0.7.2 (2017-06-02)
- First release into Lunar
- phidgets_imu: Add use_magnetic_field_msg to launch This is required in Jade: Since Jade, phidgets_imu publishes MagneticField messages, but imu_filter_madgwick still subscribes by default to Vector3Stamped messages. When running as nodelets, this can produce a silent error. In Kinetic, this is optional: imu_filter_madgwick now defaults to MagneticField. From Lunar on, it should be removed, because the use_magnetic_field_msg param was removed from imu_filter_madgwick.
- Contributors: Martin Günther
0.7.1 (2017-05-22)
- phidgets_imu: add optional serial number parameter (#7)
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake_ros | |
launch | |
phidgets_api | |
rclcpp | |
rclcpp_components | |
sensor_msgs | |
std_msgs | |
std_srvs |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
phidgets_drivers |
Launch files
Messages
Services
Plugins
Recent questions tagged phidgets_spatial at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 2.2.3 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros-drivers/phidgets_drivers.git |
VCS Type | git |
VCS Version | galactic |
Last Updated | 2022-04-13 |
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
Additional Links
Maintainers
- Martin Günther
- Chris Lalancette
Authors
- Ivan Dryanovski
Phidgets spatial ROS 2 driver
This is the ROS 2 driver for Phidgets spatial.
Usage
To run this driver standalone, do the following:
ros2 launch phidgets_spatial spatial-launch.py
Published Topics
-
/imu/data_raw
(sensor_msgs/Imu
) - The raw accelerometer and gyroscope data. -
imu/is_calibrated
(std_msgs/Bool
) - Whether the gyroscope has been calibrated; this will be done automatically at startup time, but can also be re-done at any time by calling theimu/calibrate
service. -
/imu/mag
(sensor_msgs/MagneticField
) - The raw magnetometer data.
Services
-
imu/calibrate
(std_srvs/Empty
) - Run calibration on the gyroscope.
Parameters
-
serial
(int) - The serial number of the phidgets spatial to connect to. If -1 (the default), connects to any spatial phidget that can be found. -
hub_port
(int) - The phidgets VINT hub port to connect to. Only used if the spatial phidget is connected to a VINT hub. Defaults to 0. -
frame_id
(string) - The header frame ID to use when publishing the message. Defaults to REP-0145 compliantimu_link
. -
linear_acceleration_stdev
(double) - The standard deviation to use for the linear acceleration when publishing the message. Defaults to 280 ug. -
angular_velocity_stdev
(double) - The standard deviation to use for the angular velocity when publishing the message. Defaults to 0.095 deg/s. -
magnetic_field_stdev
(double) - The standard deviation to use for the magnetic field when publishing the message. Defaults to 1.1 milligauss. -
time_resynchronization_interval_ms
(int) - The number of milliseconds to wait between resynchronizing the time on the Phidgets spatial with the local time. Larger values have less “jumps”, but will have more timestamp drift. Setting this to 0 disables resynchronization. Defaults to 5000 ms. -
data_interval_ms
(int) - The number of milliseconds between acquisitions of data on the device (allowed values are dependent on the device). Defaults to 8 ms. -
callback_delta_epsilon_ms
(int) - The number of milliseconds epsilon allowed between callbacks when attempting to resynchronize the time. If this is set to 1, then a difference ofdata_interval_ms
plus or minus 1 millisecond will be considered viable for resynchronization. Higher values give the code more leeway to resynchronize, at the cost of potentially getting bad resynchronizations sometimes. Lower values can give better results, but can also result in never resynchronizing. Must be less thandata_interval_ms
. Defaults to 1 ms. -
publish_rate
(double) - How often the driver will publish data on the ROS topic. If 0 (the default), it will publish every time there is an update from the device (so at thedata_interval_ms
). If positive, it will publish the data at that rate regardless of the acquisition interval. -
cc_mag_field
(double) - Ambient magnetic field calibration value; see device’s user guide for information on how to calibrate. -
cc_offset0
(double) - Calibration offset value 0; see device’s user guide for information on how to calibrate. -
cc_offset1
(double) - Calibration offset value 1; see device’s user guide for information on how to calibrate. -
cc_offset2
(double) - Calibration offset value 2; see device’s user guide for information on how to calibrate. -
cc_gain0
(double) - Gain offset value 0; see device’s user guide for information on how to calibrate. -
cc_gain1
(double) - Gain offset value 1; see device’s user guide for information on how to calibrate. -
cc_gain2
(double) - Gain offset value 2; see device’s user guide for information on how to calibrate. -
cc_t0
(double) - T offset value 0; see device’s user guide for information on how to calibrate. -
cc_t1
(double) - T offset value 1; see device’s user guide for information on how to calibrate. -
cc_t2
(double) - T offset value 2; see device’s user guide for information on how to calibrate. -
cc_t3
(double) - T offset value 3; see device’s user guide for information on how to calibrate. -
cc_t4
(double) - T offset value 4; see device’s user guide for information on how to calibrate. -
cc_t5
(double) - T offset value 5; see device’s user guide for information on how to calibrate.
Changelog for package phidgets_spatial
2.2.3 (2022-04-13)
2.2.2 (2022-02-17)
- Fix behavior after USB reattachment (#119) The Phidged Spatial never recovered after detaching and reattaching to the USB port. This commit fixes that.
- Add attach + detach handlers
- Fix publishing of invalid mag readings (#116)
- Contributors: Martin Günther
2.2.1 (2021-08-03)
- Make the magnetometer corrections optional again. (#95)
- Update the ROS 2 readme files. (#93)
- Contributors: Chris Lalancette
2.2.0 (2021-05-20)
- Make sure to declare the type while declaring the parameter. (#89)
- Contributors: Chris Lalancette
2.1.0 (2021-03-29)
- Don't publish messages that jumped back in time. (#86)
- Log synchronization window details at DEBUG level (#84)
- Get rid of deprecation warnings in Foxy. (#75)
- Switch header guards to _HPP SUFFIX.
- Contributors: Chris Lalancette, Martin Günther, Michael Grupp
2.0.2 (2020-06-01)
- Release build fixes (#67)
- Contributors: Chris Lalancette
2.0.1 (2019-12-05)
- Switch the buildtoo_depend to ament_cmake_ros. (#65)
- Contributors: Chris Lalancette
2.0.0 (2019-12-05)
- Include file cleanup.
- Make sure exceptions get caught by reference.
- Switch from NULL to nullptr.
- Make sure to initialize class member variables.
- Update READMEs to use "Published Topics" and "Subscribed Topics". (#59)
- Change launch output to "both" so it logs as well.
- Make publish_rate a double.
- Print out the serial number when connecting.
- Update documentation to mention device dependent fields.
- Update FIXME comments for sleep.
- Port spatial to ROS 2.
- Ignore all packages for ROS 2 port.
- Fix wrong defaults for standard deviations (#48)
- Improve the IMU calibration service (#47)
- Update maintainers in package.xml
- Merge pull request #39 from clalancette/add-libphidget22
- Resynchronize the times at periodic intervals.
- Add launch files for all drivers.
- Add in try/catch blocks for connecting.
- Fixes from review.
- Documentation updates to README.md
- Set the publish_rate to 0 by default.
- Add in the license files and add to the headers.
- Remove nodes in favor of nodelets.
- Finish removing launch file from phidgets_spatial.
- Rewrite IMU using libphidget22.
- Contributors: Chris Lalancette, Martin Günther
0.7.9 (2019-06-28)
0.7.8 (2019-05-06)
0.7.7 (2018-09-18)
- Add parameter use_imu_time (default true) (#27) Setting use_imu_time to false will disable the imu time calibration and always use the Host time, i.e. ros::Time::now().
- Contributors: Jochen Sprickerhof
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake_ros | |
launch | |
phidgets_api | |
rclcpp | |
rclcpp_components | |
sensor_msgs | |
std_msgs | |
std_srvs |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
phidgets_drivers |
Launch files
Messages
Services
Plugins
Recent questions tagged phidgets_spatial at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 2.1.2 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros-drivers/phidgets_drivers.git |
VCS Type | git |
VCS Version | foxy |
Last Updated | 2022-04-13 |
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
Additional Links
Maintainers
- Martin Günther
- Chris Lalancette
Authors
- Ivan Dryanovski
Phidgets spatial ROS 2 driver
This is the ROS 2 driver for Phidgets spatial. The various topics, services, and parameters that the node operates with are listed below.
Published Topics
-
/imu/data_raw
(sensor_msgs/Imu
) - The raw accelerometer and gyroscope data. -
imu/is_calibrated
(std_msgs/Bool
) - Whether the gyroscope has been calibrated; this will be done automatically at startup time, but can also be re-done at any time by calling theimu/calibrate
service. -
/imu/mag
(sensor_msgs/MagneticField
) - The raw magnetometer data.
Services
-
imu/calibrate
(std_srvs/Empty
) - Run calibration on the gyroscope.
Parameters
-
serial
(int) - The serial number of the phidgets spatial to connect to. If -1 (the default), connects to any spatial phidget that can be found. -
hub_port
(int) - The phidgets VINT hub port to connect to. Only used if the spatial phidget is connected to a VINT hub. Defaults to 0. -
frame_id
(string) - The header frame ID to use when publishing the message. Defaults to REP-0145 compliantimu_link
. -
linear_acceleration_stdev
(double) - The standard deviation to use for the linear acceleration when publishing the message. Defaults to 280 ug. -
angular_velocity_stdev
(double) - The standard deviation to use for the angular velocity when publishing the message. Defaults to 0.095 deg/s. -
magnetic_field_stdev
(double) - The standard deviation to use for the magnetic field when publishing the message. Defaults to 1.1 milligauss. -
time_resynchronization_interval_ms
(int) - The number of milliseconds to wait between resynchronizing the time on the Phidgets spatial with the local time. Larger values have less “jumps”, but will have more timestamp drift. Setting this to 0 disables resynchronization. Defaults to 5000 ms. -
data_interval_ms
(int) - The number of milliseconds between acquisitions of data on the device (allowed values are dependent on the device). Defaults to 8 ms. -
callback_delta_epsilon_ms
(int) - The number of milliseconds epsilon allowed between callbacks when attempting to resynchronize the time. If this is set to 1, then a difference ofdata_interval_ms
plus or minus 1 millisecond will be considered viable for resynchronization. Higher values give the code more leeway to resynchronize, at the cost of potentially getting bad resynchronizations sometimes. Lower values can give better results, but can also result in never resynchronizing. Must be less thandata_interval_ms
. Defaults to 1 ms. -
publish_rate
(double) - How often the driver will publish data on the ROS topic. If 0 (the default), it will publish every time there is an update from the device (so at thedata_interval_ms
). If positive, it will publish the data at that rate regardless of the acquisition interval. -
cc_mag_field
(double) - Ambient magnetic field calibration value; see device’s user guide for information on how to calibrate. -
cc_offset0
(double) - Calibration offset value 0; see device’s user guide for information on how to calibrate. -
cc_offset1
(double) - Calibration offset value 1; see device’s user guide for information on how to calibrate. -
cc_offset2
(double) - Calibration offset value 2; see device’s user guide for information on how to calibrate. -
cc_gain0
(double) - Gain offset value 0; see device’s user guide for information on how to calibrate. -
cc_gain1
(double) - Gain offset value 1; see device’s user guide for information on how to calibrate. -
cc_gain2
(double) - Gain offset value 2; see device’s user guide for information on how to calibrate. -
cc_t0
(double) - T offset value 0; see device’s user guide for information on how to calibrate. -
cc_t1
(double) - T offset value 1; see device’s user guide for information on how to calibrate. -
cc_t2
(double) - T offset value 2; see device’s user guide for information on how to calibrate. -
cc_t3
(double) - T offset value 3; see device’s user guide for information on how to calibrate. -
cc_t4
(double) - T offset value 4; see device’s user guide for information on how to calibrate. -
cc_t5
(double) - T offset value 5; see device’s user guide for information on how to calibrate.
Changelog for package phidgets_spatial
2.1.2 (2022-04-13)
2.1.1 (2022-02-17)
- Fix behavior after USB reattachment (#119) The Phidged Spatial never recovered after detaching and reattaching to the USB port. This commit fixes that.
- Add attach + detach handlers
- Fix publishing of invalid mag readings (#116)
- Contributors: Martin Günther
2.1.0 (2021-03-29)
- Don't publish messages that jumped back in time. (#86)
- Log synchronization window details at DEBUG level (#84)
- Get rid of deprecation warnings in Foxy. (#75)
- Switch header guards to _HPP SUFFIX.
- Contributors: Chris Lalancette, Martin Günther, Michael Grupp
2.0.2 (2020-06-01)
- Release build fixes (#67)
- Contributors: Chris Lalancette
2.0.1 (2019-12-05)
- Switch the buildtoo_depend to ament_cmake_ros. (#65)
- Contributors: Chris Lalancette
2.0.0 (2019-12-05)
- Include file cleanup.
- Make sure exceptions get caught by reference.
- Switch from NULL to nullptr.
- Make sure to initialize class member variables.
- Update READMEs to use "Published Topics" and "Subscribed Topics". (#59)
- Change launch output to "both" so it logs as well.
- Make publish_rate a double.
- Print out the serial number when connecting.
- Update documentation to mention device dependent fields.
- Update FIXME comments for sleep.
- Port spatial to ROS 2.
- Ignore all packages for ROS 2 port.
- Fix wrong defaults for standard deviations (#48)
- Improve the IMU calibration service (#47)
- Update maintainers in package.xml
- Merge pull request #39 from clalancette/add-libphidget22
- Resynchronize the times at periodic intervals.
- Add launch files for all drivers.
- Add in try/catch blocks for connecting.
- Fixes from review.
- Documentation updates to README.md
- Set the publish_rate to 0 by default.
- Add in the license files and add to the headers.
- Remove nodes in favor of nodelets.
- Finish removing launch file from phidgets_spatial.
- Rewrite IMU using libphidget22.
- Contributors: Chris Lalancette, Martin Günther
0.7.9 (2019-06-28)
0.7.8 (2019-05-06)
0.7.7 (2018-09-18)
- Add parameter use_imu_time (default true) (#27) Setting use_imu_time to false will disable the imu time calibration and always use the Host time, i.e. ros::Time::now().
- Contributors: Jochen Sprickerhof
0.7.6 (2018-08-09)
- phidgets_imu: Ensure strictly ordered timestamps (#26) Fixes #17.
- Contributors: Michael Grupp, Martin Günther
0.7.5 (2018-01-31)
- phidgets_imu: Add roslaunch_add_file_check
- phidgets_imu: Add diagnostic_aggregator dependency
- phidgets_imu: Add missing install rule for config
- update to use non deprecated pluginlib macro
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake_ros | |
launch | |
phidgets_api | |
rclcpp | |
rclcpp_components | |
sensor_msgs | |
std_msgs | |
std_srvs |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
phidgets_drivers |
Launch files
Messages
Services
Plugins
Recent questions tagged phidgets_spatial at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 2.3.3 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros-drivers/phidgets_drivers.git |
VCS Type | git |
VCS Version | iron |
Last Updated | 2024-05-02 |
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
Additional Links
Maintainers
- Martin Günther
- Chris Lalancette
Authors
- Ivan Dryanovski
Phidgets spatial ROS 2 driver
This is the ROS 2 driver for Phidgets spatial.
Usage
To run this driver standalone, do the following:
ros2 launch phidgets_spatial spatial-launch.py
Published Topics
-
/imu/data_raw
(sensor_msgs/Imu
) - The raw accelerometer and gyroscope data. -
imu/is_calibrated
(std_msgs/Bool
) - Whether the gyroscope has been calibrated; this will be done automatically at startup time, but can also be re-done at any time by calling theimu/calibrate
service. -
/imu/mag
(sensor_msgs/MagneticField
) - The raw magnetometer data.
Services
-
imu/calibrate
(std_srvs/Empty
) - Run calibration on the gyroscope.
Parameters
-
serial
(int) - The serial number of the phidgets spatial to connect to. If -1 (the default), connects to any spatial phidget that can be found. -
hub_port
(int) - The phidgets VINT hub port to connect to. Only used if the spatial phidget is connected to a VINT hub. Defaults to 0. -
frame_id
(string) - The header frame ID to use when publishing the message. Defaults to REP-0145 compliantimu_link
. -
use_orientation
(bool) - Use the phidget spatials onboard orientation estimation; Just available on MOT0109 onwards. Set to false for older versions. Defaults to false. -
spatial_algorithm
(string) - Name of the spatial algorithm used for orientation estimation (one of “none”, “ahrs”, “imu”); Just used ifuse_orientation
is set to true. Defaults toahrs
. -
ahrs_angular_velocity_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_angular_velocity_delta_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_acceleration_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_mag_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_accel_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_bias_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
algorithm_magnetometer_gain
(double) - Gain of magnetometer in orientation estimation algorithm; Just used ifuse_orientation
is set to true. Defaults to 0.005 -
heating_enabled
(bool) - Use the internal heating element; Just available on MOT0109 onwards. Do not set this parameter for older versions. -
linear_acceleration_stdev
(double) - The standard deviation to use for the linear acceleration when publishing the message. Defaults to 280 ug. -
angular_velocity_stdev
(double) - The standard deviation to use for the angular velocity when publishing the message. Defaults to 0.095 deg/s. -
magnetic_field_stdev
(double) - The standard deviation to use for the magnetic field when publishing the message. Defaults to 1.1 milligauss. -
time_resynchronization_interval_ms
(int) - The number of milliseconds to wait between resynchronizing the time on the Phidgets spatial with the local time. Larger values have less “jumps”, but will have more timestamp drift. Setting this to 0 disables resynchronization. Defaults to 5000 ms. -
data_interval_ms
(int) - The number of milliseconds between acquisitions of data on the device (allowed values are dependent on the device). Defaults to 8 ms. -
callback_delta_epsilon_ms
(int) - The number of milliseconds epsilon allowed between callbacks when attempting to resynchronize the time. If this is set to 1, then a difference ofdata_interval_ms
plus or minus 1 millisecond will be considered viable for resynchronization. Higher values give the code more leeway to resynchronize, at the cost of potentially getting bad resynchronizations sometimes. Lower values can give better results, but can also result in never resynchronizing. Must be less thandata_interval_ms
. Defaults to 1 ms. -
publish_rate
(double) - How often the driver will publish data on the ROS topic. If 0 (the default), it will publish every time there is an update from the device (so at thedata_interval_ms
). If positive, it will publish the data at that rate regardless of the acquisition interval. -
cc_mag_field
(double) - Ambient magnetic field calibration value; see device’s user guide for information on how to calibrate. -
cc_offset0
(double) - Calibration offset value 0; see device’s user guide for information on how to calibrate. -
cc_offset1
(double) - Calibration offset value 1; see device’s user guide for information on how to calibrate. -
cc_offset2
(double) - Calibration offset value 2; see device’s user guide for information on how to calibrate. -
cc_gain0
(double) - Gain offset value 0; see device’s user guide for information on how to calibrate. -
cc_gain1
(double) - Gain offset value 1; see device’s user guide for information on how to calibrate. -
cc_gain2
(double) - Gain offset value 2; see device’s user guide for information on how to calibrate. -
cc_t0
(double) - T offset value 0; see device’s user guide for information on how to calibrate. -
cc_t1
(double) - T offset value 1; see device’s user guide for information on how to calibrate. -
cc_t2
(double) - T offset value 2; see device’s user guide for information on how to calibrate. -
cc_t3
(double) - T offset value 3; see device’s user guide for information on how to calibrate. -
cc_t4
(double) - T offset value 4; see device’s user guide for information on how to calibrate. -
cc_t5
(double) - T offset value 5; see device’s user guide for information on how to calibrate.
Changelog for package phidgets_spatial
2.3.3 (2024-03-13)
- Add support for VINT networkhub (#172) This is a port of #127 to ROS2. Closes #135.
- Contributors: Martin Günther
2.3.2 (2023-11-27)
- Only set magnetometer gain if param is set (#169)
- added new parameters for spatial precision MOT0109 onwards
- added support for phidget spatial onboard orientation estimation
- Contributors: Malte kl. Piening, Martin Günther
2.3.1 (2023-03-03)
2.3.0 (2022-04-13)
2.2.2 (2022-02-17)
- Fix behavior after USB reattachment (#119) The Phidged Spatial never recovered after detaching and reattaching to the USB port. This commit fixes that.
- Add attach + detach handlers
- Fix publishing of invalid mag readings (#116)
- Contributors: Martin Günther
2.2.1 (2021-08-03)
- Make the magnetometer corrections optional again. (#95)
- Update the ROS 2 readme files. (#93)
- Contributors: Chris Lalancette
2.2.0 (2021-05-20)
- Make sure to declare the type while declaring the parameter. (#89)
- Contributors: Chris Lalancette
2.1.0 (2021-03-29)
- Don't publish messages that jumped back in time. (#86)
- Log synchronization window details at DEBUG level (#84)
- Get rid of deprecation warnings in Foxy. (#75)
- Switch header guards to _HPP SUFFIX.
- Contributors: Chris Lalancette, Martin Günther, Michael Grupp
2.0.2 (2020-06-01)
- Release build fixes (#67)
- Contributors: Chris Lalancette
2.0.1 (2019-12-05)
- Switch the buildtoo_depend to ament_cmake_ros. (#65)
- Contributors: Chris Lalancette
2.0.0 (2019-12-05)
- Include file cleanup.
- Make sure exceptions get caught by reference.
- Switch from NULL to nullptr.
- Make sure to initialize class member variables.
- Update READMEs to use "Published Topics" and "Subscribed Topics". (#59)
- Change launch output to "both" so it logs as well.
- Make publish_rate a double.
- Print out the serial number when connecting.
- Update documentation to mention device dependent fields.
- Update FIXME comments for sleep.
- Port spatial to ROS 2.
- Ignore all packages for ROS 2 port.
- Fix wrong defaults for standard deviations (#48)
- Improve the IMU calibration service (#47)
- Update maintainers in package.xml
- Merge pull request #39 from clalancette/add-libphidget22
- Resynchronize the times at periodic intervals.
- Add launch files for all drivers.
- Add in try/catch blocks for connecting.
- Fixes from review.
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake_ros | |
launch | |
phidgets_api | |
rclcpp | |
rclcpp_components | |
sensor_msgs | |
std_msgs | |
std_srvs |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
phidgets_drivers |
Launch files
Messages
Services
Plugins
Recent questions tagged phidgets_spatial at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 2.3.4 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros-drivers/phidgets_drivers.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-05-19 |
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
Additional Links
Maintainers
- Martin Günther
- Chris Lalancette
Authors
- Ivan Dryanovski
Phidgets spatial ROS 2 driver
This is the ROS 2 driver for Phidgets spatial.
Usage
To run this driver standalone, do the following:
ros2 launch phidgets_spatial spatial-launch.py
Published Topics
-
/imu/data_raw
(sensor_msgs/Imu
) - The raw accelerometer and gyroscope data. -
imu/is_calibrated
(std_msgs/Bool
) - Whether the gyroscope has been calibrated; this will be done automatically at startup time, but can also be re-done at any time by calling theimu/calibrate
service. -
/imu/mag
(sensor_msgs/MagneticField
) - The raw magnetometer data.
Services
-
imu/calibrate
(std_srvs/Empty
) - Run calibration on the gyroscope.
Parameters
-
serial
(int) - The serial number of the phidgets spatial to connect to. If -1 (the default), connects to any spatial phidget that can be found. -
hub_port
(int) - The phidgets VINT hub port to connect to. Only used if the spatial phidget is connected to a VINT hub. Defaults to 0. -
frame_id
(string) - The header frame ID to use when publishing the message. Defaults to REP-0145 compliantimu_link
. -
use_orientation
(bool) - Use the phidget spatials onboard orientation estimation; Just available on MOT0109 onwards. Set to false for older versions. Defaults to false. -
spatial_algorithm
(string) - Name of the spatial algorithm used for orientation estimation (one of “none”, “ahrs”, “imu”); Just used ifuse_orientation
is set to true. Defaults toahrs
. -
ahrs_angular_velocity_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_angular_velocity_delta_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_acceleration_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_mag_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_accel_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_bias_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
algorithm_magnetometer_gain
(double) - Gain of magnetometer in orientation estimation algorithm; Just used ifuse_orientation
is set to true. Defaults to 0.005 -
heating_enabled
(bool) - Use the internal heating element; Just available on MOT0109 onwards. Do not set this parameter for older versions. -
linear_acceleration_stdev
(double) - The standard deviation to use for the linear acceleration when publishing the message. Defaults to 280 ug. -
angular_velocity_stdev
(double) - The standard deviation to use for the angular velocity when publishing the message. Defaults to 0.095 deg/s. -
magnetic_field_stdev
(double) - The standard deviation to use for the magnetic field when publishing the message. Defaults to 1.1 milligauss. -
time_resynchronization_interval_ms
(int) - The number of milliseconds to wait between resynchronizing the time on the Phidgets spatial with the local time. Larger values have less “jumps”, but will have more timestamp drift. Setting this to 0 disables resynchronization. Defaults to 5000 ms. -
data_interval_ms
(int) - The number of milliseconds between acquisitions of data on the device (allowed values are dependent on the device). Defaults to 8 ms. -
callback_delta_epsilon_ms
(int) - The number of milliseconds epsilon allowed between callbacks when attempting to resynchronize the time. If this is set to 1, then a difference ofdata_interval_ms
plus or minus 1 millisecond will be considered viable for resynchronization. Higher values give the code more leeway to resynchronize, at the cost of potentially getting bad resynchronizations sometimes. Lower values can give better results, but can also result in never resynchronizing. Must be less thandata_interval_ms
. Defaults to 1 ms. -
publish_rate
(double) - How often the driver will publish data on the ROS topic. If 0 (the default), it will publish every time there is an update from the device (so at thedata_interval_ms
). If positive, it will publish the data at that rate regardless of the acquisition interval. -
cc_mag_field
(double) - Ambient magnetic field calibration value; see device’s user guide for information on how to calibrate. -
cc_offset0
(double) - Calibration offset value 0; see device’s user guide for information on how to calibrate. -
cc_offset1
(double) - Calibration offset value 1; see device’s user guide for information on how to calibrate. -
cc_offset2
(double) - Calibration offset value 2; see device’s user guide for information on how to calibrate. -
cc_gain0
(double) - Gain offset value 0; see device’s user guide for information on how to calibrate. -
cc_gain1
(double) - Gain offset value 1; see device’s user guide for information on how to calibrate. -
cc_gain2
(double) - Gain offset value 2; see device’s user guide for information on how to calibrate. -
cc_t0
(double) - T offset value 0; see device’s user guide for information on how to calibrate. -
cc_t1
(double) - T offset value 1; see device’s user guide for information on how to calibrate. -
cc_t2
(double) - T offset value 2; see device’s user guide for information on how to calibrate. -
cc_t3
(double) - T offset value 3; see device’s user guide for information on how to calibrate. -
cc_t4
(double) - T offset value 4; see device’s user guide for information on how to calibrate. -
cc_t5
(double) - T offset value 5; see device’s user guide for information on how to calibrate.
Changelog for package phidgets_spatial
2.3.4 (2025-05-19)
- Upgrade to CMake 3.8, add file depend (#189)
- Contributors: Martin Günther
2.3.3 (2024-03-13)
- Add support for VINT networkhub (#172) This is a port of #127 to ROS2. Closes #135.
- Contributors: Martin Günther
2.3.2 (2023-11-27)
- Only set magnetometer gain if param is set (#169)
- added new parameters for spatial precision MOT0109 onwards
- added support for phidget spatial onboard orientation estimation
- Contributors: Malte kl. Piening, Martin Günther
2.3.1 (2023-03-03)
2.3.0 (2022-04-13)
2.2.2 (2022-02-17)
- Fix behavior after USB reattachment (#119) The Phidged Spatial never recovered after detaching and reattaching to the USB port. This commit fixes that.
- Add attach + detach handlers
- Fix publishing of invalid mag readings (#116)
- Contributors: Martin Günther
2.2.1 (2021-08-03)
- Make the magnetometer corrections optional again. (#95)
- Update the ROS 2 readme files. (#93)
- Contributors: Chris Lalancette
2.2.0 (2021-05-20)
- Make sure to declare the type while declaring the parameter. (#89)
- Contributors: Chris Lalancette
2.1.0 (2021-03-29)
- Don't publish messages that jumped back in time. (#86)
- Log synchronization window details at DEBUG level (#84)
- Get rid of deprecation warnings in Foxy. (#75)
- Switch header guards to _HPP SUFFIX.
- Contributors: Chris Lalancette, Martin Günther, Michael Grupp
2.0.2 (2020-06-01)
- Release build fixes (#67)
- Contributors: Chris Lalancette
2.0.1 (2019-12-05)
- Switch the buildtoo_depend to ament_cmake_ros. (#65)
- Contributors: Chris Lalancette
2.0.0 (2019-12-05)
- Include file cleanup.
- Make sure exceptions get caught by reference.
- Switch from NULL to nullptr.
- Make sure to initialize class member variables.
- Update READMEs to use "Published Topics" and "Subscribed Topics". (#59)
- Change launch output to "both" so it logs as well.
- Make publish_rate a double.
- Print out the serial number when connecting.
- Update documentation to mention device dependent fields.
- Update FIXME comments for sleep.
- Port spatial to ROS 2.
- Ignore all packages for ROS 2 port.
- Fix wrong defaults for standard deviations (#48)
- Improve the IMU calibration service (#47)
- Update maintainers in package.xml
- Merge pull request
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake_ros | |
launch | |
phidgets_api | |
rclcpp | |
rclcpp_components | |
sensor_msgs | |
std_msgs | |
std_srvs |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
phidgets_drivers |
Launch files
Messages
Services
Plugins
Recent questions tagged phidgets_spatial at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 2.3.4 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros-drivers/phidgets_drivers.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-05-19 |
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
Additional Links
Maintainers
- Martin Günther
- Chris Lalancette
Authors
- Ivan Dryanovski
Phidgets spatial ROS 2 driver
This is the ROS 2 driver for Phidgets spatial.
Usage
To run this driver standalone, do the following:
ros2 launch phidgets_spatial spatial-launch.py
Published Topics
-
/imu/data_raw
(sensor_msgs/Imu
) - The raw accelerometer and gyroscope data. -
imu/is_calibrated
(std_msgs/Bool
) - Whether the gyroscope has been calibrated; this will be done automatically at startup time, but can also be re-done at any time by calling theimu/calibrate
service. -
/imu/mag
(sensor_msgs/MagneticField
) - The raw magnetometer data.
Services
-
imu/calibrate
(std_srvs/Empty
) - Run calibration on the gyroscope.
Parameters
-
serial
(int) - The serial number of the phidgets spatial to connect to. If -1 (the default), connects to any spatial phidget that can be found. -
hub_port
(int) - The phidgets VINT hub port to connect to. Only used if the spatial phidget is connected to a VINT hub. Defaults to 0. -
frame_id
(string) - The header frame ID to use when publishing the message. Defaults to REP-0145 compliantimu_link
. -
use_orientation
(bool) - Use the phidget spatials onboard orientation estimation; Just available on MOT0109 onwards. Set to false for older versions. Defaults to false. -
spatial_algorithm
(string) - Name of the spatial algorithm used for orientation estimation (one of “none”, “ahrs”, “imu”); Just used ifuse_orientation
is set to true. Defaults toahrs
. -
ahrs_angular_velocity_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_angular_velocity_delta_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_acceleration_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_mag_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_accel_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_bias_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
algorithm_magnetometer_gain
(double) - Gain of magnetometer in orientation estimation algorithm; Just used ifuse_orientation
is set to true. Defaults to 0.005 -
heating_enabled
(bool) - Use the internal heating element; Just available on MOT0109 onwards. Do not set this parameter for older versions. -
linear_acceleration_stdev
(double) - The standard deviation to use for the linear acceleration when publishing the message. Defaults to 280 ug. -
angular_velocity_stdev
(double) - The standard deviation to use for the angular velocity when publishing the message. Defaults to 0.095 deg/s. -
magnetic_field_stdev
(double) - The standard deviation to use for the magnetic field when publishing the message. Defaults to 1.1 milligauss. -
time_resynchronization_interval_ms
(int) - The number of milliseconds to wait between resynchronizing the time on the Phidgets spatial with the local time. Larger values have less “jumps”, but will have more timestamp drift. Setting this to 0 disables resynchronization. Defaults to 5000 ms. -
data_interval_ms
(int) - The number of milliseconds between acquisitions of data on the device (allowed values are dependent on the device). Defaults to 8 ms. -
callback_delta_epsilon_ms
(int) - The number of milliseconds epsilon allowed between callbacks when attempting to resynchronize the time. If this is set to 1, then a difference ofdata_interval_ms
plus or minus 1 millisecond will be considered viable for resynchronization. Higher values give the code more leeway to resynchronize, at the cost of potentially getting bad resynchronizations sometimes. Lower values can give better results, but can also result in never resynchronizing. Must be less thandata_interval_ms
. Defaults to 1 ms. -
publish_rate
(double) - How often the driver will publish data on the ROS topic. If 0 (the default), it will publish every time there is an update from the device (so at thedata_interval_ms
). If positive, it will publish the data at that rate regardless of the acquisition interval. -
cc_mag_field
(double) - Ambient magnetic field calibration value; see device’s user guide for information on how to calibrate. -
cc_offset0
(double) - Calibration offset value 0; see device’s user guide for information on how to calibrate. -
cc_offset1
(double) - Calibration offset value 1; see device’s user guide for information on how to calibrate. -
cc_offset2
(double) - Calibration offset value 2; see device’s user guide for information on how to calibrate. -
cc_gain0
(double) - Gain offset value 0; see device’s user guide for information on how to calibrate. -
cc_gain1
(double) - Gain offset value 1; see device’s user guide for information on how to calibrate. -
cc_gain2
(double) - Gain offset value 2; see device’s user guide for information on how to calibrate. -
cc_t0
(double) - T offset value 0; see device’s user guide for information on how to calibrate. -
cc_t1
(double) - T offset value 1; see device’s user guide for information on how to calibrate. -
cc_t2
(double) - T offset value 2; see device’s user guide for information on how to calibrate. -
cc_t3
(double) - T offset value 3; see device’s user guide for information on how to calibrate. -
cc_t4
(double) - T offset value 4; see device’s user guide for information on how to calibrate. -
cc_t5
(double) - T offset value 5; see device’s user guide for information on how to calibrate.
Changelog for package phidgets_spatial
2.3.4 (2025-05-19)
- Upgrade to CMake 3.8, add file depend (#189)
- Contributors: Martin Günther
2.3.3 (2024-03-13)
- Add support for VINT networkhub (#172) This is a port of #127 to ROS2. Closes #135.
- Contributors: Martin Günther
2.3.2 (2023-11-27)
- Only set magnetometer gain if param is set (#169)
- added new parameters for spatial precision MOT0109 onwards
- added support for phidget spatial onboard orientation estimation
- Contributors: Malte kl. Piening, Martin Günther
2.3.1 (2023-03-03)
2.3.0 (2022-04-13)
2.2.2 (2022-02-17)
- Fix behavior after USB reattachment (#119) The Phidged Spatial never recovered after detaching and reattaching to the USB port. This commit fixes that.
- Add attach + detach handlers
- Fix publishing of invalid mag readings (#116)
- Contributors: Martin Günther
2.2.1 (2021-08-03)
- Make the magnetometer corrections optional again. (#95)
- Update the ROS 2 readme files. (#93)
- Contributors: Chris Lalancette
2.2.0 (2021-05-20)
- Make sure to declare the type while declaring the parameter. (#89)
- Contributors: Chris Lalancette
2.1.0 (2021-03-29)
- Don't publish messages that jumped back in time. (#86)
- Log synchronization window details at DEBUG level (#84)
- Get rid of deprecation warnings in Foxy. (#75)
- Switch header guards to _HPP SUFFIX.
- Contributors: Chris Lalancette, Martin Günther, Michael Grupp
2.0.2 (2020-06-01)
- Release build fixes (#67)
- Contributors: Chris Lalancette
2.0.1 (2019-12-05)
- Switch the buildtoo_depend to ament_cmake_ros. (#65)
- Contributors: Chris Lalancette
2.0.0 (2019-12-05)
- Include file cleanup.
- Make sure exceptions get caught by reference.
- Switch from NULL to nullptr.
- Make sure to initialize class member variables.
- Update READMEs to use "Published Topics" and "Subscribed Topics". (#59)
- Change launch output to "both" so it logs as well.
- Make publish_rate a double.
- Print out the serial number when connecting.
- Update documentation to mention device dependent fields.
- Update FIXME comments for sleep.
- Port spatial to ROS 2.
- Ignore all packages for ROS 2 port.
- Fix wrong defaults for standard deviations (#48)
- Improve the IMU calibration service (#47)
- Update maintainers in package.xml
- Merge pull request
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake_ros | |
launch | |
phidgets_api | |
rclcpp | |
rclcpp_components | |
sensor_msgs | |
std_msgs | |
std_srvs |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
phidgets_drivers |
Launch files
Messages
Services
Plugins
Recent questions tagged phidgets_spatial at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 2.3.4 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros-drivers/phidgets_drivers.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-05-19 |
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
Additional Links
Maintainers
- Martin Günther
- Chris Lalancette
Authors
- Ivan Dryanovski
Phidgets spatial ROS 2 driver
This is the ROS 2 driver for Phidgets spatial.
Usage
To run this driver standalone, do the following:
ros2 launch phidgets_spatial spatial-launch.py
Published Topics
-
/imu/data_raw
(sensor_msgs/Imu
) - The raw accelerometer and gyroscope data. -
imu/is_calibrated
(std_msgs/Bool
) - Whether the gyroscope has been calibrated; this will be done automatically at startup time, but can also be re-done at any time by calling theimu/calibrate
service. -
/imu/mag
(sensor_msgs/MagneticField
) - The raw magnetometer data.
Services
-
imu/calibrate
(std_srvs/Empty
) - Run calibration on the gyroscope.
Parameters
-
serial
(int) - The serial number of the phidgets spatial to connect to. If -1 (the default), connects to any spatial phidget that can be found. -
hub_port
(int) - The phidgets VINT hub port to connect to. Only used if the spatial phidget is connected to a VINT hub. Defaults to 0. -
frame_id
(string) - The header frame ID to use when publishing the message. Defaults to REP-0145 compliantimu_link
. -
use_orientation
(bool) - Use the phidget spatials onboard orientation estimation; Just available on MOT0109 onwards. Set to false for older versions. Defaults to false. -
spatial_algorithm
(string) - Name of the spatial algorithm used for orientation estimation (one of “none”, “ahrs”, “imu”); Just used ifuse_orientation
is set to true. Defaults toahrs
. -
ahrs_angular_velocity_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_angular_velocity_delta_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_acceleration_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_mag_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_accel_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_bias_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
algorithm_magnetometer_gain
(double) - Gain of magnetometer in orientation estimation algorithm; Just used ifuse_orientation
is set to true. Defaults to 0.005 -
heating_enabled
(bool) - Use the internal heating element; Just available on MOT0109 onwards. Do not set this parameter for older versions. -
linear_acceleration_stdev
(double) - The standard deviation to use for the linear acceleration when publishing the message. Defaults to 280 ug. -
angular_velocity_stdev
(double) - The standard deviation to use for the angular velocity when publishing the message. Defaults to 0.095 deg/s. -
magnetic_field_stdev
(double) - The standard deviation to use for the magnetic field when publishing the message. Defaults to 1.1 milligauss. -
time_resynchronization_interval_ms
(int) - The number of milliseconds to wait between resynchronizing the time on the Phidgets spatial with the local time. Larger values have less “jumps”, but will have more timestamp drift. Setting this to 0 disables resynchronization. Defaults to 5000 ms. -
data_interval_ms
(int) - The number of milliseconds between acquisitions of data on the device (allowed values are dependent on the device). Defaults to 8 ms. -
callback_delta_epsilon_ms
(int) - The number of milliseconds epsilon allowed between callbacks when attempting to resynchronize the time. If this is set to 1, then a difference ofdata_interval_ms
plus or minus 1 millisecond will be considered viable for resynchronization. Higher values give the code more leeway to resynchronize, at the cost of potentially getting bad resynchronizations sometimes. Lower values can give better results, but can also result in never resynchronizing. Must be less thandata_interval_ms
. Defaults to 1 ms. -
publish_rate
(double) - How often the driver will publish data on the ROS topic. If 0 (the default), it will publish every time there is an update from the device (so at thedata_interval_ms
). If positive, it will publish the data at that rate regardless of the acquisition interval. -
cc_mag_field
(double) - Ambient magnetic field calibration value; see device’s user guide for information on how to calibrate. -
cc_offset0
(double) - Calibration offset value 0; see device’s user guide for information on how to calibrate. -
cc_offset1
(double) - Calibration offset value 1; see device’s user guide for information on how to calibrate. -
cc_offset2
(double) - Calibration offset value 2; see device’s user guide for information on how to calibrate. -
cc_gain0
(double) - Gain offset value 0; see device’s user guide for information on how to calibrate. -
cc_gain1
(double) - Gain offset value 1; see device’s user guide for information on how to calibrate. -
cc_gain2
(double) - Gain offset value 2; see device’s user guide for information on how to calibrate. -
cc_t0
(double) - T offset value 0; see device’s user guide for information on how to calibrate. -
cc_t1
(double) - T offset value 1; see device’s user guide for information on how to calibrate. -
cc_t2
(double) - T offset value 2; see device’s user guide for information on how to calibrate. -
cc_t3
(double) - T offset value 3; see device’s user guide for information on how to calibrate. -
cc_t4
(double) - T offset value 4; see device’s user guide for information on how to calibrate. -
cc_t5
(double) - T offset value 5; see device’s user guide for information on how to calibrate.
Changelog for package phidgets_spatial
2.3.4 (2025-05-19)
- Upgrade to CMake 3.8, add file depend (#189)
- Contributors: Martin Günther
2.3.3 (2024-03-13)
- Add support for VINT networkhub (#172) This is a port of #127 to ROS2. Closes #135.
- Contributors: Martin Günther
2.3.2 (2023-11-27)
- Only set magnetometer gain if param is set (#169)
- added new parameters for spatial precision MOT0109 onwards
- added support for phidget spatial onboard orientation estimation
- Contributors: Malte kl. Piening, Martin Günther
2.3.1 (2023-03-03)
2.3.0 (2022-04-13)
2.2.2 (2022-02-17)
- Fix behavior after USB reattachment (#119) The Phidged Spatial never recovered after detaching and reattaching to the USB port. This commit fixes that.
- Add attach + detach handlers
- Fix publishing of invalid mag readings (#116)
- Contributors: Martin Günther
2.2.1 (2021-08-03)
- Make the magnetometer corrections optional again. (#95)
- Update the ROS 2 readme files. (#93)
- Contributors: Chris Lalancette
2.2.0 (2021-05-20)
- Make sure to declare the type while declaring the parameter. (#89)
- Contributors: Chris Lalancette
2.1.0 (2021-03-29)
- Don't publish messages that jumped back in time. (#86)
- Log synchronization window details at DEBUG level (#84)
- Get rid of deprecation warnings in Foxy. (#75)
- Switch header guards to _HPP SUFFIX.
- Contributors: Chris Lalancette, Martin Günther, Michael Grupp
2.0.2 (2020-06-01)
- Release build fixes (#67)
- Contributors: Chris Lalancette
2.0.1 (2019-12-05)
- Switch the buildtoo_depend to ament_cmake_ros. (#65)
- Contributors: Chris Lalancette
2.0.0 (2019-12-05)
- Include file cleanup.
- Make sure exceptions get caught by reference.
- Switch from NULL to nullptr.
- Make sure to initialize class member variables.
- Update READMEs to use "Published Topics" and "Subscribed Topics". (#59)
- Change launch output to "both" so it logs as well.
- Make publish_rate a double.
- Print out the serial number when connecting.
- Update documentation to mention device dependent fields.
- Update FIXME comments for sleep.
- Port spatial to ROS 2.
- Ignore all packages for ROS 2 port.
- Fix wrong defaults for standard deviations (#48)
- Improve the IMU calibration service (#47)
- Update maintainers in package.xml
- Merge pull request
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake_ros | |
launch | |
phidgets_api | |
rclcpp | |
rclcpp_components | |
sensor_msgs | |
std_msgs | |
std_srvs |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
phidgets_drivers |
Launch files
Messages
Services
Plugins
Recent questions tagged phidgets_spatial at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 2.3.4 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros-drivers/phidgets_drivers.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-05-19 |
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
Additional Links
Maintainers
- Martin Günther
- Chris Lalancette
Authors
- Ivan Dryanovski
Phidgets spatial ROS 2 driver
This is the ROS 2 driver for Phidgets spatial.
Usage
To run this driver standalone, do the following:
ros2 launch phidgets_spatial spatial-launch.py
Published Topics
-
/imu/data_raw
(sensor_msgs/Imu
) - The raw accelerometer and gyroscope data. -
imu/is_calibrated
(std_msgs/Bool
) - Whether the gyroscope has been calibrated; this will be done automatically at startup time, but can also be re-done at any time by calling theimu/calibrate
service. -
/imu/mag
(sensor_msgs/MagneticField
) - The raw magnetometer data.
Services
-
imu/calibrate
(std_srvs/Empty
) - Run calibration on the gyroscope.
Parameters
-
serial
(int) - The serial number of the phidgets spatial to connect to. If -1 (the default), connects to any spatial phidget that can be found. -
hub_port
(int) - The phidgets VINT hub port to connect to. Only used if the spatial phidget is connected to a VINT hub. Defaults to 0. -
frame_id
(string) - The header frame ID to use when publishing the message. Defaults to REP-0145 compliantimu_link
. -
use_orientation
(bool) - Use the phidget spatials onboard orientation estimation; Just available on MOT0109 onwards. Set to false for older versions. Defaults to false. -
spatial_algorithm
(string) - Name of the spatial algorithm used for orientation estimation (one of “none”, “ahrs”, “imu”); Just used ifuse_orientation
is set to true. Defaults toahrs
. -
ahrs_angular_velocity_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_angular_velocity_delta_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_acceleration_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_mag_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_accel_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_bias_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
algorithm_magnetometer_gain
(double) - Gain of magnetometer in orientation estimation algorithm; Just used ifuse_orientation
is set to true. Defaults to 0.005 -
heating_enabled
(bool) - Use the internal heating element; Just available on MOT0109 onwards. Do not set this parameter for older versions. -
linear_acceleration_stdev
(double) - The standard deviation to use for the linear acceleration when publishing the message. Defaults to 280 ug. -
angular_velocity_stdev
(double) - The standard deviation to use for the angular velocity when publishing the message. Defaults to 0.095 deg/s. -
magnetic_field_stdev
(double) - The standard deviation to use for the magnetic field when publishing the message. Defaults to 1.1 milligauss. -
time_resynchronization_interval_ms
(int) - The number of milliseconds to wait between resynchronizing the time on the Phidgets spatial with the local time. Larger values have less “jumps”, but will have more timestamp drift. Setting this to 0 disables resynchronization. Defaults to 5000 ms. -
data_interval_ms
(int) - The number of milliseconds between acquisitions of data on the device (allowed values are dependent on the device). Defaults to 8 ms. -
callback_delta_epsilon_ms
(int) - The number of milliseconds epsilon allowed between callbacks when attempting to resynchronize the time. If this is set to 1, then a difference ofdata_interval_ms
plus or minus 1 millisecond will be considered viable for resynchronization. Higher values give the code more leeway to resynchronize, at the cost of potentially getting bad resynchronizations sometimes. Lower values can give better results, but can also result in never resynchronizing. Must be less thandata_interval_ms
. Defaults to 1 ms. -
publish_rate
(double) - How often the driver will publish data on the ROS topic. If 0 (the default), it will publish every time there is an update from the device (so at thedata_interval_ms
). If positive, it will publish the data at that rate regardless of the acquisition interval. -
cc_mag_field
(double) - Ambient magnetic field calibration value; see device’s user guide for information on how to calibrate. -
cc_offset0
(double) - Calibration offset value 0; see device’s user guide for information on how to calibrate. -
cc_offset1
(double) - Calibration offset value 1; see device’s user guide for information on how to calibrate. -
cc_offset2
(double) - Calibration offset value 2; see device’s user guide for information on how to calibrate. -
cc_gain0
(double) - Gain offset value 0; see device’s user guide for information on how to calibrate. -
cc_gain1
(double) - Gain offset value 1; see device’s user guide for information on how to calibrate. -
cc_gain2
(double) - Gain offset value 2; see device’s user guide for information on how to calibrate. -
cc_t0
(double) - T offset value 0; see device’s user guide for information on how to calibrate. -
cc_t1
(double) - T offset value 1; see device’s user guide for information on how to calibrate. -
cc_t2
(double) - T offset value 2; see device’s user guide for information on how to calibrate. -
cc_t3
(double) - T offset value 3; see device’s user guide for information on how to calibrate. -
cc_t4
(double) - T offset value 4; see device’s user guide for information on how to calibrate. -
cc_t5
(double) - T offset value 5; see device’s user guide for information on how to calibrate.
Changelog for package phidgets_spatial
2.3.4 (2025-05-19)
- Upgrade to CMake 3.8, add file depend (#189)
- Contributors: Martin Günther
2.3.3 (2024-03-13)
- Add support for VINT networkhub (#172) This is a port of #127 to ROS2. Closes #135.
- Contributors: Martin Günther
2.3.2 (2023-11-27)
- Only set magnetometer gain if param is set (#169)
- added new parameters for spatial precision MOT0109 onwards
- added support for phidget spatial onboard orientation estimation
- Contributors: Malte kl. Piening, Martin Günther
2.3.1 (2023-03-03)
2.3.0 (2022-04-13)
2.2.2 (2022-02-17)
- Fix behavior after USB reattachment (#119) The Phidged Spatial never recovered after detaching and reattaching to the USB port. This commit fixes that.
- Add attach + detach handlers
- Fix publishing of invalid mag readings (#116)
- Contributors: Martin Günther
2.2.1 (2021-08-03)
- Make the magnetometer corrections optional again. (#95)
- Update the ROS 2 readme files. (#93)
- Contributors: Chris Lalancette
2.2.0 (2021-05-20)
- Make sure to declare the type while declaring the parameter. (#89)
- Contributors: Chris Lalancette
2.1.0 (2021-03-29)
- Don't publish messages that jumped back in time. (#86)
- Log synchronization window details at DEBUG level (#84)
- Get rid of deprecation warnings in Foxy. (#75)
- Switch header guards to _HPP SUFFIX.
- Contributors: Chris Lalancette, Martin Günther, Michael Grupp
2.0.2 (2020-06-01)
- Release build fixes (#67)
- Contributors: Chris Lalancette
2.0.1 (2019-12-05)
- Switch the buildtoo_depend to ament_cmake_ros. (#65)
- Contributors: Chris Lalancette
2.0.0 (2019-12-05)
- Include file cleanup.
- Make sure exceptions get caught by reference.
- Switch from NULL to nullptr.
- Make sure to initialize class member variables.
- Update READMEs to use "Published Topics" and "Subscribed Topics". (#59)
- Change launch output to "both" so it logs as well.
- Make publish_rate a double.
- Print out the serial number when connecting.
- Update documentation to mention device dependent fields.
- Update FIXME comments for sleep.
- Port spatial to ROS 2.
- Ignore all packages for ROS 2 port.
- Fix wrong defaults for standard deviations (#48)
- Improve the IMU calibration service (#47)
- Update maintainers in package.xml
- Merge pull request
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake_ros | |
launch | |
phidgets_api | |
rclcpp | |
rclcpp_components | |
sensor_msgs | |
std_msgs | |
std_srvs |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
phidgets_drivers |
Launch files
Messages
Services
Plugins
Recent questions tagged phidgets_spatial at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 2.3.4 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros-drivers/phidgets_drivers.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-05-19 |
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
Additional Links
Maintainers
- Martin Günther
- Chris Lalancette
Authors
- Ivan Dryanovski
Phidgets spatial ROS 2 driver
This is the ROS 2 driver for Phidgets spatial.
Usage
To run this driver standalone, do the following:
ros2 launch phidgets_spatial spatial-launch.py
Published Topics
-
/imu/data_raw
(sensor_msgs/Imu
) - The raw accelerometer and gyroscope data. -
imu/is_calibrated
(std_msgs/Bool
) - Whether the gyroscope has been calibrated; this will be done automatically at startup time, but can also be re-done at any time by calling theimu/calibrate
service. -
/imu/mag
(sensor_msgs/MagneticField
) - The raw magnetometer data.
Services
-
imu/calibrate
(std_srvs/Empty
) - Run calibration on the gyroscope.
Parameters
-
serial
(int) - The serial number of the phidgets spatial to connect to. If -1 (the default), connects to any spatial phidget that can be found. -
hub_port
(int) - The phidgets VINT hub port to connect to. Only used if the spatial phidget is connected to a VINT hub. Defaults to 0. -
frame_id
(string) - The header frame ID to use when publishing the message. Defaults to REP-0145 compliantimu_link
. -
use_orientation
(bool) - Use the phidget spatials onboard orientation estimation; Just available on MOT0109 onwards. Set to false for older versions. Defaults to false. -
spatial_algorithm
(string) - Name of the spatial algorithm used for orientation estimation (one of “none”, “ahrs”, “imu”); Just used ifuse_orientation
is set to true. Defaults toahrs
. -
ahrs_angular_velocity_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_angular_velocity_delta_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_acceleration_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_mag_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_accel_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_bias_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
algorithm_magnetometer_gain
(double) - Gain of magnetometer in orientation estimation algorithm; Just used ifuse_orientation
is set to true. Defaults to 0.005 -
heating_enabled
(bool) - Use the internal heating element; Just available on MOT0109 onwards. Do not set this parameter for older versions. -
linear_acceleration_stdev
(double) - The standard deviation to use for the linear acceleration when publishing the message. Defaults to 280 ug. -
angular_velocity_stdev
(double) - The standard deviation to use for the angular velocity when publishing the message. Defaults to 0.095 deg/s. -
magnetic_field_stdev
(double) - The standard deviation to use for the magnetic field when publishing the message. Defaults to 1.1 milligauss. -
time_resynchronization_interval_ms
(int) - The number of milliseconds to wait between resynchronizing the time on the Phidgets spatial with the local time. Larger values have less “jumps”, but will have more timestamp drift. Setting this to 0 disables resynchronization. Defaults to 5000 ms. -
data_interval_ms
(int) - The number of milliseconds between acquisitions of data on the device (allowed values are dependent on the device). Defaults to 8 ms. -
callback_delta_epsilon_ms
(int) - The number of milliseconds epsilon allowed between callbacks when attempting to resynchronize the time. If this is set to 1, then a difference ofdata_interval_ms
plus or minus 1 millisecond will be considered viable for resynchronization. Higher values give the code more leeway to resynchronize, at the cost of potentially getting bad resynchronizations sometimes. Lower values can give better results, but can also result in never resynchronizing. Must be less thandata_interval_ms
. Defaults to 1 ms. -
publish_rate
(double) - How often the driver will publish data on the ROS topic. If 0 (the default), it will publish every time there is an update from the device (so at thedata_interval_ms
). If positive, it will publish the data at that rate regardless of the acquisition interval. -
cc_mag_field
(double) - Ambient magnetic field calibration value; see device’s user guide for information on how to calibrate. -
cc_offset0
(double) - Calibration offset value 0; see device’s user guide for information on how to calibrate. -
cc_offset1
(double) - Calibration offset value 1; see device’s user guide for information on how to calibrate. -
cc_offset2
(double) - Calibration offset value 2; see device’s user guide for information on how to calibrate. -
cc_gain0
(double) - Gain offset value 0; see device’s user guide for information on how to calibrate. -
cc_gain1
(double) - Gain offset value 1; see device’s user guide for information on how to calibrate. -
cc_gain2
(double) - Gain offset value 2; see device’s user guide for information on how to calibrate. -
cc_t0
(double) - T offset value 0; see device’s user guide for information on how to calibrate. -
cc_t1
(double) - T offset value 1; see device’s user guide for information on how to calibrate. -
cc_t2
(double) - T offset value 2; see device’s user guide for information on how to calibrate. -
cc_t3
(double) - T offset value 3; see device’s user guide for information on how to calibrate. -
cc_t4
(double) - T offset value 4; see device’s user guide for information on how to calibrate. -
cc_t5
(double) - T offset value 5; see device’s user guide for information on how to calibrate.
Changelog for package phidgets_spatial
2.3.4 (2025-05-19)
- Upgrade to CMake 3.8, add file depend (#189)
- Contributors: Martin Günther
2.3.3 (2024-03-13)
- Add support for VINT networkhub (#172) This is a port of #127 to ROS2. Closes #135.
- Contributors: Martin Günther
2.3.2 (2023-11-27)
- Only set magnetometer gain if param is set (#169)
- added new parameters for spatial precision MOT0109 onwards
- added support for phidget spatial onboard orientation estimation
- Contributors: Malte kl. Piening, Martin Günther
2.3.1 (2023-03-03)
2.3.0 (2022-04-13)
2.2.2 (2022-02-17)
- Fix behavior after USB reattachment (#119) The Phidged Spatial never recovered after detaching and reattaching to the USB port. This commit fixes that.
- Add attach + detach handlers
- Fix publishing of invalid mag readings (#116)
- Contributors: Martin Günther
2.2.1 (2021-08-03)
- Make the magnetometer corrections optional again. (#95)
- Update the ROS 2 readme files. (#93)
- Contributors: Chris Lalancette
2.2.0 (2021-05-20)
- Make sure to declare the type while declaring the parameter. (#89)
- Contributors: Chris Lalancette
2.1.0 (2021-03-29)
- Don't publish messages that jumped back in time. (#86)
- Log synchronization window details at DEBUG level (#84)
- Get rid of deprecation warnings in Foxy. (#75)
- Switch header guards to _HPP SUFFIX.
- Contributors: Chris Lalancette, Martin Günther, Michael Grupp
2.0.2 (2020-06-01)
- Release build fixes (#67)
- Contributors: Chris Lalancette
2.0.1 (2019-12-05)
- Switch the buildtoo_depend to ament_cmake_ros. (#65)
- Contributors: Chris Lalancette
2.0.0 (2019-12-05)
- Include file cleanup.
- Make sure exceptions get caught by reference.
- Switch from NULL to nullptr.
- Make sure to initialize class member variables.
- Update READMEs to use "Published Topics" and "Subscribed Topics". (#59)
- Change launch output to "both" so it logs as well.
- Make publish_rate a double.
- Print out the serial number when connecting.
- Update documentation to mention device dependent fields.
- Update FIXME comments for sleep.
- Port spatial to ROS 2.
- Ignore all packages for ROS 2 port.
- Fix wrong defaults for standard deviations (#48)
- Improve the IMU calibration service (#47)
- Update maintainers in package.xml
- Merge pull request
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake_ros | |
launch | |
phidgets_api | |
rclcpp | |
rclcpp_components | |
sensor_msgs | |
std_msgs | |
std_srvs |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
phidgets_drivers |
Launch files
Messages
Services
Plugins
Recent questions tagged phidgets_spatial at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 2.3.4 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros-drivers/phidgets_drivers.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-05-19 |
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
Additional Links
Maintainers
- Martin Günther
- Chris Lalancette
Authors
- Ivan Dryanovski
Phidgets spatial ROS 2 driver
This is the ROS 2 driver for Phidgets spatial.
Usage
To run this driver standalone, do the following:
ros2 launch phidgets_spatial spatial-launch.py
Published Topics
-
/imu/data_raw
(sensor_msgs/Imu
) - The raw accelerometer and gyroscope data. -
imu/is_calibrated
(std_msgs/Bool
) - Whether the gyroscope has been calibrated; this will be done automatically at startup time, but can also be re-done at any time by calling theimu/calibrate
service. -
/imu/mag
(sensor_msgs/MagneticField
) - The raw magnetometer data.
Services
-
imu/calibrate
(std_srvs/Empty
) - Run calibration on the gyroscope.
Parameters
-
serial
(int) - The serial number of the phidgets spatial to connect to. If -1 (the default), connects to any spatial phidget that can be found. -
hub_port
(int) - The phidgets VINT hub port to connect to. Only used if the spatial phidget is connected to a VINT hub. Defaults to 0. -
frame_id
(string) - The header frame ID to use when publishing the message. Defaults to REP-0145 compliantimu_link
. -
use_orientation
(bool) - Use the phidget spatials onboard orientation estimation; Just available on MOT0109 onwards. Set to false for older versions. Defaults to false. -
spatial_algorithm
(string) - Name of the spatial algorithm used for orientation estimation (one of “none”, “ahrs”, “imu”); Just used ifuse_orientation
is set to true. Defaults toahrs
. -
ahrs_angular_velocity_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_angular_velocity_delta_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_acceleration_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_mag_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_accel_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_bias_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
algorithm_magnetometer_gain
(double) - Gain of magnetometer in orientation estimation algorithm; Just used ifuse_orientation
is set to true. Defaults to 0.005 -
heating_enabled
(bool) - Use the internal heating element; Just available on MOT0109 onwards. Do not set this parameter for older versions. -
linear_acceleration_stdev
(double) - The standard deviation to use for the linear acceleration when publishing the message. Defaults to 280 ug. -
angular_velocity_stdev
(double) - The standard deviation to use for the angular velocity when publishing the message. Defaults to 0.095 deg/s. -
magnetic_field_stdev
(double) - The standard deviation to use for the magnetic field when publishing the message. Defaults to 1.1 milligauss. -
time_resynchronization_interval_ms
(int) - The number of milliseconds to wait between resynchronizing the time on the Phidgets spatial with the local time. Larger values have less “jumps”, but will have more timestamp drift. Setting this to 0 disables resynchronization. Defaults to 5000 ms. -
data_interval_ms
(int) - The number of milliseconds between acquisitions of data on the device (allowed values are dependent on the device). Defaults to 8 ms. -
callback_delta_epsilon_ms
(int) - The number of milliseconds epsilon allowed between callbacks when attempting to resynchronize the time. If this is set to 1, then a difference ofdata_interval_ms
plus or minus 1 millisecond will be considered viable for resynchronization. Higher values give the code more leeway to resynchronize, at the cost of potentially getting bad resynchronizations sometimes. Lower values can give better results, but can also result in never resynchronizing. Must be less thandata_interval_ms
. Defaults to 1 ms. -
publish_rate
(double) - How often the driver will publish data on the ROS topic. If 0 (the default), it will publish every time there is an update from the device (so at thedata_interval_ms
). If positive, it will publish the data at that rate regardless of the acquisition interval. -
cc_mag_field
(double) - Ambient magnetic field calibration value; see device’s user guide for information on how to calibrate. -
cc_offset0
(double) - Calibration offset value 0; see device’s user guide for information on how to calibrate. -
cc_offset1
(double) - Calibration offset value 1; see device’s user guide for information on how to calibrate. -
cc_offset2
(double) - Calibration offset value 2; see device’s user guide for information on how to calibrate. -
cc_gain0
(double) - Gain offset value 0; see device’s user guide for information on how to calibrate. -
cc_gain1
(double) - Gain offset value 1; see device’s user guide for information on how to calibrate. -
cc_gain2
(double) - Gain offset value 2; see device’s user guide for information on how to calibrate. -
cc_t0
(double) - T offset value 0; see device’s user guide for information on how to calibrate. -
cc_t1
(double) - T offset value 1; see device’s user guide for information on how to calibrate. -
cc_t2
(double) - T offset value 2; see device’s user guide for information on how to calibrate. -
cc_t3
(double) - T offset value 3; see device’s user guide for information on how to calibrate. -
cc_t4
(double) - T offset value 4; see device’s user guide for information on how to calibrate. -
cc_t5
(double) - T offset value 5; see device’s user guide for information on how to calibrate.
Changelog for package phidgets_spatial
2.3.4 (2025-05-19)
- Upgrade to CMake 3.8, add file depend (#189)
- Contributors: Martin Günther
2.3.3 (2024-03-13)
- Add support for VINT networkhub (#172) This is a port of #127 to ROS2. Closes #135.
- Contributors: Martin Günther
2.3.2 (2023-11-27)
- Only set magnetometer gain if param is set (#169)
- added new parameters for spatial precision MOT0109 onwards
- added support for phidget spatial onboard orientation estimation
- Contributors: Malte kl. Piening, Martin Günther
2.3.1 (2023-03-03)
2.3.0 (2022-04-13)
2.2.2 (2022-02-17)
- Fix behavior after USB reattachment (#119) The Phidged Spatial never recovered after detaching and reattaching to the USB port. This commit fixes that.
- Add attach + detach handlers
- Fix publishing of invalid mag readings (#116)
- Contributors: Martin Günther
2.2.1 (2021-08-03)
- Make the magnetometer corrections optional again. (#95)
- Update the ROS 2 readme files. (#93)
- Contributors: Chris Lalancette
2.2.0 (2021-05-20)
- Make sure to declare the type while declaring the parameter. (#89)
- Contributors: Chris Lalancette
2.1.0 (2021-03-29)
- Don't publish messages that jumped back in time. (#86)
- Log synchronization window details at DEBUG level (#84)
- Get rid of deprecation warnings in Foxy. (#75)
- Switch header guards to _HPP SUFFIX.
- Contributors: Chris Lalancette, Martin Günther, Michael Grupp
2.0.2 (2020-06-01)
- Release build fixes (#67)
- Contributors: Chris Lalancette
2.0.1 (2019-12-05)
- Switch the buildtoo_depend to ament_cmake_ros. (#65)
- Contributors: Chris Lalancette
2.0.0 (2019-12-05)
- Include file cleanup.
- Make sure exceptions get caught by reference.
- Switch from NULL to nullptr.
- Make sure to initialize class member variables.
- Update READMEs to use "Published Topics" and "Subscribed Topics". (#59)
- Change launch output to "both" so it logs as well.
- Make publish_rate a double.
- Print out the serial number when connecting.
- Update documentation to mention device dependent fields.
- Update FIXME comments for sleep.
- Port spatial to ROS 2.
- Ignore all packages for ROS 2 port.
- Fix wrong defaults for standard deviations (#48)
- Improve the IMU calibration service (#47)
- Update maintainers in package.xml
- Merge pull request
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake_ros | |
launch | |
phidgets_api | |
rclcpp | |
rclcpp_components | |
sensor_msgs | |
std_msgs | |
std_srvs |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
phidgets_drivers |
Launch files
Messages
Services
Plugins
Recent questions tagged phidgets_spatial at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.0.10 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros-drivers/phidgets_drivers.git |
VCS Type | git |
VCS Version | noetic |
Last Updated | 2025-05-08 |
Dev Status | MAINTAINED |
CI status |
|
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Martin Günther
- Chris Lalancette
Authors
- Ivan Dryanovski
Phidgets spatial ROS driver
This is the ROS driver for Phidgets spatial. The various topics, services, and parameters that the node operates with are listed below.
Topics
-
/imu/data_raw
(sensor_msgs/Imu
) - The raw accelerometer and gyroscope data. -
imu/is_calibrated
(std_msgs/Bool
) - Whether the gyroscope has been calibrated; this will be done automatically at startup time, but can also be re-done at any time by calling theimu/calibrate
service. -
/imu/mag
(sensor_msgs/MagneticField
) - The raw magnetometer data.
Services
-
imu/calibrate
(std_srvs/Empty
) - Run calibration on the gyroscope.
Parameters
-
serial
(int) - The serial number of the phidgets spatial to connect to. If -1 (the default), connects to any spatial phidget that can be found. -
hub_port
(int) - The phidgets VINT hub port to connect to. Only used if the spatial phidget is connected to a VINT hub. Defaults to 0. -
frame_id
(string) - The header frame ID to use when publishing the message. Defaults to REP-0145 compliantimu_link
. -
use_orientation
(bool) - Use the phidget spatials onboard orientation estimation; Just available on MOT0109 onwards. Set to false for older versions. Defaults to false. -
spatial_algorithm
(string) - Name of the spatial algorithm used for orientation estimation (one of “none”, “ahrs”, “imu”); Just used ifuse_orientation
is set to true. Defaults toahrs
. -
ahrs_angular_velocity_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_angular_velocity_delta_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_acceleration_threshold
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_mag_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_accel_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
ahrs_bias_time
(double) - Parameter for AHRS orientation estimation; Just used ifuse_orientation
is set to true. -
algorithm_magnetometer_gain
(double) - Gain of magnetometer in orientation estimation algorithm; Just used ifuse_orientation
is set to true. Defaults to 0.005 -
heating_enabled
(bool) - Use the internal heating element; Just available on MOT0109 onwards. Do not set this parameter for older versions. -
linear_acceleration_stdev
(double) - The standard deviation to use for the linear acceleration when publishing the message. Defaults to 280 ug. -
angular_velocity_stdev
(double) - The standard deviation to use for the angular velocity when publishing the message. Defaults to 0.095 deg/s. -
magnetic_field_stdev
(double) - The standard deviation to use for the magnetic field when publishing the message. Defaults to 1.1 milligauss. -
time_resynchronization_interval_ms
(int) - The number of milliseconds to wait between resynchronizing the time on the Phidgets spatial with the local time. Larger values have less “jumps”, but will have more timestamp drift. Setting this to 0 disables resynchronization. Defaults to 5000 ms. -
data_interval_ms
(int) - The number of milliseconds between acquisitions of data on the device. Defaults to 8 ms. -
callback_delta_epsilon_ms
(int) - The number of milliseconds epsilon allowed between callbacks when attempting to resynchronize the time. If this is set to 1, then a difference ofdata_interval_ms
plus or minus 1 millisecond will be considered viable for resynchronization. Higher values give the code more leeway to resynchronize, at the cost of potentially getting bad resynchronizations sometimes. Lower values can give better results, but can also result in never resynchronizing. Must be less thandata_interval_ms
. Defaults to 1 ms. -
publish_rate
(int) - How often the driver will publish data on the ROS topic. If 0 (the default), it will publish every time there is an update from the device (so at thedata_interval_ms
). If positive, it will publish the data at that rate regardless of the acquisition interval. -
cc_mag_field
(double) - Ambient magnetic field calibration value; see device’s user guide for information on how to calibrate. -
cc_offset0
(double) - Calibration offset value 0; see device’s user guide for information on how to calibrate. -
cc_offset1
(double) - Calibration offset value 1; see device’s user guide for information on how to calibrate. -
cc_offset2
(double) - Calibration offset value 2; see device’s user guide for information on how to calibrate. -
cc_gain0
(double) - Gain offset value 0; see device’s user guide for information on how to calibrate. -
cc_gain1
(double) - Gain offset value 1; see device’s user guide for information on how to calibrate. -
cc_gain2
(double) - Gain offset value 2; see device’s user guide for information on how to calibrate. -
cc_t0
(double) - T offset value 0; see device’s user guide for information on how to calibrate. -
cc_t1
(double) - T offset value 1; see device’s user guide for information on how to calibrate. -
cc_t2
(double) - T offset value 2; see device’s user guide for information on how to calibrate. -
cc_t3
(double) - T offset value 3; see device’s user guide for information on how to calibrate. -
cc_t4
(double) - T offset value 4; see device’s user guide for information on how to calibrate. -
cc_t5
(double) - T offset value 5; see device’s user guide for information on how to calibrate.
Changelog for package phidgets_imu
1.0.10 (2025-05-08)
1.0.9 (2024-03-13)
1.0.8 (2023-11-27)
- Only set magnetometer gain if param is set (#170)
- Contributors: Martin Günther
1.0.7 (2023-03-02)
1.0.6 (2022-12-01)
- Merge pull request #153 from naturerobots/noetic Add support for onboard orientation estimation and other new PhidgetSpatial features of MOT0109 and onwards
- Merge pull request #129 from mintar/feat-pre-commit Add pre-commit, move from travis to GitHub actions, fix style
- Don't modify CMAKE_CXX_FLAGS
- Fix clang-format
- Add support for VINT networkhub (#127)
- Contributors: James Haley, Malte kl. Piening, Martin Günther
1.0.5 (2022-02-17)
-
spatial: Fix behavior after USB reattachment The Phidged Spatial never recovered after detaching and reattaching to the USB port. This commit fixes that. The cause of the failure was the following:
* After reattachment, the device time stamp restarts from 0. This caused our driver to throw the following error messages: [ WARN]: Time went backwards [...]! Not publishing message.
* However, the data interval is also reset to the default of 256 ms. If the parameter data_interval_ms is set to something else, this caused the arriving data to always be outside the acceptable window for synchronization. Therefore, synchronization never happened, and the driver never resumed publishing messages. This commit fixes the bug by setting the appropriate data interval after each reattachment and forcing a resynchronization immediately.
-
spatial: Add attach + detach handlers
-
spatial: Fix publishing of invalid mag readings
-
spatial.launch: Remove use_magnetic_field_msg
-
Contributors: Martin Günther
1.0.4 (2021-10-22)
1.0.3 (2021-09-29)
1.0.2 (2021-03-09)
- Don't publish messages that jumped back in time. (#85)
- Log synchronization window details at DEBUG level. (#82)
- Contributors: Michael Grupp
1.0.1 (2020-06-04)
- Set cmake_policy CMP0048 to fix warning
- Contributors: Martin Günther
1.0.0 (2020-06-03)
-
Fix wrong defaults for standard deviations (#48) The old parameter defaults were wrong: | parameter | old default | new default | | | | | | angular_velocity_stdev | 0.000349056 rad/s (= 0.02 deg/s) | 0.001658 rad/s (= 0.095deg/s) | | linear_acceleration_stdev | 0.002943 m/s\^2 (= 0.0003 g) | 0.002745862 m/s\^2 (= 0.00028 g) | | magnetic_field_stdev | 0.001658 rad/s (= 0.095deg/s) | 1.1e-7 T (= 1.1 mG) | Notes: T = Tesla, mG = milligauss This is a forward-port of #46 to noetic. Specifications come from the PhidgetSpatial Precision 3/3/3 1044_0 data sheet: https://www.phidgets.com/?&prodid=32
-
Improve the IMU calibration service (#47)
- Change misleading IMU calibration log message.
- Block 2 seconds in IMU calibration handler.
* Make is_calibrated topic latched Forward-port of #41. Fixes #42.
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
imu_filter_madgwick | |
nodelet | |
phidgets_api | |
pluginlib | |
roscpp | |
roslaunch | |
sensor_msgs | |
std_msgs | |
std_srvs |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
phidgets_drivers |
Launch files
- launch/spatial.launch
- Phidgets Spatial launch file
-