{"id":3433,"date":"2024-02-24T13:39:19","date_gmt":"2024-02-24T04:39:19","guid":{"rendered":"https:\/\/www.kdel.org\/wp\/?p=3433"},"modified":"2024-02-24T14:15:18","modified_gmt":"2024-02-24T05:15:18","slug":"rcll-get-started","status":"publish","type":"post","link":"https:\/\/www.kdel.org\/wp\/?p=3433","title":{"rendered":"rcll-get-started"},"content":{"rendered":"<p><mark><a href=\"https:\/\/github.com\/robocup-logistics\/rcll-get-started\">rcll get started<\/a><\/mark>\u3092\u307e\u3068\u3081\u3066\u307f\u307e\u3059\uff0e<\/p>\n<h2>rcll-get-started: RCLL\u306e\u59cb\u3081\u65b9<\/h2>\n<p>This repository bundles the documentation and setup details around the software used in the RCLL.<br \/>\n\u3053\u306e\u30ec\u30dd\u30b8\u30c8\u30ea\u306b\u306f\uff0cRCLL\u3067\u4f7f\u3063\u3066\u3044\u308b\u30bd\u30d5\u30c8\u30a6\u30a8\u30a2\u95a2\u4fc2\u306e\u8aac\u660e\u66f8\u3068\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u306e\u8a73\u7d30\u3092\u542b\u3093\u3067\u3044\u307e\u3059\uff0e<\/p>\n<h3>General information<\/h3>\n<p>Most of the software used in the RCLL can be found in the [github organization](https:\/\/github.com\/robocup-logistics).<br \/>\nRCLL\u3067\u4f7f\u3063\u3066\u3044\u308b\u307b\u3068\u3093\u3069\u306e\u30bd\u30d5\u30c8\u30a6\u30a8\u30a2\u306f\uff0c<mark><a href=\"https:\/\/github.com\/robocup-logistics\">github<\/a><\/mark> \u3067\u516c\u958b\u3055\u308c\u3066\u3044\u307e\u3059\uff0e<br \/>\nThe docker images for the RCLL get published to the [quay](https:\/\/quay.io\/organization\/robocup-logistics).<br \/>\nRCLL\u306eDocker\u306e\u30a4\u30e1\u30fc\u30b8\u30d5\u30a1\u30a4\u30eb\u306f\uff0c<mark><a href=\"https:\/\/quay.io\/organization\/robocup-logistics\">quay<\/a><\/mark>\u3067\u516c\u958b\u3055\u308c\u3066\u3044\u307e\u3059\uff0e<\/p>\n<h4>Rules for RCLL: RCLL\u306e\u30eb\u30fc\u30eb<\/h4>\n<p>The rulebook for the RCLL can be found [here](https:\/\/github.com\/robocup-logistics\/rcll-rulebook).<br \/>\nRCLL\u306e\u30eb\u30fc\u30eb\u30d6\u30c3\u30af\u306f\uff0c<mark><a href=\"https:\/\/github.com\/robocup-logistics\/rcll-rulebook\">\u3053\u3053<\/a><\/mark>\u306b\u3042\u308a\u307e\u3059\uff0e<\/p>\n<h4>Libraries for RCLL: RCLL\u306b\u95a2\u3059\u308b\u30e9\u30a4\u30d6\u30e9\u30ea<\/h4>\n<p>There are various libraries to make communication with the refbox easy, at the moment there is one for [Java](https:\/\/github.com\/robocup-logistics\/rcll-java) and one for [C++](https:\/\/github.com\/fawkesrobotics\/protobuf_comm).<br \/>\nRefBox\u3068\u7c21\u5358\u306b\u901a\u4fe1\u3059\u308b\u305f\u3081\u306e\u591a\u6570\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\u304c\u3042\u308a\u307e\u3059\uff0e<br \/>\nJava\u306f\uff0c<mark><a href=\"https:\/\/github.com\/robocup-logistics\/rcll-java\">rcll-java<\/a<M\/mark>\u306b\u3042\u308a\u307e\u3059\u3057\uff0cC++\u7528\u306f<mark><a href=\"https:\/\/github.com\/fawkesrobotics\/protobuf_comm\">fawkesrobotics\u306eprotobuf_comm<\/a><\/mark>\u306b\u3042\u308a\u307e\u3059\uff0e<br \/>\nHere you can find an [example](https:\/\/github.com\/lef98\/rcll_refbox_comm_example) that is using the C++ lib.<br \/>\nC++\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u4f7f\u3063\u305f\u30b5\u30f3\u30d7\u30eb\u306f\uff0c<mark><a href=\"https:\/\/github.com\/lef98\/rcll_refbox_comm_example\">\u3053\u3053<\/a><\/mark>\u3067\u898b\u3064\u3051\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\uff0e<\/p>\n<h3>Installation of this Repo: \u3053\u306e\u30ec\u30dd\u30b8\u30c8\u30ea\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h3>\n<h4>Prerequisites: \u5fc5\u8981\u3068\u3055\u308c\u308b\u3082\u306e<\/h4>\n<p>To use this repository you have to have `docker`, `docker-compose` and `bash` installed. To make the commands available you have to source `setup.sh`, you can do this in our local<br \/>\n`~\/.bashrc`<br \/>\n\u3053\u306e\u30ec\u30dd\u30b8\u30c8\u30ea\u3092\u4f7f\u3046\u306b\u306f\uff0c\u300cdocker\u300d\uff0c\u300cdocker-compose\u300d\uff0c\u305d\u3057\u3066\u300cbash\u300d\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u3044\u306a\u3044\u3068\u3044\u3051\u307e\u305b\u3093\uff0e<br \/>\n\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3067\u304d\u308b\u3088\u3046\u306b\u3059\u308b\u306b\u306f\uff0csetup.sh \u3092source \u30b3\u30de\u30f3\u30c9\u3067\u8aad\u307f\u8fbc\u3080\u5fc5\u8981\u304c\u3042\u308a\uff0c\u81ea\u5206\u306e\u30db\u30fc\u30e0\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u4e0b\u306e.bashrc \u306b\u3066\u5b9f\u884c\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\uff0e<\/p>\n<h3>Configuration: \u8a2d\u5b9a<\/h3>\n<p>All the commands that are listened below can be configured via various env variables.<br \/>\n\u4ee5\u4e0b\u306b\u66f8\u304b\u308c\u3066\u3044\u308b\u5168\u3066\u306e\u30b3\u30de\u30f3\u30c9\u306f\uff0cenv \u5909\u6570\u7d4c\u7531\u3067\u8a2d\u5b9a\u3067\u304d\u307e\u3059\uff0e<br \/>\nTo overwrite the defaults which are set in the `setup.sh` script, manually overwrite them in the file `local_setup.sh`.<br \/>\nsetup.sh\u30b9\u30af\u30ea\u30d7\u30c8\u306b\u66f8\u304b\u308c\u3066\u3044\u308b\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u8a2d\u5b9a\u3092\u4e0a\u66f8\u304d\u3059\u308b\u306b\u306f\uff0clocal_setup.sh \u306e\u30d5\u30a1\u30a4\u30eb\u306e\u8a72\u5f53\u90e8\u5206\u3092\u624b\u52d5\u3067\u4e0a\u66f8\u304d\u3057\u3066\u4e0b\u3055\u3044\uff0e<br \/>\nThis file is ignored in git and will be created automatically once you source the `setup.sh` for the first time.<br \/>\n\u3053\u306e\u30d5\u30a1\u30a4\u30eb\u306f\uff0cgit\u3067\u306f\u7121\u8996\u3055\u308c\uff0c\u521d\u56de\u306bsetup.sh\u3092source\u3057\u305f\u3089\u81ea\u52d5\u7684\u306b\u751f\u6210\u3055\u308c\u307e\u3059\uff0e<br \/>\nIf you want to play a c0 productino challenge, one must add `export REFBOX_CONFIG_CHALLENGE=.\/..\/config\/refbox\/challenge_prod_c0.yaml` into his `local_setup.sh`.<br \/>\nC0-Production\u30c1\u30e3\u30ec\u30f3\u30b8\u3092\u884c\u3046\u306b\u306f\uff0clocal_setup.sh\u306b\uff0c\u300cexport REFBOX_CONFIG_CHALLENGE=.\/..\/config\/refbox\/challenge_prod_c0.yaml\u300d\u3092\u8ffd\u52a0\u3057\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\uff0e<\/p>\n<h3>Commands: \u30b3\u30de\u30f3\u30c9: <\/h3>\n<h4>rc_start_refbox<\/h4>\n<p>start the refbox and the vue frontend. the ui can then be accessed via: [http:\/\/localhost\/](http:\/\/localhost\/)<br \/>\nRefBox \u3068vue\u30d5\u30ed\u30f3\u30c8\u30a8\u30f3\u30c9\u3092\u8d77\u52d5\u3057\uff0chttp:\/\/localhost \u306b\u3066\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u3059\uff0e<\/p>\n<p>Env variables for configuration:<br \/>\n\u8a2d\u5b9a\u306e\u305f\u3081\u306e\u300cEnv\u300d\u5909\u6570\uff1a<br \/>\n&#8211; `REFBOX_IMAGE` image to use for refbox: RefBox \u306e\u305f\u3081\u306b\u4f7f\u3046\u30a4\u30e1\u30fc\u30b8\u540d<br \/>\n&#8211; `REFBOX_TAG` tag to use for refbox: RefBox \u306e\u305f\u3081\u306b\u4f7f\u3046\u30bf\u30b0<br \/>\n&#8211; `REFBOX_FRONTEND_IMAGE` image to use for refbox frontend: refbox frontend \u306e\u305f\u3081\u306b\u4f7f\u3046\u30a4\u30e1\u30fc\u30b8\u540d<br \/>\n&#8211; `REFBOX_FRONTEND_TAG` tag to use for refbox frontend: refbox frontend \u306e\u305f\u3081\u306b\u4f7f\u3046\u30bf\u30b0<br \/>\n&#8211; `REFBOX_CONFIG_GAME` game config to use in the refbox.: RefBox \u3067\u4f7f\u3046\u30b2\u30fc\u30e0config<br \/>\n&#8211; `REFBOX_CONFIG_SIMULATION` simulation config to use in the refbox.: refbox \u3067\u4f7f\u3046\u30b7\u30df\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3\u7528\u306econfig<br \/>\n&#8211; `REFBOX_CONFIG_COMM` communication config to use in the refbox.: refbox \u3067\u4f7f\u3046\u901a\u4fe1\u7528\u306econfig<br \/>\n&#8211; `REFBOX_CONFIG_MPS` mps config to use in the refbox.: refbox \u3067\u4f7f\u3046MPS\u7528\u306econfig<br \/>\n&#8211; `REFBOX_CONFIG_TEAM` team config to use in the refbox.: refbox \u3067\u4f7f\u3046\u30c1\u30fc\u30e0\u7528\u306econfig<br \/>\n&#8211; `REFBOX_CONFIG_CHALLENGE` challenges config to use in the refbox.: refbox \u3067\u4f7f\u3046challenge \u306econfig<br \/>\n&#8211; `REFBOX_CONFIG_MONGODB` mongodb config to use in the refbox.: refbox \u3067\u4f7f\u3046mongodb\u7528\u306econfig<\/p>\n<p>In the folder `config\/refbox` are some configuraitons which are used by default.<br \/>\n\u300cconfig\/refbox\u300d\u306e\u30d5\u30a9\u30eb\u30c0\u306b\u306f\uff0c\u6a19\u6e96\u3067\u4f7f\u3046\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308a\u307e\u3059\uff0e<br \/>\nYou can find more [here](https:\/\/github.com\/robocup-logistics\/rcll-refbox\/tree\/master\/cfg]) in the rcll-refbox repository.<br \/>\nrcll-refbox \u30ec\u30dd\u30b8\u30c8\u30ea\u5185\u306e<mark><a href=\"https:\/\/github.com\/robocup-logistics\/rcll-refbox\/tree\/master\/cfg\">\u3053\u3053<\/a><\/mark>\u306b\u8a73\u7d30\u304c\u3042\u308a\u307e\u3059\uff0e<\/p>\n<h4>rc_stop_refbox<\/h4>\n<p>This stops the refbox (this command also calls: `rc_stop_mqtt_bridge`, so the mqtt bridge is also stopped)<br \/>\n\u3053\u308c\u306f\uff0crefbox\u3092\u6b62\u3081\u307e\u3059\uff08\u3053\u306e\u30b3\u30de\u30f3\u30c9\u306f\uff0crc_stop_mqtt_bridge\u3082\u547c\u3073\u51fa\u3057\u307e\u3059\u306e\u3067\uff0cmqtt bridge\u3082\u6b62\u307e\u308a\u307e\u3059\uff09\uff0e<\/p>\n<h4>rc_start_mqtt_bridge<\/h4>\n<p>Note: The image is only available via ghcr.io, so you have to login in order to be able to pull it!<br \/>\n\u6ce8\u610f: \u3053\u306e\u30a4\u30e1\u30fc\u30b8\u306f\uff0cghcr.io \u7d4c\u7531\u306b\u306e\u307f\u5b58\u5728\u3057\u307e\u3059\u306e\u3067\uff0c\u305d\u308c\u3092pull \u3059\u308b\u305f\u3081\u306b\u306f\u30ed\u30b0\u30a4\u30f3\u3057\u306a\u3044\u3068\u3044\u3051\u307e\u305b\u3093\uff0e<\/p>\n<p>Env variables for configuration:<br \/>\n\u8a2d\u5b9a\u306e\u305f\u3081\u306e\u300cEnv\u300d\u5909\u6570\uff1a<br \/>\n&#8211; `RC_MQTT_START` set to true if mqtt bridge should start: mqtt brdge\u3092\u958b\u59cb\u3059\u308b\u306a\u3089\uff0c\u3053\u306e\u5909\u6570\u3092true \u306b\u3057\u3066\u4e0b\u3055\u3044\uff0e<br \/>\n&#8211; `RC_MQTT_BROKER` broker to connec to: Broker\u3092\u63a5\u7d9a\u3059\u308b\u3068\u3053\u308d\u3067\u3059\uff0e<br \/>\n&#8211; `RC_MQTT_REFBOX` ip of the refbox: RefBox\u306eIP\u30a2\u30c9\u30ec\u30b9\u3067\u3059\uff0e<br \/>\n&#8211; `RC_MQTT_TEAM` team name: \u30c1\u30fc\u30e0\u540d\u3092\u8a2d\u5b9a\u3057\u3066\u4e0b\u3055\u3044\uff0e<br \/>\n&#8211; `RC_MQTT_KEY` crypto key for refbox communication: RefBox \u306e\u901a\u4fe1\u7528\u306e\u6697\u53f7\u9375\u3092\u8a2d\u5b9a\u3057\u3066\u4e0b\u3055\u3044\uff0e<\/p>\n<h4>rc_stop_mqtt_bridge<\/h4>\n<p>This stops the mqtt bridge<br \/>\n\u3053\u308c\u306f\uff0cmqtt bridge \u3092\u505c\u6b62\u3057\u307e\u3059\uff0e<\/p>\n<h4>rc_start_simulator<\/h4>\n<p>start the rcll-simulator and the frontend for it. The ui can then be accessed via [http:\/\/localhost:4200\/](http:\/\/localhost:4200\/)&#8220;.<br \/>\nrcll-simulator \u3068\u305d\u306e\u305f\u3081\u306efrontend \u3092\u8d77\u52d5\u3057\u307e\u3059\uff0e<br \/>\n\u3053\u306eUI\u306f\uff0chttp:\/\/localhost:4300\/ \u306b\u3066\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u3059\uff0e<br \/>\nEnv variables for configuration:<br \/>\n\u8a2d\u5b9a\u306e\u305f\u3081\u306e\u300cEnv\u300d\u5909\u6570\uff1a<\/p>\n<p>&#8211; `SIMULATOR_IMAGE` image to use for simulator: simulator \u3068\u3057\u3066\u4f7f\u3046\u30a4\u30e1\u30fc\u30b8\u540d<br \/>\n&#8211; `SIMULATOR_TAG` tag to use for simulator: simulator \u3068\u3057\u3066\u4f7f\u3046\u30bf\u30b0<br \/>\n&#8211; `SIMULATOR_FRONTEND_IMAGE` image to use for simulator frontend: simulator frontend \u3068\u3057\u3066\u4f7f\u3046\u30a4\u30e1\u30fc\u30b8\u540d<br \/>\n&#8211; `SIMULATOR_FRONTEND_TAG` tag to use for simulator frontend: simulator frontend \u3068\u3057\u3066\u4f7f\u3046\u30bf\u30b0<br \/>\n&#8211; `SIMULATOR_CONFIG_FILE` the config file used for the simulator.: simulator \u3068\u3057\u3066\u4f7f\u3046\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u540d<\/p>\n<h3>Documentation For RCLL: RCLL \u306e\u305f\u3081\u306e\u6587\u7ae0<\/h3>\n<p>Generally it is good to take a look at the refbox [wiki](https:\/\/github.com\/robocup-logistics\/rcll-refbox\/wiki), which contains a lot of information.<br \/>\n\u4e00\u822c\u306b\uff0c<mark><a href=\"https:\/\/github.com\/robocup-logistics\/rcll-refbox\/wiki\">refbox-wiki<\/a><\/mark>\u306b\u306f\u591a\u6570\u306e\u60c5\u5831\u304c\u3042\u308a\u307e\u3059\u306e\u3067\uff0c\u305d\u308c\u3092\u898b\u3066\u4e0b\u3055\u3044\uff0e<\/p>\n<h4>Communication: \u901a\u4fe1<\/h4>\n<p>Each Team has to communicate with the [refbox](https:\/\/github.com\/robocup-logistics\/rcll-refbox).<br \/>\n\u5404\u30c1\u30fc\u30e0\u306f\uff0c<mark><a href=\"https:\/\/github.com\/robocup-logistics\/rcll-refbo\">refbox<\/a><\/mark>\u3068\u901a\u4fe1\u3057\u306a\u3044\u3068\u3044\u3051\u307e\u305b\u3093\uff0e<br \/>\nThis is done via the [rcll-protobuf-msgs](https:\/\/github.com\/robocup-logistics\/rcll-protobuf-msgs).<br \/>\n\u3053\u308c\u306f\uff0c<mark><a href=\"https:\/\/github.com\/robocup-logistics\/rcll-protobuf-msgs\">rcll-protobuf-msgs<\/a><\/mark>\u3092\u4f7f\u3063\u3066\u5b9f\u73fe\u3057\u307e\u3059\uff0e<br \/>\nYou can find a detailed documentation on them [here](https:\/\/pkohout.github.io\/rcll-protobuf-msgs\/).<br \/>\n<mark><a href=\"https:\/\/pkohout.github.io\/rcll-protobuf-msgs\/\">\u3053\u3053<\/a><\/mark>\u306b\u8a73\u7d30\u306a\u8aac\u660e\u304c\u3042\u308a\u307e\u3059\uff0e<br \/>\nIn the refbox repository is a wiki entry giving a good overview of the communication, see this [link](https:\/\/github.com\/robocup-logistics\/rcll-refbox\/wiki\/Communication-Protocol#messages-sent-from-the-refbox)<br \/>\nRefBox\u306e\u30ec\u30dd\u30b8\u30c8\u30ea\u306b\u306f\uff0c\u901a\u4fe1\u306e\u6982\u8981\u306b\u3064\u3044\u3066\u3088\u304f\u66f8\u304b\u308c\u305fwiki\u304c\u3042\u308a\u307e\u3059\uff0e<mark><a href=\"https:\/\/github.com\/robocup-logistics\/rcll-refbox\/wiki\/Communication-Protocol#messages-sent-from-the-refbox\">\u3053\u306e\u30ea\u30f3\u30af<\/a><\/mark>\u3092\u78ba\u8a8d\u3057\u3066\u4e0b\u3055\u3044\uff0e<\/p>\n","protected":false},"excerpt":{"rendered":"<p>rcll get started\u3092\u307e\u3068\u3081\u3066\u307f\u307e\u3059\uff0e rcll-get-start &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"more-link\" href=\"https:\/\/www.kdel.org\/wp\/?p=3433\"> <span class=\"screen-reader-text\">rcll-get-started<\/span> \u7d9a\u304d\u3092\u8aad\u3080 &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","footnotes":""},"categories":[3,2,26,9,24],"tags":[],"class_list":["post-3433","post","type-post","status-publish","format-standard","hentry","category-logistics-league","category-robocup","category-robotino-2","category-robotino-3","category-robotino-4"],"_links":{"self":[{"href":"https:\/\/www.kdel.org\/wp\/index.php?rest_route=\/wp\/v2\/posts\/3433","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kdel.org\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kdel.org\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kdel.org\/wp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kdel.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3433"}],"version-history":[{"count":10,"href":"https:\/\/www.kdel.org\/wp\/index.php?rest_route=\/wp\/v2\/posts\/3433\/revisions"}],"predecessor-version":[{"id":3448,"href":"https:\/\/www.kdel.org\/wp\/index.php?rest_route=\/wp\/v2\/posts\/3433\/revisions\/3448"}],"wp:attachment":[{"href":"https:\/\/www.kdel.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3433"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kdel.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3433"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kdel.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3433"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}