-
 

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 humble
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

Driver for the Phidgets Spatial 3/3/3 devices

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 the imu/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 compliant imu_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 if use_orientation is set to true. Defaults to ahrs.
  • ahrs_angular_velocity_threshold (double) - Parameter for AHRS orientation estimation; Just used if use_orientation is set to true.
  • ahrs_angular_velocity_delta_threshold (double) - Parameter for AHRS orientation estimation; Just used if use_orientation is set to true.
  • ahrs_acceleration_threshold (double) - Parameter for AHRS orientation estimation; Just used if use_orientation is set to true.
  • ahrs_mag_time (double) - Parameter for AHRS orientation estimation; Just used if use_orientation is set to true.
  • ahrs_accel_time (double) - Parameter for AHRS orientation estimation; Just used if use_orientation is set to true.
  • ahrs_bias_time (double) - Parameter for AHRS orientation estimation; Just used if use_orientation is set to true.
  • algorithm_magnetometer_gain (double) - Gain of magnetometer in orientation estimation algorithm; Just used if use_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 of data_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 than data_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 the data_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

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.
  • 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)
  • phidgets_imu: Add imu_filter_madgwick dependency Closes #9.
  • Contributors: Johan M. von Behren, Martin Günther

0.7.0 (2017-02-17)

  • Publish MagneticField instead of Vector3Stamped
  • Report mag data in Tesla, not Gauss This is to conform with sensor_msgs/MagneticField, which requires the data to be in Tesla.
  • Contributors: Martin Günther

0.2.3 (2017-02-17)

  • Add IMU diagnostics (#24)
  • Set data rate after reattachment This fixes a bug where after disconnecting and reconnecting the USB cable, the data rate would be set to the default of 125 Hz (= period of 8ms). By moving the setDataRate call to the attachHandler, the data rate is correctly set after each reattachment.
  • Contributors: Mani Monajjemi, Keshav Iyengar, Martin Günther

0.2.2 (2015-03-23)

  • Merge pull request #18 from ccny-ros-pkg/libphidgets Merge libphidgets branch into indigo
  • set orientation_covariance[0] to -1 from Imu.msg: > If you have no estimate for one of the data elements (e.g. your IMU doesn't produce an orientation > estimate), please set element 0 of the associated covariance matrix to -1.
  • phidgets_imu: fixed issue #9
  • Contributors: Martin Günther, Murilo FM

0.2.1 (2015-01-15)

  • add boost depends to CMakeLists All non-catkin things that we expose in our headers should be added to the DEPENDS, so that packages which depend on our package will also automatically link against it. Also see: http://answers.ros.org/question/58498/what-is-the-purpose-of-catkin_depends/\#58593
  • improve error output when setting compass corr params The previous implementation didn't catch a number of error codes (EPHIDGET_INVALIDARG, EPHIDGET_NOTATTACHED, EPHIDGET_UNEXPECTED), and the new one is more elegant and consistent with the previous code anyway.
  • Set compass correction params on the device Tested with a Phidget Spatial 3/3/3 1044.
  • phidgets_imu: install phidgets_imu_nodelet.xml
  • phidgets_imu: not exporting nodelet as library anymore
  • Updated version, maintainer and author information
  • phidgets_imu: added install rule to launch files
  • phidgets_imu: removed unnecessary dependency
  • Deleted comments within files of all packages
  • Catkinised packages
  • Merge pull request #1 from uos/fix_imu_time_lag fix IMU time lag
  • add some hints to error message I just spent 30 minutes trying to figure out why the IMU works on one computer and doesn't on another one. Felt a little foolish when I found out that the udev rules weren't installed; maybe providing some more info in the error message helps others.
  • use ros::Time::now() if time lag exceeds threshold
  • added warning if IMU time lags behind ROS time
  • renamed rate parameter to period
  • added timestamp in imu data
  • fixed cmakelists by including lib to compile on electric
  • adding missing imu_ros h file
  • adding missing imu_ros cpp file
  • added api, imu and ir
  • initial commit
  • Contributors: Ivan Dryanovski, Martin Günther, Murilo FM

Wiki Tutorials

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

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

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

Driver for the Phidgets Spatial 3/3/3 devices

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 the imu/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 compliant imu_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 if use_orientation is set to true. Defaults to ahrs.
  • ahrs_angular_velocity_threshold (double) - Parameter for AHRS orientation estimation; Just used if use_orientation is set to true.
  • ahrs_angular_velocity_delta_threshold (double) - Parameter for AHRS orientation estimation; Just used if use_orientation is set to true.
  • ahrs_acceleration_threshold (double) - Parameter for AHRS orientation estimation; Just used if use_orientation is set to true.
  • ahrs_mag_time (double) - Parameter for AHRS orientation estimation; Just used if use_orientation is set to true.
  • ahrs_accel_time (double) - Parameter for AHRS orientation estimation; Just used if use_orientation is set to true.
  • ahrs_bias_time (double) - Parameter for AHRS orientation estimation; Just used if use_orientation is set to true.
  • algorithm_magnetometer_gain (double) - Gain of magnetometer in orientation estimation algorithm; Just used if use_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 of data_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 than data_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 the data_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

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.
  • 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)
  • phidgets_imu: Add imu_filter_madgwick dependency Closes #9.
  • Contributors: Johan M. von Behren, Martin Günther

0.7.0 (2017-02-17)

  • Publish MagneticField instead of Vector3Stamped
  • Report mag data in Tesla, not Gauss This is to conform with sensor_msgs/MagneticField, which requires the data to be in Tesla.
  • Contributors: Martin Günther

0.2.3 (2017-02-17)

  • Add IMU diagnostics (#24)
  • Set data rate after reattachment This fixes a bug where after disconnecting and reconnecting the USB cable, the data rate would be set to the default of 125 Hz (= period of 8ms). By moving the setDataRate call to the attachHandler, the data rate is correctly set after each reattachment.
  • Contributors: Mani Monajjemi, Keshav Iyengar, Martin Günther

0.2.2 (2015-03-23)

  • Merge pull request #18 from ccny-ros-pkg/libphidgets Merge libphidgets branch into indigo
  • set orientation_covariance[0] to -1 from Imu.msg: > If you have no estimate for one of the data elements (e.g. your IMU doesn't produce an orientation > estimate), please set element 0 of the associated covariance matrix to -1.
  • phidgets_imu: fixed issue #9
  • Contributors: Martin Günther, Murilo FM

0.2.1 (2015-01-15)

  • add boost depends to CMakeLists All non-catkin things that we expose in our headers should be added to the DEPENDS, so that packages which depend on our package will also automatically link against it. Also see: http://answers.ros.org/question/58498/what-is-the-purpose-of-catkin_depends/\#58593
  • improve error output when setting compass corr params The previous implementation didn't catch a number of error codes (EPHIDGET_INVALIDARG, EPHIDGET_NOTATTACHED, EPHIDGET_UNEXPECTED), and the new one is more elegant and consistent with the previous code anyway.
  • Set compass correction params on the device Tested with a Phidget Spatial 3/3/3 1044.
  • phidgets_imu: install phidgets_imu_nodelet.xml
  • phidgets_imu: not exporting nodelet as library anymore
  • Updated version, maintainer and author information
  • phidgets_imu: added install rule to launch files
  • phidgets_imu: removed unnecessary dependency
  • Deleted comments within files of all packages
  • Catkinised packages
  • Merge pull request #1 from uos/fix_imu_time_lag fix IMU time lag
  • add some hints to error message I just spent 30 minutes trying to figure out why the IMU works on one computer and doesn't on another one. Felt a little foolish when I found out that the udev rules weren't installed; maybe providing some more info in the error message helps others.
  • use ros::Time::now() if time lag exceeds threshold
  • added warning if IMU time lags behind ROS time
  • renamed rate parameter to period
  • added timestamp in imu data
  • fixed cmakelists by including lib to compile on electric
  • adding missing imu_ros h file
  • adding missing imu_ros cpp file
  • added api, imu and ir
  • initial commit
  • Contributors: Ivan Dryanovski, Martin Günther, Murilo FM

Wiki Tutorials

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

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

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 rolling
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

Driver for the Phidgets Spatial 3/3/3 devices

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 the imu/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 compliant imu_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 if use_orientation is set to true. Defaults to ahrs.
  • ahrs_angular_velocity_threshold (double) - Parameter for AHRS orientation estimation; Just used if use_orientation is set to true.
  • ahrs_angular_velocity_delta_threshold (double) - Parameter for AHRS orientation estimation; Just used if use_orientation is set to true.
  • ahrs_acceleration_threshold (double) - Parameter for AHRS orientation estimation; Just used if use_orientation is set to true.
  • ahrs_mag_time (double) - Parameter for AHRS orientation estimation; Just used if use_orientation is set to true.
  • ahrs_accel_time (double) - Parameter for AHRS orientation estimation; Just used if use_orientation is set to true.
  • ahrs_bias_time (double) - Parameter for AHRS orientation estimation; Just used if use_orientation is set to true.
  • algorithm_magnetometer_gain (double) - Gain of magnetometer in orientation estimation algorithm; Just used if use_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 of data_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 than data_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 the data_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

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.
  • 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)
  • phidgets_imu: Add imu_filter_madgwick dependency Closes #9.
  • Contributors: Johan M. von Behren, Martin Günther

0.7.0 (2017-02-17)

  • Publish MagneticField instead of Vector3Stamped
  • Report mag data in Tesla, not Gauss This is to conform with sensor_msgs/MagneticField, which requires the data to be in Tesla.
  • Contributors: Martin Günther

0.2.3 (2017-02-17)

  • Add IMU diagnostics (#24)
  • Set data rate after reattachment This fixes a bug where after disconnecting and reconnecting the USB cable, the data rate would be set to the default of 125 Hz (= period of 8ms). By moving the setDataRate call to the attachHandler, the data rate is correctly set after each reattachment.
  • Contributors: Mani Monajjemi, Keshav Iyengar, Martin Günther

0.2.2 (2015-03-23)

  • Merge pull request #18 from ccny-ros-pkg/libphidgets Merge libphidgets branch into indigo
  • set orientation_covariance[0] to -1 from Imu.msg: > If you have no estimate for one of the data elements (e.g. your IMU doesn't produce an orientation > estimate), please set element 0 of the associated covariance matrix to -1.
  • phidgets_imu: fixed issue #9
  • Contributors: Martin Günther, Murilo FM

0.2.1 (2015-01-15)

  • add boost depends to CMakeLists All non-catkin things that we expose in our headers should be added to the DEPENDS, so that packages which depend on our package will also automatically link against it. Also see: http://answers.ros.org/question/58498/what-is-the-purpose-of-catkin_depends/\#58593
  • improve error output when setting compass corr params The previous implementation didn't catch a number of error codes (EPHIDGET_INVALIDARG, EPHIDGET_NOTATTACHED, EPHIDGET_UNEXPECTED), and the new one is more elegant and consistent with the previous code anyway.
  • Set compass correction params on the device Tested with a Phidget Spatial 3/3/3 1044.
  • phidgets_imu: install phidgets_imu_nodelet.xml
  • phidgets_imu: not exporting nodelet as library anymore
  • Updated version, maintainer and author information
  • phidgets_imu: added install rule to launch files
  • phidgets_imu: removed unnecessary dependency
  • Deleted comments within files of all packages
  • Catkinised packages
  • Merge pull request #1 from uos/fix_imu_time_lag fix IMU time lag
  • add some hints to error message I just spent 30 minutes trying to figure out why the IMU works on one computer and doesn't on another one. Felt a little foolish when I found out that the udev rules weren't installed; maybe providing some more info in the error message helps others.
  • use ros::Time::now() if time lag exceeds threshold
  • added warning if IMU time lags behind ROS time
  • renamed rate parameter to period
  • added timestamp in imu data
  • fixed cmakelists by including lib to compile on electric
  • adding missing imu_ros h file
  • adding missing imu_ros cpp file
  • added api, imu and ir
  • initial commit
  • Contributors: Ivan Dryanovski, Martin Günther, Murilo FM

Wiki Tutorials

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

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

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 rolling
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

Driver for the Phidgets Spatial 3/3/3 devices

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 the imu/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 compliant imu_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 if use_orientation is set to true. Defaults to ahrs.
  • ahrs_angular_velocity_threshold (double) - Parameter for AHRS orientation estimation; Just used if use_orientation is set to true.
  • ahrs_angular_velocity_delta_threshold (double) - Parameter for AHRS orientation estimation; Just used if use_orientation is set to true.
  • ahrs_acceleration_threshold (double) - Parameter for AHRS orientation estimation; Just used if use_orientation is set to true.
  • ahrs_mag_time (double) - Parameter for AHRS orientation estimation; Just used if use_orientation is set to true.
  • ahrs_accel_time (double) - Parameter for AHRS orientation estimation; Just used if use_orientation is set to true.
  • ahrs_bias_time (double) - Parameter for AHRS orientation estimation; Just used if use_orientation is set to true.
  • algorithm_magnetometer_gain (double) - Gain of magnetometer in orientation estimation algorithm; Just used if use_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 of data_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 than data_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 the data_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

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.
  • 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)
  • phidgets_imu: Add imu_filter_madgwick dependency Closes #9.
  • Contributors: Johan M. von Behren, Martin Günther

0.7.0 (2017-02-17)

  • Publish MagneticField instead of Vector3Stamped
  • Report mag data in Tesla, not Gauss This is to conform with sensor_msgs/MagneticField, which requires the data to be in Tesla.
  • Contributors: Martin Günther

0.2.3 (2017-02-17)

  • Add IMU diagnostics (#24)
  • Set data rate after reattachment This fixes a bug where after disconnecting and reconnecting the USB cable, the data rate would be set to the default of 125 Hz (= period of 8ms). By moving the setDataRate call to the attachHandler, the data rate is correctly set after each reattachment.
  • Contributors: Mani Monajjemi, Keshav Iyengar, Martin Günther

0.2.2 (2015-03-23)

  • Merge pull request #18 from ccny-ros-pkg/libphidgets Merge libphidgets branch into indigo
  • set orientation_covariance[0] to -1 from Imu.msg: > If you have no estimate for one of the data elements (e.g. your IMU doesn't produce an orientation > estimate), please set element 0 of the associated covariance matrix to -1.
  • phidgets_imu: fixed issue #9
  • Contributors: Martin Günther, Murilo FM

0.2.1 (2015-01-15)

  • add boost depends to CMakeLists All non-catkin things that we expose in our headers should be added to the DEPENDS, so that packages which depend on our package will also automatically link against it. Also see: http://answers.ros.org/question/58498/what-is-the-purpose-of-catkin_depends/\#58593
  • improve error output when setting compass corr params The previous implementation didn't catch a number of error codes (EPHIDGET_INVALIDARG, EPHIDGET_NOTATTACHED, EPHIDGET_UNEXPECTED), and the new one is more elegant and consistent with the previous code anyway.
  • Set compass correction params on the device Tested with a Phidget Spatial 3/3/3 1044.
  • phidgets_imu: install phidgets_imu_nodelet.xml
  • phidgets_imu: not exporting nodelet as library anymore
  • Updated version, maintainer and author information
  • phidgets_imu: added install rule to launch files
  • phidgets_imu: removed unnecessary dependency
  • Deleted comments within files of all packages
  • Catkinised packages
  • Merge pull request #1 from uos/fix_imu_time_lag fix IMU time lag
  • add some hints to error message I just spent 30 minutes trying to figure out why the IMU works on one computer and doesn't on another one. Felt a little foolish when I found out that the udev rules weren't installed; maybe providing some more info in the error message helps others.
  • use ros::Time::now() if time lag exceeds threshold
  • added warning if IMU time lags behind ROS time
  • renamed rate parameter to period
  • added timestamp in imu data
  • fixed cmakelists by including lib to compile on electric
  • adding missing imu_ros h file
  • adding missing imu_ros cpp file
  • added api, imu and ir
  • initial commit
  • Contributors: Ivan Dryanovski, Martin Günther, Murilo FM

Wiki Tutorials

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

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged phidgets_spatial at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 1.0.9
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 2024-04-26
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

Driver for the Phidgets Spatial 3/3/3 devices

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 the imu/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 compliant imu_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 if use_orientation is set to true. Defaults to ahrs.
  • ahrs_angular_velocity_threshold (double) - Parameter for AHRS orientation estimation; Just used if use_orientation is set to true.
  • ahrs_angular_velocity_delta_threshold (double) - Parameter for AHRS orientation estimation; Just used if use_orientation is set to true.
  • ahrs_acceleration_threshold (double) - Parameter for AHRS orientation estimation; Just used if use_orientation is set to true.
  • ahrs_mag_time (double) - Parameter for AHRS orientation estimation; Just used if use_orientation is set to true.
  • ahrs_accel_time (double) - Parameter for AHRS orientation estimation; Just used if use_orientation is set to true.
  • ahrs_bias_time (double) - Parameter for AHRS orientation estimation; Just used if use_orientation is set to true.
  • algorithm_magnetometer_gain (double) - Gain of magnetometer in orientation estimation algorithm; Just used if use_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 of data_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 than data_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 the data_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

Changelog for package phidgets_imu

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.

  • Update maintainers in package.xml
  • Merge pull request #39 from clalancette/add-libphidget22 Switch to libphidget22
  • Resynchronize the times at periodic intervals.
  • Add launch files for all drivers.
  • Add in try/catch blocks for connecting. If an error occurs, we catch it, print it, then re-throw it. This allows us to show a better error when using nodelets.
  • Fixes from review.
  • Documentation updates to README.md
  • Set the publish_rate to 0 by default. This means we will only publish on changes.
  • 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)
  • phidgets_imu: Add imu_filter_madgwick dependency Closes #9.
  • Contributors: Johan M. von Behren, Martin Günther

0.7.0 (2017-02-17)

  • Publish MagneticField instead of Vector3Stamped
  • Report mag data in Tesla, not Gauss This is to conform with sensor_msgs/MagneticField, which requires the data to be in Tesla.
  • Contributors: Martin Günther

0.2.3 (2017-02-17)

  • Add IMU diagnostics (#24)
  • Set data rate after reattachment This fixes a bug where after disconnecting and reconnecting the USB cable, the data rate would be set to the default of 125 Hz (= period of 8ms). By moving the setDataRate call to the attachHandler, the data rate is correctly set after each reattachment.
  • Contributors: Mani Monajjemi, Keshav Iyengar, Martin Günther

0.2.2 (2015-03-23)

  • Merge pull request #18 from ccny-ros-pkg/libphidgets Merge libphidgets branch into indigo
  • set orientation_covariance[0] to -1 from Imu.msg: > If you have no estimate for one of the data elements (e.g. your IMU doesn't produce an orientation > estimate), please set element 0 of the associated covariance matrix to -1.
  • phidgets_imu: fixed issue #9
  • Contributors: Martin Günther, Murilo FM

0.2.1 (2015-01-15)

  • add boost depends to CMakeLists All non-catkin things that we expose in our headers should be added to the DEPENDS, so that packages which depend on our package will also automatically link against it. Also see: http://answers.ros.org/question/58498/what-is-the-purpose-of-catkin_depends/\#58593
  • improve error output when setting compass corr params The previous implementation didn't catch a number of error codes (EPHIDGET_INVALIDARG, EPHIDGET_NOTATTACHED, EPHIDGET_UNEXPECTED), and the new one is more elegant and consistent with the previous code anyway.
  • Set compass correction params on the device Tested with a Phidget Spatial 3/3/3 1044.
  • phidgets_imu: install phidgets_imu_nodelet.xml
  • phidgets_imu: not exporting nodelet as library anymore
  • Updated version, maintainer and author information
  • phidgets_imu: added install rule to launch files
  • phidgets_imu: removed unnecessary dependency
  • Deleted comments within files of all packages
  • Catkinised packages
  • Merge pull request #1 from uos/fix_imu_time_lag fix IMU time lag
  • add some hints to error message I just spent 30 minutes trying to figure out why the IMU works on one computer and doesn't on another one. Felt a little foolish when I found out that the udev rules weren't installed; maybe providing some more info in the error message helps others.
  • use ros::Time::now() if time lag exceeds threshold
  • added warning if IMU time lags behind ROS time
  • renamed rate parameter to period
  • added timestamp in imu data
  • fixed cmakelists by including lib to compile on electric
  • adding missing imu_ros h file
  • adding missing imu_ros cpp file
  • added api, imu and ir
  • initial commit
  • Contributors: Ivan Dryanovski, Martin Günther, Murilo FM

Wiki Tutorials

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

Dependant Packages

Launch files

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged phidgets_spatial at Robotics Stack Exchange

No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.

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

Driver for the Phidgets Spatial 3/3/3 devices

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 the imu/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 compliant imu_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 of data_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 than data_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 the data_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

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)
  • phidgets_imu: Add imu_filter_madgwick dependency Closes #9.
  • Contributors: Johan M. von Behren, Martin Günther

0.7.0 (2017-02-17)

  • Publish MagneticField instead of Vector3Stamped
  • Report mag data in Tesla, not Gauss This is to conform with sensor_msgs/MagneticField, which requires the data to be in Tesla.
  • Contributors: Martin Günther

0.2.3 (2017-02-17)

  • Add IMU diagnostics (#24)
  • Set data rate after reattachment This fixes a bug where after disconnecting and reconnecting the USB cable, the data rate would be set to the default of 125 Hz (= period of 8ms). By moving the setDataRate call to the attachHandler, the data rate is correctly set after each reattachment.
  • Contributors: Mani Monajjemi, Keshav Iyengar, Martin Günther

0.2.2 (2015-03-23)

  • Merge pull request #18 from ccny-ros-pkg/libphidgets Merge libphidgets branch into indigo
  • set orientation_covariance[0] to -1 from Imu.msg: > If you have no estimate for one of the data elements (e.g. your IMU doesn't produce an orientation > estimate), please set element 0 of the associated covariance matrix to -1.
  • phidgets_imu: fixed issue #9
  • Contributors: Martin Günther, Murilo FM

0.2.1 (2015-01-15)

  • add boost depends to CMakeLists All non-catkin things that we expose in our headers should be added to the DEPENDS, so that packages which depend on our package will also automatically link against it. Also see: http://answers.ros.org/question/58498/what-is-the-purpose-of-catkin_depends/\#58593
  • improve error output when setting compass corr params The previous implementation didn't catch a number of error codes (EPHIDGET_INVALIDARG, EPHIDGET_NOTATTACHED, EPHIDGET_UNEXPECTED), and the new one is more elegant and consistent with the previous code anyway.
  • Set compass correction params on the device Tested with a Phidget Spatial 3/3/3 1044.
  • phidgets_imu: install phidgets_imu_nodelet.xml
  • phidgets_imu: not exporting nodelet as library anymore
  • Updated version, maintainer and author information
  • phidgets_imu: added install rule to launch files
  • phidgets_imu: removed unnecessary dependency
  • Deleted comments within files of all packages
  • Catkinised packages
  • Merge pull request #1 from uos/fix_imu_time_lag fix IMU time lag
  • add some hints to error message I just spent 30 minutes trying to figure out why the IMU works on one computer and doesn't on another one. Felt a little foolish when I found out that the udev rules weren't installed; maybe providing some more info in the error message helps others.
  • use ros::Time::now() if time lag exceeds threshold
  • added warning if IMU time lags behind ROS time
  • renamed rate parameter to period
  • added timestamp in imu data
  • fixed cmakelists by including lib to compile on electric
  • adding missing imu_ros h file
  • adding missing imu_ros cpp file
  • added api, imu and ir
  • initial commit
  • Contributors: Ivan Dryanovski, Martin Günther, Murilo FM

Wiki Tutorials

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

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

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

Driver for the Phidgets Spatial 3/3/3 devices

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 the imu/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 compliant imu_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 of data_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 than data_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 the data_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

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)
  • phidgets_imu: Add imu_filter_madgwick dependency Closes #9.
  • Contributors: Johan M. von Behren, Martin Günther

0.7.0 (2017-02-17)

  • Publish MagneticField instead of Vector3Stamped
  • Report mag data in Tesla, not Gauss This is to conform with sensor_msgs/MagneticField, which requires the data to be in Tesla.
  • Contributors: Martin Günther

0.2.3 (2017-02-17)

  • Add IMU diagnostics (#24)
  • Set data rate after reattachment This fixes a bug where after disconnecting and reconnecting the USB cable, the data rate would be set to the default of 125 Hz (= period of 8ms). By moving the setDataRate call to the attachHandler, the data rate is correctly set after each reattachment.
  • Contributors: Mani Monajjemi, Keshav Iyengar, Martin Günther

0.2.2 (2015-03-23)

  • Merge pull request #18 from ccny-ros-pkg/libphidgets Merge libphidgets branch into indigo
  • set orientation_covariance[0] to -1 from Imu.msg: > If you have no estimate for one of the data elements (e.g. your IMU doesn't produce an orientation > estimate), please set element 0 of the associated covariance matrix to -1.
  • phidgets_imu: fixed issue #9
  • Contributors: Martin Günther, Murilo FM

0.2.1 (2015-01-15)

  • add boost depends to CMakeLists All non-catkin things that we expose in our headers should be added to the DEPENDS, so that packages which depend on our package will also automatically link against it. Also see: http://answers.ros.org/question/58498/what-is-the-purpose-of-catkin_depends/\#58593
  • improve error output when setting compass corr params The previous implementation didn't catch a number of error codes (EPHIDGET_INVALIDARG, EPHIDGET_NOTATTACHED, EPHIDGET_UNEXPECTED), and the new one is more elegant and consistent with the previous code anyway.
  • Set compass correction params on the device Tested with a Phidget Spatial 3/3/3 1044.
  • phidgets_imu: install phidgets_imu_nodelet.xml
  • phidgets_imu: not exporting nodelet as library anymore
  • Updated version, maintainer and author information
  • phidgets_imu: added install rule to launch files
  • phidgets_imu: removed unnecessary dependency
  • Deleted comments within files of all packages
  • Catkinised packages
  • Merge pull request #1 from uos/fix_imu_time_lag fix IMU time lag
  • add some hints to error message I just spent 30 minutes trying to figure out why the IMU works on one computer and doesn't on another one. Felt a little foolish when I found out that the udev rules weren't installed; maybe providing some more info in the error message helps others.
  • use ros::Time::now() if time lag exceeds threshold
  • added warning if IMU time lags behind ROS time
  • renamed rate parameter to period
  • added timestamp in imu data
  • fixed cmakelists by including lib to compile on electric
  • adding missing imu_ros h file
  • adding missing imu_ros cpp file
  • added api, imu and ir
  • initial commit
  • Contributors: Ivan Dryanovski, Martin Günther, Murilo FM

Wiki Tutorials

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

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

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

Driver for the Phidgets Spatial 3/3/3 devices

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 the imu/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 compliant imu_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 of data_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 than data_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 the data_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

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

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)
  • phidgets_imu: Add imu_filter_madgwick dependency Closes #9.
  • Contributors: Johan M. von Behren, Martin Günther

0.7.0 (2017-02-17)

  • Publish MagneticField instead of Vector3Stamped
  • Report mag data in Tesla, not Gauss This is to conform with sensor_msgs/MagneticField, which requires the data to be in Tesla.
  • Contributors: Martin Günther

0.2.3 (2017-02-17)

  • Add IMU diagnostics (#24)
  • Set data rate after reattachment This fixes a bug where after disconnecting and reconnecting the USB cable, the data rate would be set to the default of 125 Hz (= period of 8ms). By moving the setDataRate call to the attachHandler, the data rate is correctly set after each reattachment.
  • Contributors: Mani Monajjemi, Keshav Iyengar, Martin Günther

0.2.2 (2015-03-23)

  • Merge pull request #18 from ccny-ros-pkg/libphidgets Merge libphidgets branch into indigo
  • set orientation_covariance[0] to -1 from Imu.msg: > If you have no estimate for one of the data elements (e.g. your IMU doesn't produce an orientation > estimate), please set element 0 of the associated covariance matrix to -1.
  • phidgets_imu: fixed issue #9
  • Contributors: Martin Günther, Murilo FM

0.2.1 (2015-01-15)

  • add boost depends to CMakeLists All non-catkin things that we expose in our headers should be added to the DEPENDS, so that packages which depend on our package will also automatically link against it. Also see: http://answers.ros.org/question/58498/what-is-the-purpose-of-catkin_depends/\#58593
  • improve error output when setting compass corr params The previous implementation didn't catch a number of error codes (EPHIDGET_INVALIDARG, EPHIDGET_NOTATTACHED, EPHIDGET_UNEXPECTED), and the new one is more elegant and consistent with the previous code anyway.
  • Set compass correction params on the device Tested with a Phidget Spatial 3/3/3 1044.
  • phidgets_imu: install phidgets_imu_nodelet.xml
  • phidgets_imu: not exporting nodelet as library anymore
  • Updated version, maintainer and author information
  • phidgets_imu: added install rule to launch files
  • phidgets_imu: removed unnecessary dependency
  • Deleted comments within files of all packages
  • Catkinised packages
  • Merge pull request #1 from uos/fix_imu_time_lag fix IMU time lag
  • add some hints to error message I just spent 30 minutes trying to figure out why the IMU works on one computer and doesn't on another one. Felt a little foolish when I found out that the udev rules weren't installed; maybe providing some more info in the error message helps others.
  • use ros::Time::now() if time lag exceeds threshold
  • added warning if IMU time lags behind ROS time
  • renamed rate parameter to period
  • added timestamp in imu data
  • fixed cmakelists by including lib to compile on electric
  • adding missing imu_ros h file
  • adding missing imu_ros cpp file
  • added api, imu and ir
  • initial commit
  • Contributors: Ivan Dryanovski, Martin Günther, Murilo FM

Wiki Tutorials

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

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

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

Driver for the Phidgets Spatial 3/3/3 devices

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 the imu/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 compliant imu_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 of data_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 than data_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 the data_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

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 (#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)
  • phidgets_imu: Add imu_filter_madgwick dependency Closes #9.
  • Contributors: Johan M. von Behren, Martin Günther

0.7.0 (2017-02-17)

  • Publish MagneticField instead of Vector3Stamped
  • Report mag data in Tesla, not Gauss This is to conform with sensor_msgs/MagneticField, which requires the data to be in Tesla.
  • Contributors: Martin Günther

0.2.3 (2017-02-17)

  • Add IMU diagnostics (#24)
  • Set data rate after reattachment This fixes a bug where after disconnecting and reconnecting the USB cable, the data rate would be set to the default of 125 Hz (= period of 8ms). By moving the setDataRate call to the attachHandler, the data rate is correctly set after each reattachment.
  • Contributors: Mani Monajjemi, Keshav Iyengar, Martin Günther

0.2.2 (2015-03-23)

  • Merge pull request #18 from ccny-ros-pkg/libphidgets Merge libphidgets branch into indigo
  • set orientation_covariance[0] to -1 from Imu.msg: > If you have no estimate for one of the data elements (e.g. your IMU doesn't produce an orientation > estimate), please set element 0 of the associated covariance matrix to -1.
  • phidgets_imu: fixed issue #9
  • Contributors: Martin Günther, Murilo FM

0.2.1 (2015-01-15)

  • add boost depends to CMakeLists All non-catkin things that we expose in our headers should be added to the DEPENDS, so that packages which depend on our package will also automatically link against it. Also see: http://answers.ros.org/question/58498/what-is-the-purpose-of-catkin_depends/\#58593
  • improve error output when setting compass corr params The previous implementation didn't catch a number of error codes (EPHIDGET_INVALIDARG, EPHIDGET_NOTATTACHED, EPHIDGET_UNEXPECTED), and the new one is more elegant and consistent with the previous code anyway.
  • Set compass correction params on the device Tested with a Phidget Spatial 3/3/3 1044.
  • phidgets_imu: install phidgets_imu_nodelet.xml
  • phidgets_imu: not exporting nodelet as library anymore
  • Updated version, maintainer and author information
  • phidgets_imu: added install rule to launch files
  • phidgets_imu: removed unnecessary dependency
  • Deleted comments within files of all packages
  • Catkinised packages
  • Merge pull request #1 from uos/fix_imu_time_lag fix IMU time lag
  • add some hints to error message I just spent 30 minutes trying to figure out why the IMU works on one computer and doesn't on another one. Felt a little foolish when I found out that the udev rules weren't installed; maybe providing some more info in the error message helps others.
  • use ros::Time::now() if time lag exceeds threshold
  • added warning if IMU time lags behind ROS time
  • renamed rate parameter to period
  • added timestamp in imu data
  • fixed cmakelists by including lib to compile on electric
  • adding missing imu_ros h file
  • adding missing imu_ros cpp file
  • added api, imu and ir
  • initial commit
  • Contributors: Ivan Dryanovski, Martin Günther, Murilo FM

Wiki Tutorials

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

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged phidgets_spatial at Robotics Stack Exchange

No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.
No version for distro kinetic. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.