Copyright 2020 Unlimited Robotics
# Unlimited Robotics SDK
## Components versions:
- Ra-Ya Simulator `1.0.4`
- Ra-Ya OS `1.0.6`
- Ra-Ya Python Library `2.8.16`
- Ra-Ya Simulation Workspace `1.0.8`
- GGS
## Usage
``` bash
$ rayasdk [-h] [-v | -q] command {command-options}
```
Optional arguments:
* `-h`, `--help`: show this help message and exit.
* `-v`, `--verbose`: increase output verbosity.
* `-q`, `--quiet`: don't print on stdout.
Positional arguments:
* `command`: SDK Command
Commands:
* `simulator`: runs the simulator and the bringup.
* `init`: initialize Raya project in current folder.
* `scan`: discover robots in the local network.
* `connect`: connect current raya proyect to a robot or simulator.
* `run`: execute current Raya project.
* `kill`: kill all the Ra-Ya related containers.
## Docker container
All the Ra-Ya related stuff is execute inside the Ra-Ya container. It includes:
* Ra-Ya bringup (including the bridge)
* Robots scanner
* Applications
Thanks to this, the developer doesn't need to install anything in their computer.
Each time the `rakasdk` is executed, it verifies the existence of the image (see method `check_container` in the file [docker_handler.py](/rayasdk/container_handlers/docker_handler.py)). It checks the image tag acording to the constants in the file [constants.py](/rayasdk/constants.py):
Image tag format:
```
{RAYAENV_DOCKER_IMGNAME}:{RAYAENV_DOCKER_VERSION}
```
For example, when `RAYAENV_DOCKER_IMGNAME=raya_os` and `RAYAENV_DOCKER_VERSION=0.5.0`, it looks for the image:
```
raya_os:0.5.0
```
If it doesn't find the image, it download it as a `tar.gz` file from the link `RAYAENV_DOCKER_URL` and match its sha256 checksum with the one in `RAYAENV_DOCKER_SHA256`. Then, it stores the image in a temporal folder (`RAYAENV_DOCKER_IMGPATH`) and load it in the docker system. After that, the image is ready for future uses.
## Commands
## `simulator`
This command checks for the existence of the simulator in the path `SIM_PATH`. (looks for the version `GARYSIM_VERSION`). If it doens't find it, it's downloaded from `GARYSIM_URL` and checked with the sha256 checksum `GARYSIM_SHA256`.
If the simulator is avaiable, it launch it, and also launches the ra-ya bringup in a new container named:
```
{RAYAENV_DOCKER_CONTAINERPREFIX}_simbridge
```
## `init`
Initialize Raya project in current folder.
Usage:
``` bash
$ rayasdk init [-h] --app-id APP_ID [--app-name APP_NAME]
```
Required arguments:
* `--app-id APP_ID`: application unique identificator
Optional arguments:
* `--app-name APP_NAME`: application name
* `-h`, `--help`: show this help message and exit
Example:
``` bash
$ urdsk init --app-id helloworld --app-name 'Hello World'
```
## `scan`
Discover robots in the local network.
Usage:
``` bash
$ rayasdk scan [-h]
```
Optional arguments:
* `-h`, `--help`: show this help message and exit.
Example:
``` bash
$ rayasdk scan
```
Output:
```
Scanning local network for robots...
Robot ID IP Address DDS Channel
-------------- ------------- -------------
GARY_KITCHEN 193.168.20.36 3
GARY_2665232 193.168.20.76 1
GARY_RECEPTION 193.168.20.12 2
```
The scanner runs in a new container named:
```
{RAYAENV_DOCKER_CONTAINERPREFIX}_scanner
```
## `connect`
Connect current raya proyect to a robot or simulator.
Usage:
``` bash
usage: rayasdk connect [--robot-id ROBOT_ID | --simulator]
```
Required mutually exclusive arguments:
* `--robot-id ROBOT_ID`: robot identificator (from scan list).
* `--simulator`: connect the project to the simulator.
Optional arguments:
* `-h`, `--help`: show this help message and exit.
## `run`
Execute current Raya project.
Usage:
``` bash
usage: rayasdk run [--local]
```
Optional arguments:
* `--local`: executes the application inside the robot.
* `-h`, `--help`: show this help message and exit.
The applications runs in a new container named:
```
{RAYAENV_DOCKER_CONTAINERPREFIX}_<app_id>
```
Raw data
{
"_id": null,
"home_page": "",
"name": "rayasdk",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "",
"keywords": "robotics,unlimited-robotics,gary",
"author": "Unlimited Robotics",
"author_email": "camilo@unlimited-robotics.com",
"download_url": "https://files.pythonhosted.org/packages/85/82/1b57ffc77195cd08585da52b8aa2da0ad02ab3bce57b9c2fa2b2d7c03816/rayasdk-1.0.14.tar.gz",
"platform": null,
"description": "Copyright 2020 Unlimited Robotics\n\n# Unlimited Robotics SDK\n\n## Components versions:\n\n- Ra-Ya Simulator `1.0.4`\n- Ra-Ya OS `1.0.6`\n- Ra-Ya Python Library `2.8.16`\n- Ra-Ya Simulation Workspace `1.0.8`\n- GGS\n\n## Usage\n\n``` bash\n$ rayasdk [-h] [-v | -q] command {command-options}\n```\n\nOptional arguments:\n* `-h`, `--help`: show this help message and exit.\n* `-v`, `--verbose`: increase output verbosity.\n* `-q`, `--quiet`: don't print on stdout.\n\nPositional arguments:\n\n* `command`: SDK Command\n\nCommands:\n\n* `simulator`: runs the simulator and the bringup.\n* `init`: initialize Raya project in current folder.\n* `scan`: discover robots in the local network.\n* `connect`: connect current raya proyect to a robot or simulator.\n* `run`: execute current Raya project.\n* `kill`: kill all the Ra-Ya related containers.\n\n## Docker container\n\nAll the Ra-Ya related stuff is execute inside the Ra-Ya container. It includes:\n\n* Ra-Ya bringup (including the bridge)\n* Robots scanner\n* Applications\n\nThanks to this, the developer doesn't need to install anything in their computer.\n\nEach time the `rakasdk` is executed, it verifies the existence of the image (see method `check_container` in the file [docker_handler.py](/rayasdk/container_handlers/docker_handler.py)). It checks the image tag acording to the constants in the file [constants.py](/rayasdk/constants.py):\n\nImage tag format: \n\n```\n{RAYAENV_DOCKER_IMGNAME}:{RAYAENV_DOCKER_VERSION}\n```\n\nFor example, when `RAYAENV_DOCKER_IMGNAME=raya_os` and `RAYAENV_DOCKER_VERSION=0.5.0`, it looks for the image:\n\n```\nraya_os:0.5.0\n```\n\nIf it doesn't find the image, it download it as a `tar.gz` file from the link `RAYAENV_DOCKER_URL` and match its sha256 checksum with the one in `RAYAENV_DOCKER_SHA256`. Then, it stores the image in a temporal folder (`RAYAENV_DOCKER_IMGPATH`) and load it in the docker system. After that, the image is ready for future uses.\n\n## Commands\n\n## `simulator`\n\nThis command checks for the existence of the simulator in the path `SIM_PATH`. (looks for the version `GARYSIM_VERSION`). If it doens't find it, it's downloaded from `GARYSIM_URL` and checked with the sha256 checksum `GARYSIM_SHA256`.\n\nIf the simulator is avaiable, it launch it, and also launches the ra-ya bringup in a new container named:\n\n```\n{RAYAENV_DOCKER_CONTAINERPREFIX}_simbridge\n```\n\n## `init`\n\nInitialize Raya project in current folder.\n\nUsage: \n\n``` bash\n$ rayasdk init [-h] --app-id APP_ID [--app-name APP_NAME]\n```\n\nRequired arguments:\n* `--app-id APP_ID`: application unique identificator\n\nOptional arguments:\n* `--app-name APP_NAME`: application name\n* `-h`, `--help`: show this help message and exit\n\nExample:\n\n``` bash\n$ urdsk init --app-id helloworld --app-name 'Hello World'\n```\n\n## `scan`\n\nDiscover robots in the local network.\n\nUsage:\n\n``` bash\n$ rayasdk scan [-h]\n```\n\nOptional arguments:\n\n* `-h`, `--help`: show this help message and exit.\n\nExample:\n\n``` bash\n$ rayasdk scan\n```\n\nOutput:\n\n```\nScanning local network for robots...\n\nRobot ID IP Address DDS Channel\n-------------- ------------- -------------\nGARY_KITCHEN 193.168.20.36 3\nGARY_2665232 193.168.20.76 1\nGARY_RECEPTION 193.168.20.12 2\n```\n\nThe scanner runs in a new container named:\n\n```\n{RAYAENV_DOCKER_CONTAINERPREFIX}_scanner\n```\n\n## `connect`\n\nConnect current raya proyect to a robot or simulator.\n\nUsage:\n\n``` bash\nusage: rayasdk connect [--robot-id ROBOT_ID | --simulator]\n```\n\nRequired mutually exclusive arguments:\n\n* `--robot-id ROBOT_ID`: robot identificator (from scan list).\n* `--simulator`: connect the project to the simulator.\n\nOptional arguments:\n\n* `-h`, `--help`: show this help message and exit.\n\n## `run`\n\nExecute current Raya project.\n\nUsage:\n\n``` bash\nusage: rayasdk run [--local]\n```\n\nOptional arguments:\n\n* `--local`: executes the application inside the robot.\n* `-h`, `--help`: show this help message and exit.\n\nThe applications runs in a new container named:\n\n```\n{RAYAENV_DOCKER_CONTAINERPREFIX}_<app_id>\n```\n\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Raya SDK - Unlimited Robotics Software Development Kit",
"version": "1.0.14",
"project_urls": null,
"split_keywords": [
"robotics",
"unlimited-robotics",
"gary"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "40eb0dd3cf40138e3ffb148ee8b492b805ac4f5b096e6e8be3e575c010f9a1e6",
"md5": "e03acabca4cc91b0fe035f9af50e2756",
"sha256": "1b57def3d262a0ade6ae0524b307c3a4a1315339d0675618c2b269c12bbb9e5e"
},
"downloads": -1,
"filename": "rayasdk-1.0.14-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e03acabca4cc91b0fe035f9af50e2756",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 16322,
"upload_time": "2022-08-12T20:51:50",
"upload_time_iso_8601": "2022-08-12T20:51:50.016937Z",
"url": "https://files.pythonhosted.org/packages/40/eb/0dd3cf40138e3ffb148ee8b492b805ac4f5b096e6e8be3e575c010f9a1e6/rayasdk-1.0.14-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "85821b57ffc77195cd08585da52b8aa2da0ad02ab3bce57b9c2fa2b2d7c03816",
"md5": "82f9064b11c938fed8c3e0beb61c06d1",
"sha256": "6656eeb7842d8ceab8d11c72a8bc03924d9826001089e360f36a1f0212b3dd4f"
},
"downloads": -1,
"filename": "rayasdk-1.0.14.tar.gz",
"has_sig": false,
"md5_digest": "82f9064b11c938fed8c3e0beb61c06d1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 12822,
"upload_time": "2022-08-12T20:51:51",
"upload_time_iso_8601": "2022-08-12T20:51:51.874676Z",
"url": "https://files.pythonhosted.org/packages/85/82/1b57ffc77195cd08585da52b8aa2da0ad02ab3bce57b9c2fa2b2d7c03816/rayasdk-1.0.14.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2022-08-12 20:51:51",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "rayasdk"
}