Package: rayasdk
Copyright 2020 Unlimited RoboticsUnlimited Robotics SDKComponents versions:Ra-Ya Simulator1.0.4Ra-Ya OS1.0.6Ra-Ya Python Library2.8.16Ra-Ya Simulation Workspace1.0.8GGSUsage$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 CommandCommands: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 containerAll the Ra-Ya related stuff is execute inside the Ra-Ya container. It includes:Ra-Ya bringup (including the bridge)Robots scannerApplicationsThanks to this, the developer doesn't need to install anything in their computer.Each time therakasdkis executed, it verifies the existence of the image (see methodcheck_containerin the filedocker_handler.py). It checks the image tag acording to the constants in the fileconstants.py:Image tag format:{RAYAENV_DOCKER_IMGNAME}:{RAYAENV_DOCKER_VERSION}For example, whenRAYAENV_DOCKER_IMGNAME=raya_osandRAYAENV_DOCKER_VERSION=0.5.0, it looks for the image:raya_os:0.5.0If it doesn't find the image, it download it as atar.gzfile from the linkRAYAENV_DOCKER_URLand match its sha256 checksum with the one inRAYAENV_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.CommandssimulatorThis command checks for the existence of the simulator in the pathSIM_PATH. (looks for the versionGARYSIM_VERSION). If it doens't find it, it's downloaded fromGARYSIM_URLand checked with the sha256 checksumGARYSIM_SHA256.If the simulator is avaiable, it launch it, and also launches the ra-ya bringup in a new container named:{RAYAENV_DOCKER_CONTAINERPREFIX}_simbridgeinitInitialize Raya project in current folder.Usage:$rayasdkinit[-h]--app-idAPP_ID[--app-nameAPP_NAME]Required arguments:--app-id APP_ID: application unique identificatorOptional arguments:--app-name APP_NAME: application name-h,--help: show this help message and exitExample:$urdskinit--app-idhelloworld--app-name'Hello World'scanDiscover robots in the local network.Usage:$rayasdkscan[-h]Optional arguments:-h,--help: show this help message and exit.Example:$rayasdkscanOutput: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              2The scanner runs in a new container named:{RAYAENV_DOCKER_CONTAINERPREFIX}_scannerconnectConnect current raya proyect to a robot or simulator.Usage:usage:rayasdkconnect[--robot-idROBOT_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.runExecute current Raya project.Usage:usage:rayasdkrun[--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>