射出(3/29用)

Dependencies:   mbed ros_lib_kinetic

Fork of NHK_kaida_ros0322_4 by ROBOSTEP4期

main.cpp

Committer:
Arare
Date:
2017-09-21
Revision:
2:213c12298d45
Parent:
1:5dd2f53a286f
Child:
3:2184f6f5c8e3

File content as of revision 2:213c12298d45:

#include <mbed.h>
#include <ros.h>
#include <std_msgs/String.h>

DigitalOut grab(p11); //0:閉じる 1:開く
DigitalOut snap(p12); //0:縮む 1:伸びる
std_msgs::String action;

void messageCallback(const std_msgs::String &msg)
{
    action.data=msg.data;
}

ros::NodeHandle nh;
ros::Subscriber<std_msgs::String> sub("shoot_action",&messageCallback);
DigitalOut led1(LED1);
DigitalOut led2(LED2);
DigitalOut led3(LED3);
DigitalOut led4(LED4);

void led_on(int l1,int l2,int l3,int l4){
    led1=l1;
    led2=l2;
    led3=l3;
    led4=l4;
}

int main(int argc, char **argv)
{
    nh.initNode();
    nh.subscribe(sub);
        while(1) {
            if(*(action.data)== 'k') {
                snap = 1;
                grab = 0;
                led_on(1,0,0,0);
            }

            else  if(*(action.data)== 'o') {
                grab = 1;
                led_on(0,1,0,0);
            }

            else if(*(action.data)== 'j') {
                led_on(0,0,1,0);
                snap = 1;
                wait(0.15);
                grab = 1;
            }

            else if(*(action.data)=='l') {
                snap = 0;
                grab = 0;
                led_on(0,0,0,1);
            } else if(*(action.data)=='m') {
                led_on(1,1,0,0);
                snap = 0;
                //pc.printf("a\n");
                wait(0.195);             //TZ1:0.18 TZ2:0.18 TZ3:0.167,0.168 椅子(高度45[cm]):0.195
                grab = 1;
                
            }
            nh.spinOnce();
        }
    
}