00001 #include <libplayerc++/playerc++.h>
00002 #include <iostream>
00003
00004 int main()
00005 {
00006
00007 try
00008 {
00009 using namespace PlayerCc;
00010 using namespace std;
00011
00012
00013
00014 PlayerClient robot(PlayerCc::PLAYER_HOSTNAME, PlayerCc::PLAYER_PORTNUM);
00015
00016
00017 ActArrayProxy ap_l(&robot, 0);
00018 ActArrayProxy ap_r(&robot, 1);
00019 ActArrayProxy ap_c(&robot, 2);
00020 ActArrayProxy ap_s(&robot, 3);
00021 ActArrayProxy ap_h(&robot, 4);
00022
00023 Position2dProxy flc(&robot, 0);
00024 Position2dProxy frc(&robot, 1);
00025 Position2dProxy rlc(&robot, 2);
00026 Position2dProxy rrc(&robot, 3);
00027
00028
00029 std::cout << robot << std::endl;
00030
00031 flc.SetMotorEnable(true);
00032 frc.SetMotorEnable(true);
00033 rlc.SetMotorEnable(true);
00034 rrc.SetMotorEnable(true);
00035
00036 for (;;)
00037 {
00038
00039 robot.Read();
00040
00041 flc.SetSpeed(1, 0);
00042 frc.SetSpeed(1, 0);
00043 rlc.SetSpeed(1, 0);
00044 rrc.SetSpeed(1, 0);
00045
00046 ap_h.MoveTo(0, -M_PI/4.0);
00047 ap_h.MoveTo(1, M_PI/6.0);
00048 ap_h.MoveTo(2, -M_PI/4.0);
00049 ap_h.MoveTo(3, M_PI/5.0);
00050 ap_h.MoveTo(4, -M_PI/3.0);
00051 ap_h.MoveTo(5, -M_PI/5.0);
00052 ap_h.MoveTo(6, M_PI/4.0);
00053
00054 ap_l.MoveTo(0, M_PI/4.0);
00055 ap_l.MoveTo(1, M_PI/4.0);
00056 ap_l.MoveTo(2, M_PI/4.0);
00057 ap_l.MoveTo(3, M_PI/5.0);
00058 ap_l.MoveTo(4, M_PI/3.0);
00059 ap_l.MoveTo(5, M_PI/2.0);
00060 ap_l.MoveTo(6, M_PI/1.0);
00061
00062 ap_r.MoveTo(0, -M_PI/3.0);
00063 ap_r.MoveTo(1, -M_PI/3.0);
00064 ap_r.MoveTo(2, -M_PI/3.0);
00065 ap_r.MoveTo(3, -M_PI/2.0);
00066 ap_r.MoveTo(4, -M_PI/3.0);
00067 ap_r.MoveTo(5, -M_PI/1.0);
00068 ap_r.MoveTo(6, -M_PI/2.0);
00069
00070 ap_c.MoveTo(0, - M_PI/4.0);
00071 ap_c.MoveTo(1, -3.0*M_PI/4.0);
00072 ap_c.MoveTo(2, M_PI/4.0);
00073 ap_c.MoveTo(3, 3.0*M_PI/4.0);
00074
00075 ap_s.MoveTo(0,0.5);
00076
00077 player_actarray_actuator_t data0 = ap_l.GetActuatorData(0);
00078 printf("0 Pos[%f] Speed[%f]\n",data0.position, data0.speed);
00079 player_actarray_actuator_t data1 = ap_l.GetActuatorData(1);
00080 printf("1 Pos[%f] Speed[%f]\n",data1.position, data1.speed);
00081 player_actarray_actuator_t data2 = ap_l.GetActuatorData(2);
00082 printf("2 Pos[%f] Speed[%f]\n",data2.position, data2.speed);
00083 }
00084 }
00085 catch (PlayerCc::PlayerError e)
00086 {
00087 std::cerr << "Error:" << e << std::endl;
00088 return -1;
00089 }
00090 }