Skip to content

REST API ver1.08 への追記事項

★T2 タスクセットのダイレクト再⽣

PathMethodFunction
/v2/taskset/direct_execPOSTtaskSet を直接再生する

Request Body

json
json
json
{
"cmds" <string> # taskset json
}

json
json
json
{
"cmds":[{
     "cmdType":100,
     "arg":{
            "x":5.2308,
            "y":1.0413,
            "theta":0.3915,
            "ignoreTheta":false,
            "passingPoint":false,
            "name":"TEST",
            "disableStartAnnouncement":true,
            "disableStopAnnouncement":true
             }
       }]
}
※ cmds については、本ドキュメント後半 の「cmds について」を参照下さい。

APIプラットフォーム(例:Postman)image

参考コード例 Python

json
import requests                                            #「requests」ライブラリのインストールが必要です
import json

url = 'http://192.XXX.X.XX:9085/v2/taskset/direct_exec'    #IPアドレスを入力
params = {
      "cmds":[{
        "cmdType":XXX,                                     #cmdTypeを入力
        "arg": {
                                        #cmdTypeに合ったcmdsの内容を記述
                    }
               }]
          }
res = requests.post(url, json=params)
data = json.loads(res.text)
print(data)

参考コード例 Javascript

json
<script>
    let request = new XMLHttpRequest();
    request.open('POST', 'http://192.XXX.X.XX:9085/v2/taskset/direct_exec', true);#IPアドレスを入力
    request.setRequestHeader('content-type', 'application/json;charset=UTF-8');
    request.responseType = 'json';

    let body = {'cmds':[{'cmdType':XXX', arg':{}}]}; #cmdTypeに合ったcmdsの内容を記述

    request.send(JSON.stringify(body));

    request.onload = function() {
        window.alert( JSON.stringify( this.response ) );
      };
 </script>

★cmdType の定義 への追記事項

CmdTypenameData schemaExample
20Pause taskset
execution
タスクセットの一時停止
json
{

  "cmds":[{

             "cmdType":20

              }]

}
json
{

  "cmds":[{

      "cmdType":20

              }]

}
100Move To Postion座標移動
json
{

  "cmds":[{

   "cmdType":100,

  "arg":{

        "x":<float32>,

              # Relative pos on MAP.ros_native_x

        "y": <float32>,

              # Relative pos on MAP.ros_native_y

        "theta": <float32>,

              # Machine angle (radian)

       "ignoreTheta":<bool>

# if true, the direction(angle) isn’t considered.

      "passingPoint":<bool>,

#if true, AMR will pass the point without stopping

      "name":<string>,

#name of operation

#(for UI indication ignored by AMR.)

"disableStartAnnouncement": <bool>,
"disableStopAnnouncement": <bool>,
"mode": <uint32>,
#modes: 0 normal, 1 no rerouting
"enableObstacleAvoidance": <bool>
"enableRerouteRecovery": <bool> 
"pathWidth": <float64>
"obstacleTimeout": <float64>,

       }

}]

}
json
{

"cmds":[{

"cmdType":100,

"arg":{

"x":10.0,

"y":10.0,

"theta":2.20,

"ignoreTheta":"false",

"passingPoint":"true",

"name":"is a Entrance",

"disableStartAnnouncement":true,
"disableStopAnnouncement":true,
"mode":1,
"enableObstacleAvoidance":true,
"enableRerouteRecovery":true
"pathWidth":1.0,
"obstacleTimeout":5.0

}

}]

}
110Follow path経路移動
execution
タスクセットの一時停止
json
{

  "cmds":[{

      "cmdType":110,

      "arg":{

       "path":[{"x":<float64>,

                  "y":<float64>},

                     ・・・

                {"x":<float64>,

                 "y":<float64>}]

      "width":<float64>,

#Avoid obstacles in a range of [m] in diameter.

      "theta":<float64>,

      "ignoreTheta":<bool>,

# if true, the direction(angle) isn’t considered.

      "passingPoint":<bool>,

#if true, AMR will pass the point without stopping

      "disableStartAnnouncement":<bool>,

      "disableStartAnnouncement":<bool>

                    }

           }]

}
json
{

  "cmds":[{

     "cmdType":110,

     "arg":{

          "path":[{"x":3.947,

                       "y":0.134},

                      {"x":5.126,

                        "y":0.320}],

      "width":1.0,

      "theta":1.343,

      "ignoreTheta":false,

      "passingPoint":false,

 "disableStartAnnouncement":true,

 "disableStartAnnouncement":true

                    }

           }]

}
200LineTracerライントレーサ
json
{

  "cmds":[{

     "arg":{

                "mode":<int>,

#0:STOP_INTERSECTION,2:STOP_DISTANCE

                "marker_id":1,

 # maker_id is always 1.

"distance":<float64>,

#only available mode:2, unit:[m]

"disableStartAnnouncement":<bool>,

"disableStopAnnouncement":<bool>

               },

     "cmdType":200

  }]

}
json
{

"cmds":[{

"arg":{

"mode":2,

"marker_id":1,

"distance":1.0,

"disableStartAnnouncement":true,

"disableStopAnnouncement":true

},

"cmdType":200

}]

}
610Set Footprintフットプリント変更
json
{

 "cmds":[{

       "arg":{

            "footprint":<string>,

# list of 2d points to make footprint

            "robot_radius":0.0

# robot_radius is always 0.

#Only used if footprint is empty.

                 },

      "cmdType":610

   }]

}
json
{

"cmds":[{

"arg":{

"footprint":"[[0.3,0.3],[0.3,-0.3].[-0.3,-0.3],[-0.3,0.3]]",

"robot_radius":0.0

},

"cmdType":610

}]

}
※cmds type 610:フットプリント変更 はタスクセットを実行している間のみ変更が反映されます。 タスクセットの実行が完了してIdle状態となったとき、フットプリントは元の設定値に戻ります。

© 株式会社Keigan