Package: triorb_navigation_navi

上位システム管理下における単体自律移動管理のためのパッケージ

Parameter

  • ROBOT_TIMEOUT_MS : ロボットの自己位置が返ってこない場合のタイムアウト処理時間[ms]

Subscriber

単体自律移動開始Request

  • Topic: (prefix)/collab/move/request
  • Type: std_msgs/msg/String
  • Usate:
    # triorb_drive_interface/msg/TriorbSetPos3型相当を含んだメッセージを送信する
    root@orin-nx-4260:/ws# ros2 topic pub -1 /collab/move/request std_msgs/msg/String \
    "{data : '{\
      "'"name"'" : "'"test_job_001"'",\
      "'"robot"'" : "'"TestMutex1"'",\
      "'"route"'" : [\
          {\
              "'"pos"'" : \
                  {\
                  "'"speed"'" : \
                      {\
                          "'"acc"'" : 1000,\
                          "'"dec"'" : 1000,\
                          "'"xy"'" : 0.5,\
                          "'"w"'" : 1.5\
                      },\
                  "'"position"'" : \
                      {\
                          "'"x"'" : 0.0,\
                          "'"y"'" : 0.0,\
                          "'"deg"'" : 0.0\
                      }\
              },\
              "'"setting"'" : \
                  {\
                      "'"tx"'" : 0.01,\
                      "'"ty"'" : 0.01,\
                      "'"tr"'" : 0.5,\
                      "'"force"'" : 1\
              }\
          },\
          {\
              "'"pos"'" : \
                  {\
                  "'"speed"'" : \
                      {\
                          "'"acc"'" : 1000,\
                          "'"dec"'" : 1000,\
                          "'"xy"'" : 0.5,\
                          "'"w"'" : 1.5\
                      },\
                  "'"position"'" : \
                      {\
                          "'"x"'" : 0.5,\
                          "'"y"'" : 0.2,\
                          "'"deg"'" : 15.0\
                      }\
              },\
              "'"setting"'" : \
                  {\
                      "'"tx"'" : 0.01,\
                      "'"ty"'" : 0.01,\
                      "'"tr"'" : 0.5,\
                      "'"force"'" : 1\
              }\
          }\
      ]\
    }'}"
    

単体自律移動中断Request

  • Topic: (prefix)/collab/move/terminate
  • Type: std_msgs/msg/String

Publisher

単体自律移動Status

  • Topic: (prefix)/collab/move/state
  • Type: std_msgs/msg/String
  • 単体自律移動Result

  • Topic: (prefix)/collab/move/result
  • Type: std_msgs/msg/String

Publisher to robot

位置決め開始指示

  • Topic: (prefix)/drive/set_pos/$(HASH)
  • Type: triorb_drive_interface/msg/TriorbSetPos3

位置決め中止指示

  • Topic: (prefix)/drive/stop/$(HASH)
  • Type: std_msgs/msg/Empty

Subscriber from robot

現在位置姿勢

  • Topic: (prefix)/vslam/rig_tf/$(HASH)
  • Type: geometry_msgs/msg/TransformStamped

位置決め実行結果

  • Topic: (prefix)/drive/result/$(HASH)
  • Type: triorb_drive_interface/msg/TriorbRunResult

Unit Test

tobeta@orin-nx-4944:/home/triorb/TriOrb-AMR-Package-Collab$ sh run_mutex_manager.sh
tobeta@orin-nx-4944:/home/triorb/TriOrb-AMR-Package-Collab$ sh run_mapping.sh
(VSLAMで適当にマッピング)
tobeta@orin-nx-4944:/home/triorb/TriOrb-AMR-Package-Collab$ sh dev_navinavi.sh
tobeta@orin-nx-4944:/home/triorb/TriOrb-AMR-Package-Collab$ docker attach dev_navinavi_global
root@orin-nx-4944:/ws# source install/setup.bash
root@orin-nx-4944:/ws# ros2 topic pub -1 /collab/mutex/lock_mutex std_msgs/msg/String "{data : '{\
    "'"hash"'" : "'"TOBETA5"'",\
    "'"host"'" : "'"orin-nx-4944"'"\
}'}"
root@orin-nx-4260:/ws# ros2 topic pub -1 /collab/move/request std_msgs/msg/String \
"{data : '{\
    "'"name"'" : "'"test_job_001"'",\
    "'"robot"'" : "'"TOBETA5"'",\
    "'"route"'" : [\
        {\
            "'"pos"'" : \
                {\
                "'"speed"'" : \
                    {\
                        "'"acc"'" : 1000,\
                        "'"dec"'" : 1000,\
                        "'"xy"'" : 0.5,\
                        "'"w"'" : 1.5\
                    },\
                "'"position"'" : \
                    {\
                        "'"x"'" : 0.0,\
                        "'"y"'" : 0.0,\
                        "'"deg"'" : 0.0\
                    }\
            },\
            "'"setting"'" : \
                {\
                    "'"tx"'" : 0.01,\
                    "'"ty"'" : 0.01,\
                    "'"tr"'" : 0.5,\
                    "'"force"'" : 1\
            }\
        },\
        {\
            "'"pos"'" : \
                {\
                "'"speed"'" : \
                    {\
                        "'"acc"'" : 1000,\
                        "'"dec"'" : 1000,\
                        "'"xy"'" : 0.5,\
                        "'"w"'" : 1.5\
                    },\
                "'"position"'" : \
                    {\
                        "'"x"'" : 0.0,\
                        "'"y"'" : -0.1,\
                        "'"deg"'" : 0.0\
                    }\
            },\
            "'"setting"'" : \
                {\
                    "'"tx"'" : 0.01,\
                    "'"ty"'" : 0.01,\
                    "'"tr"'" : 0.5,\
                    "'"force"'" : 1\
            }\
        }\
    ]\
}'}"
root@orin-nx-4944:/ws# ros2 topic echo -f /collab/move/result
data: '{"name":"test_job_001","robot":{"\"TOBETA5\"":{"position":{"deg":-0.0004819970480767799,"x":0.00335985430369203,"y":-0.0926972255213332},"status":"success","success":true}},"status":"success"}'
---