42 #include <rosgraph_msgs/Clock.h> 43 #include <std_msgs/Float64.h> 46 #include <controller_manager/controller_manager.h> 55 static constexpr
double period = 0.01;
76 pos_ += period *
vel_ + 0.5*std::pow(period, 2.0) *
eff_;
97 int main(
int argc,
char **argv)
104 controller_manager::ControllerManager cm(&bot, nh);
110 double sim_time = 0.0;
114 auto begin = std::chrono::system_clock::now();
118 auto end = std::chrono::system_clock::now();
119 double elapsed = std::chrono::duration_cast<std::chrono::duration<double> >((end - begin)).count();
121 std::this_thread::sleep_for(std::chrono::duration<double>(bot.
period - elapsed));
122 rosgraph_msgs::Clock clock;
124 clock_publisher.
publish(clock);
void registerInterface(T *iface)
hardware_interface::EffortJointInterface effort_interface_
hardware_interface::JointStateInterface state_interface_
ROSCPP_DECL void init(int &argc, char **argv, const std::string &name, uint32_t options=0)
int main(int argc, char **argv)
void publish(const boost::shared_ptr< M > &message) const
Publisher advertise(const std::string &topic, uint32_t queue_size, bool latch=false)
void registerHandle(const JointStateHandle &handle)
JointStateHandle getHandle(const std::string &name)
void setParam(const std::string &key, const XmlRpc::XmlRpcValue &v) const
static constexpr double period