/************************TRICK HEADER************************* PURPOSE: ( Simulate kinematic, planar 2 degree-of-freedom manipulator ) LIBRARY DEPENDENCIES: ( (manipulator/manipulator.cc) ) *************************************************************/ #define TRICK_NO_MONTE_CARLO #define TRICK_NO_MASTERSLAVE #define TRICK_NO_INSTRUMENTATION #define TRICK_NO_REALTIMEINJECTOR #define TRICK_NO_ZEROCONF #include "sim_objects/default_trick_sys.sm" ##include "include/trick/exec_proto.h" ##include "manipulator/manipulator.hh" class ManipulatorSimObject : public Trick::SimObject { public: PlanarManip robot; ManipulatorSimObject(int ndof): robot(ndof) { (0.050, "scheduled") robot.calcKinematics(); (0.050, "scheduled") robot.control(); ("derivative") robot.stateDeriv(); ("integration") trick_ret = robot.updateState(); } }; ManipulatorSimObject Manip2D(2); IntegLoop armIntegLoop(0.050) Manip2D;