]> defiant.homedns.org Git - wt_open_manipulator.git/blob - src/wt_open_manipulator_node.cpp
7200361bba557538e7c58c898a1d1893f7105e93
[wt_open_manipulator.git] / src / wt_open_manipulator_node.cpp
1 #include "ros/ros.h"
2 #include "open_manipulator_i2c.h"
3 #include "controller_manager/controller_manager.h"
4
5 int main(int argc, char **argv) {
6         ros::init(argc, argv, "wt_open_manipulator_i2c");
7
8         ros::NodeHandle nh("~");
9
10         WtOpenManipulatorI2C robot(nh);
11         controller_manager::ControllerManager cm(&robot);
12
13         ros::AsyncSpinner spinner(1);
14         spinner.start();
15
16         ros::Time prev_time = ros::Time::now();
17         ros::Rate loop_rate(10);
18         while(ros::ok()) {
19                 const ros::Time time = ros::Time::now();
20                 const ros::Duration period = time - prev_time;
21
22                 robot.read(period);
23                 cm.update(time, period);
24                 robot.write();
25
26                 prev_time = time;
27                 loop_rate.sleep();
28         }
29         spinner.stop();
30
31         return 0;
32 }