Package: triorb_lifter_navi

協調搬送タスクにおけるリフターを制御するパッケージ

(上位との通信)Subscriber

リフターを上げ下げするRequest

  • Topic:(prefix)/collab/lifter/start/request
  • Type:std_msgs/msg/String
  • Definition:
    {
      direction : up/down,
      move : [
          {
              robot : (ロボット1のHash),
          },
          {
              robot : (ロボット2のHash),
          },
      ]
    }
    
  • Usage: ```bash

    ===1台目の準備===

    1台目のリフターロボを起動(電源ON)

    以降、1台目リフターロボのbashで実行

    mutex managerを起動

    tobeta@orin-nx-4260:~/TriOrb-AMR-Package-Collab$ sh run_mutex_manager.sh

    lifter navi, drive picoを起動

    tobeta@orin-nx-4260:~/TriOrb-AMR-Package-Collab$ sh dev_collab_lifter.sh

    globalスコープのdockerコンテナに入る

    tobeta@orin-nx-4260:~/TriOrb-AMR-Package-Collab$ docker attach dev_lifter_global

    強制的に1台目のMutexを取得する

    root@orin-nx-4260:/ws# ros2 topic pub -1 /collab/mutex/lock_mutex std_msgs/msg/String ‘{data: TestMutex1}’ # 1台目

===2台目の準備===

2台目のリフターロボを起動(電源ON)

以降、2台目リフターロボのbashで実行

mutex managerを起動

tobeta@toga-go-01:~/TriOrb-AMR-Package-Collab$ sh run_mutex_manager.sh

lifter navi, drive picoを起動

tobeta@toga-go-01:~/TriOrb-AMR-Package-Collab$ sh dev_collab_lifter.sh

以降、1台目リフターロボのbashで実行

“1台目の”globalスコープのdockerコンテナに入る

tobeta@orin-nx-4260:~/TriOrb-AMR-Package-Collab$ docker attach dev_lifter_global

強制的に2台目のMutexを取得する

root@orin-nx-4260:/ws# ros2 topic pub -1 /collab/mutex/lock_mutex std_msgs/msg/String ‘{data: TestMutex2}’ # 2台目

===同時にリフターを上げる===

以降、1台目もしくは2台目のリフターロボのbashで実行

globalスコープのdockerコンテナに入る

tobeta@orin-nx-4260:~/TriOrb-AMR-Package-Collab$ docker attach dev_lifter_global

Lifter Naviにリフターを上げるコマンドを送信する

root@orin-nx-4260:/ws# ros2 topic pub -1 /collab/lifter/start/request std_msgs/msg/String
“{data : ‘{
“‘“direction”’” : “‘“up”’”,
“‘“move”’” :
[
{
“‘“robot”’” : “‘“TestMutex1”’”
},
{
“‘“robot”’” : “‘“TestMutex2”’”
}
]
}’}”

===同時にリフターを下げる===

以降、1台目もしくは2台目のリフターロボのbashで実行

globalスコープのdockerコンテナに入る

tobeta@orin-nx-4260:~/TriOrb-AMR-Package-Collab$ docker attach dev_lifter_global

Lifter Naviにリフターを下げるコマンドを送信する

root@orin-nx-4260:/ws# ros2 topic pub -1 /collab/lifter/start/request std_msgs/msg/String
“{data : ‘{
“‘“direction”’” : “‘“down”’”,
“‘“move”’” :
[
{
“‘“robot”’” : “‘“TestMutex1”’”
},
{
“‘“robot”’” : “‘“TestMutex2”’”
}
]
}’}”


# (上位との通信)Publisher
## リフターのState
- Topic:(prefix)/collab/lifter/state
- Type:std_msgs/msg/String
- Usage:
```bash

リフターのResult

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

(下位との通信)Subscriber

リフター準備のState

  • Topic:(prefix)/lifter/state/$(HASH)
  • Type:std_msgs/msg/String
  • Usage:

リフター動作のResult

  • Topic:(prefix)/lifter/result/$(HASH)
  • Type:std_msgs/msg/String
  • Usage:

(下位との通信)Publisher

リフター動作のRequest

  • Topic:(prefix)/drive/run_lifter/$(HASH)
  • Type:std_msgs/msg/String
  • Usage:
    # 上げるとき
    ros2 topic pub -1 /drive/run_lifter/$(HASH) std_msgs/msg/String {data: "100"}
    # 下げるとき
    ros2 topic pub -1 /drive/run_lifter/$(HASH) std_msgs/msg/String {data: "-100"}