int main(int argc, char** argv) { ros::init(argc, argv, APPLICATION_NAME); // Override the default ros sigint handler. // This must be set after the first NodeHandle is created. signal(SIGINT, mySigintHandler); ros::NodeHandle nh; // ros::CallbackQueue queue; // nh.setCallbackQueue(&queue); // Allow the action server to recieve and send ros messages ros::AsyncSpinner spinner(4); spinner.start(); // To create publisher and subscriber... do we really need this node here?? // ros::NodeHandle nodeHandle; std::cout << "Before MyRobot"<< std::endl; MyRobot robot; if(!robot.init() ) { std::cout << "Error initializing robot model, quitting" << std::endl; return -1; } controller_manager::ControllerManager cm(&robot, nh); ros::Duration elapsed_time_(1,0); while (ros::ok()) { std::cout << "Updating stuff" << std::endl; robot.read(); cm.update(ros::Time::now(), elapsed_time_); robot.write(); sleep(1); ros::spinOnce(); } return 0; }