RoboticArts / ros_imu_bno055

ROS driver for the BNO055 IMU using serial communication. Also implements configuration and calibration of the IMU
55 stars 37 forks source link

Rviz missing class definition #1

Closed gunplar closed 3 years ago

gunplar commented 3 years ago

Running 'roslaunch ros_imu_bno055 view_imu.launch' gives this log:

[INFO] [1604845464.910898]: /ros_imu_bno055_node already! [ERROR] [1604845465.273296500]: PluginlibFactory: The plugin for class 'rviz_imu_plugin/Imu' failed to load. Error: According to the loaded plugin descriptions the class rviz_imu_plugin/Imu with base class type rviz::Display does not exist. Declared types are rviz/Axes rviz/Camera rviz/DepthCloud rviz/Effort rviz/FluidPressure rviz/Grid rviz/GridCells rviz/Illuminance rviz/Image rviz/InteractiveMarkers rviz/LaserScan rviz/Map rviz/Marker rviz/MarkerArray rviz/Odometry rviz/Path rviz/PointCloud rviz/PointCloud2 rviz/PointStamped rviz/Polygon rviz/Pose rviz/PoseArray rviz/PoseWithCovariance rviz/Range rviz/RelativeHumidity rviz/RobotModel rviz/TF rviz/Temperature rviz/WrenchStamped [INFO] [1604845465.629619]: IMU successfully reset [INFO] [1604845465.841883]: Configuration mode activated [INFO] [1604845465.849518]: Units configured successfully [INFO] [1604845465.881268]: Axis configured successfully [INFO] [1604845465.884120]: Calibration not detected. IMU will use default calibration [INFO] [1604845465.913327]: INTERNAL oscillator configured successfully [INFO] [1604845466.129802]: Operation mode configured successfully [INFO] [1604845466.133281]: IMU is working now in IMU mode! I don't see a declaration of this class anywhere except in the rviz file so I don't know how to process. I appreciate any lead :D

gunplar commented 3 years ago

After a bit of searching, I found the solution. The class definition is taken from 'imu_tools' package, which I did not have, get it here. This package seems to be accepted for inclusion with future ROS distros so this may be the last time we ever encounter this issue.

RoboticArts commented 3 years ago

You're right! I had the plugin installed on all my computers and I did not realize.

However, this plugin is necessary since it is the only one that reads the quaternions to show the orientation of the IMU. There is another plugin called rviz_plugin_tutorials but it is very noisy because it uses the acceleration to show orientation.

I just added this to the documentation for everyone else, but in short to install the plugin:

Kinetic

sudo apt-get install ros-kinetic-rviz-imu-plugin

Melodic

$ sudo apt-get install ros-melodic-rviz-imu-plugin