romainreignier / rtimulib_ros

A small package to use the RTIMULib in ROS
31 stars 41 forks source link

mpu9250 imu->IMUInit() failed #5

Closed sujunqin123 closed 7 years ago

sujunqin123 commented 7 years ago

Hi, I want to run mpu9250 on banana pi M3 platform, I have detected mpu9250 link i2c bus 2, then I change RTIMULib.ini IMUType=6, but I fond imu->IMUInit() return fail.

I change code as follow: if (!imu->IMUInit()) { ROS_FATAL(" %s - Failed to init the IMU", FUNCTION); ROS_BREAK(); }

the result:

PARAMETERS

NODES / rtimulib_node (rtimulib_ros/rtimulib_ros)

ROS_MASTER_URI=http://localhost:11311

core service [/rosout] found process[rtimulib_node-1]: started with pid [10920] [ INFO] [1487042036.832670145]: Imu driver is now running Settings file /home/pi/my_ros_ws/src/rtimulib_ros/config/RTIMULib.ini loaded Using fusion algorithm RTQF Using min/max compass calibration Ellipsoid compass calibration not in use Accel calibration not in use Incorrect MPU9150 id 113 Using min/max compass calibration Ellipsoid compass calibration not in use Accel calibration not in use Incorrect MPU9150 id 113 [FATAL] [1487042037.161014286]: main - Failed to init the IMU [FATAL] [1487042037.161591593]: BREAKPOINT HIT file = /home/pi/my_ros_ws/src/rtimulib_ros/src/rtimulib_ros.cpp line=90

romainreignier commented 7 years ago

Hi, It seems that your issue is a RTIMULib issue and not an issue on my small wrapper for ROS. Unfortunately, RTIMULib is no longer maintained.

Did you try some example application from RTIMULib directly like RTIMULibDemo? Does it works with your IMU?

If I can find some time, I will it at home, I think U have a MPU-9250 somewhere...

romainreignier commented 7 years ago

Also, note that the MPU-9250 i2c address is 105 so you have to change it line 48 of RTIMULib.ini.

romainreignier commented 7 years ago

I have successfully tested this node with an MPU-9250 connected to an Orange Pi One running Armbian 5.32, Linux Kernel 4.11.5 on bus i2c 0. After specifying the correct i2c bus in the RTIMULib.ini file, the auto-detection from RTIMULib worked great to detect the i2c address and the IMU type. So I am closing this issue. If you still have issue with this node (and not the RTIMULib), please, re-open it.