{
node_=node;
frameId_=frameId;
+
+ accel_.setZero();
+ gyro_.setZero();
+
+ accelCovariance_.setZero();
+ gyroCovariance_.setZero();
+
imuAvailable=false;
magAvailable=false;
+
imuSubscriber_=node_.subscribe("imu/data_raw",10,&EkfNode::imuCB,this);
magSubscriber_=node_.subscribe("imu/mag",10,&EkfNode::magCB,this);
imuPublisher_=node_.advertise<sensor_msgs::Imu>("imu/data",10);
-
+
Eigen::Quaterniond q0;
q0.setIdentity();
Pv=diag.asDiagonal();
}
else Pv*=1e-3*1e-3;
-
+
const double T=0.02; // 0.01 is too fast for an UART at 115200 bps
ekf=new imufusion::Ekf(Pw,Pv,T,100);
if(argc != 2)
{
- ROS_ERROR_STREAM("ekf: No base frame id.\n");
+ ROS_ERROR_STREAM("ekf: No frame id.\n");
return -1;
}