Statistics
| Branch: | Tag: | Revision:

humotion / examples / meka / src / main.cpp @ 06d6a491

History | View | Annotate | Download (1.583 KB)

1
#include <stdio.h>
2
#include <humotion/server/server.h>
3
#include <string>
4
#include <iostream>
5
//#include "meka_data_receiver.h"
6
#include "mekajointinterface.h"
7

    
8
using namespace std;
9

    
10
int main(int argc, char *argv[]){
11
    /*Property params;
12
    params.fromCommand(argc, argv);
13

14
    if (!params.check("robot")){
15
        fprintf(stderr, "Please specify the name of the robot\n");
16
        fprintf(stderr, "--robot name (e.g. icub or icubSim)\n");
17
        return -1;
18
    }
19

20
    string robotName=params.find("robot").asString().c_str();
21
    string scope="/"+robotName;
22

23
*/
24

    
25
    if (argc != 5){
26
        printf("> ERROR: invalid number of parameters passed to server!\n\n");
27
        printf("usage   : %s <humotion base topic> <jointstates topic> <controlstates topic> <control output topic>\n\n",argv[0]);
28
        printf("example : %s /meka /joint_states  /meka_roscontrol_state_manager/state /meka_roscontrol/head_position_trajectory_controller/command)\n\n",argv[0]);
29
        exit(EXIT_FAILURE);
30
    }
31

    
32
    //create humotion interface
33
    string humotion_scope      = argv[1];
34
    string jointstates_scope   = argv[2];
35
    string controlstates_scope = argv[3];
36
    string control_scope       = argv[4];
37

    
38

    
39
    MekaJointInterface *jointinterface = new MekaJointInterface(jointstates_scope, controlstates_scope, control_scope);
40
    humotion::server::Server *humotion_server = new humotion::server::Server(humotion_scope, "ROS", jointinterface);
41

    
42
    //finally run it
43
    jointinterface->run();
44

    
45
    while(humotion_server->ok()){
46
        usleep(100000);
47
    }
48

    
49
    printf("> ros connection died, will exit now\n");
50

    
51
    return 0;
52
}