8 #include <boost/thread/thread.hpp>
12 using namespace mujinclient;
14 int main(
int argc,
char ** argv)
17 std::cout <<
"need username:password. Example: mujinclienttest myuser:mypass [url]\n\nurl - [optional] For example https://controller.mujin.co.jp/" << std::endl;
28 else if( argc == 3 ) {
34 std::cout <<
"connected to controller v" << controller->GetVersion() << std::endl;
36 std::string sceneuri =
"mujin:/densowave_wincaps_data/vs060a3_test0.mujin.dae";
37 std::string scenepk = controller->GetScenePrimaryKeyFromURI_UTF8(sceneuri);
45 scene = controller->ImportSceneToCOLLADA_UTF8(
"mujin:/densowave_wincaps_data/vs060a3_test0/test0.WPJ",
"wincaps", sceneuri);
48 TaskResourcePtr task = scene->GetOrCreateTaskFromName_UTF8(
"task0",
"itlplanning");
53 move(translation(0,0,20)*p[Work0/2])\n\
55 movel(translation(0,0,20)*p[Work0/2])\n\
56 move(translation(0,0,20)*p[Work0/3])\n\
58 movel(translation(0,0,20)*p[Work0/3])\n\
59 move(translation(0,0,20)*p[Work0/1])\n\
61 movel(translation(0,0,20)*p[Work0/1])\n\
62 move(translation(0,0,20)*p[Work0/3])\n\
65 task->SetTaskParameters(info);
68 controller->CancelAllJobs();
72 std::cout <<
"waiting for task result" << std::endl;
77 int iterations = 0, maxiterations = 4000;
79 result = task->GetResult();
88 boost::this_thread::sleep(boost::posix_time::milliseconds(1000));
90 if( iterations > maxiterations ) {
91 controller->CancelAllJobs();
97 result->GetPrograms(programs);
98 std::cout <<
"found " << programs.
programs.size() <<
" programs" << std::endl;
99 for(std::map<std::string, RobotProgramData>::iterator it = programs.
programs.begin(); it != programs.
programs.end(); ++it ) {
100 std::cout <<
"[" << it->first <<
"]" << std::endl << it->second.programdata << std::endl << std::endl;
102 std::cout <<
"final task_time is " << result->Get(
"task_time") << std::endl;
105 std::cout <<
"exception thrown: " << ex.
message() << std::endl;