00001 /* 00002 * Copyright (C) 2010, CCNY Robotics Lab 00003 * Ivan Dryanovski <ivan.dryanovski@gmail.com> 00004 * 00005 * http://robotics.ccny.cuny.edu 00006 * 00007 * Based on implementation of Madgwick's IMU and AHRS algorithms. 00008 * http://www.x-io.co.uk/node/8#open_source_ahrs_and_imu_algorithms 00009 * 00010 * 00011 * This program is free software: you can redistribute it and/or modify 00012 * it under the terms of the GNU General Public License as published by 00013 * the Free Software Foundation, either version 3 of the License, or 00014 * (at your option) any later version. 00015 * 00016 * This program is distributed in the hope that it will be useful, 00017 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00018 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00019 * GNU General Public License for more details. 00020 * 00021 * You should have received a copy of the GNU General Public License 00022 * along with this program. If not, see <http://www.gnu.org/licenses/>. 00023 */ 00024 00025 #include "imu_filter_madgwick/imu_filter_nodelet.h" 00026 #include <pluginlib/class_list_macros.h> 00027 00028 void ImuFilterNodelet::onInit() 00029 { 00030 NODELET_INFO("Initializing IMU Filter Nodelet"); 00031 00032 // TODO: Do we want the single threaded or multithreaded NH? 00033 ros::NodeHandle nh = getMTNodeHandle(); 00034 ros::NodeHandle nh_private = getMTPrivateNodeHandle(); 00035 00036 filter_.reset(new ImuFilterRos(nh, nh_private)); 00037 } 00038 00039 PLUGINLIB_DECLARE_CLASS(imu_filter_madgwick, ImuFilterNodelet, ImuFilterNodelet, nodelet::Nodelet);