Open NR-Daichi opened 6 months ago
What exact phidgets device are you using? What versions of this repo and libphidgets are you using in ROS2 and ROS1? What is your ROS2 version?
I guess that the reason for this bug is that your phidgets device is pretty new, and that your ROS1 setup uses a newer libphidgets than your ROS2 setup (which still has a libphidgets version that doesn't support your device yet).
I thought I had fixed this recently. I'm traveling right now, so I cannot check. Also there was a similar issue recently, just search the closed issues.
-- Sent from my phone. Short. Typos.
Am 15.05.2024 15:15 schrieb NR-Daichi @.***>:
ros2 launch phidgets_spatial spatial-launch.py
with the above command, it successfully fires up node and publish imu/data_raw, imu/is_calibrated, and imu/mag. However it does not publish imu/data topic. Moreover, it shows the following errors if I set spatial_algorithm as ahrs. So I have to set it as imu.
ros2 launch phidgets_spatial spatial-launch.py [INFO] [launch]: All log files can be found below /home/nr_daichi/.ros/log/2024-05-15-15-12-43-587291-ronot-40085 [INFO] [launch]: Default logging verbosity is set to INFO [INFO] [component_container-1]: process started with pid [40097] [component_container-1] [INFO] [1715778763.910926202] [phidget_container]: Load Library: /home/nr_daichi/ros2_ws/install/phidgets_spatial/lib/libphidgets_spatial.so [component_container-1] [INFO] [1715778763.912989127] [phidget_container]: Found class: rclcpp_components::NodeFactoryTemplate
But with ununtu 20.04, it publishes topic imu/data and it has estimated orientation
— Reply to this email directly, view it on GitHubhttps://github.com/ros-drivers/phidgets_drivers/issues/183, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AACOFPFSXSQF4XSVF4RQKN3ZCNNWLAVCNFSM6AAAAABHYE2KLSVHI2DSMVQWIX3LMV43ASLTON2WKOZSGI4TOOBYGM2TMMQ. You are receiving this because you are subscribed to this thread.Message ID: @.***>
Related issues: #162, #159
One more tip: make sure that the /imu/data topic on Noetic is actually published directly by the phidgets_spatial node and not using the imu_filter_madgwick.
It's my apologizes that I omitted information. The followings are my set up:
IMU: PhidgetSpatial 3/3/3 Basic 1042_0 ROS2: Humble with Ubuntu 22.04 + humble branch of this rep (https://github.com/ros-drivers/phidgets_drivers/tree/humble) ROS1: Noetic with Ubuntu 20.04 + noetic branch of this rep
Additionally, I installed it from source because the one I installed from package did not work. Is there any possibility that I am missing some dependencies?
Your device (PhidgetSpatial 3/3/3 Basic 1042_0) doesn't support onboard orientation estimation. You can see that if you check the C API: https://www.phidgets.com/?prodid=1025#Tab_API
For your device, PhidgetSpatial_getAlgorithm()
has a constant output of Constant: SPATIAL_ALGORITHM_NONE
, and the function PhidgetSpatial_setAlgorithm()
is missing. Compare that to the PhidgetSpatial Precision 3/3/3 MOT0110_0, which has that function: https://www.phidgets.com/?prodid=1205#Tab_API
This explains the error message that you're getting:
[component_container-1] [ERROR] [1715778765.923026648] [phidgets_spatial]: Spatial: Failed to set spatial algorithm: Operation Not Supported
However, you can still use your device! On ROS1 Noetic it works because it doesn't use the onboard orientation estimation. Instead it uses imu_filter_madgwick
to estimate the orientation.
You can do the same on ROS2: https://github.com/CCNYRoboticsLab/imu_tools/tree/humble
Thank you for your help.
ros2 launch phidgets_spatial spatial-launch.py
with the above command, it successfully fires up node and publish imu/data_raw, imu/is_calibrated, and imu/mag. However it does not publish imu/data topic. Moreover, it shows the following errors if I set spatial_algorithm as ahrs. So I have to set it as imu.
But with ununtu 20.04, it publishes topic imu/data and it has estimated orientation