Create your First App (Robot)
  • 1 Minute to read

Create your First App (Robot)


Article Summary

Overview

This section describes how to create a simple Ra-Ya app.

We are going to create an application that is going to be executed on a real robot, For now we are going to test that everything is installed correctly with a Hello world example.

Connecting to the robot

Let's start verifying that the robot is connected to the network, with the SDK installed open a new terminal and run

rayasdk scan

This will output a table with the available robots on the network, the output should look like this

Press enter to exit...

Robot ID              Serial                IP Address
--------------------  --------------------  --------------
JETSON_ORIN_BOGOTA    JETSON_ORIN_BOGOTA    172.xxx.xxx.xxx
JETSON_XAVIER_BOGOTA  JETSON_XAVIER_BOGOTA  192.168.xxx.xxx
GARYV2_OFFICE_08      SN-08                 172.xxx.xxx.xxx

Once that you see that the robot that you want to connect is present on the list, execute this

rayasdk connect --robot-id GARYV2_OFFICE_08

In case that the robot appears multiple times you will have to define the IP that should be use on the connection with

rayasdk connect --robot-ip 192.168.xxx.xxx

The command can prompt you to do certain actions, Once that the connection is successfully you should see

You have successfully connected to GARYV2_OFFICE_08

The connection is only necesary the first time, or each time that you want to run the application on a different robot, In case that the connection failed make sure that the robot is running Ra-Ya OS and is connected to your network.

Creating the app

An Ra-Ya app need a structure in order to execute, The SDK will help you with this, open a terminal and execute:

mkdir hello_world
cd hello_world
rayasdk init

Now you should see that the folder contains files and directories, open with any editor the file app.py inside the src directory, replace the content with the following code:

from raya.application_base import RayaApplicationBase

class RayaApplication(RayaApplicationBase):

    async def setup(self):
        # Create local attributes and variables
        self.log.info(f'Hello from setup()')

    async def loop(self):
        # Loop
        self.log.info('Hello world')
        self.finish_app()

    async def finish(self):
        # Finishing instructions
        self.log.warn(f'Hello from finish()')

Run your app

You just wrote your first Ra-Ya app. It's time to run it!

Open a terminal and go to the project folder, and execute:

rayasdk run

The app will be sent to the robot and is going to be launched, you should see on the output this

Syncing the app on the host 'rayadevel@172.xxx.xxx.xxx'...
Launching app...
(INFO)<RayaApp.app.hello_world> Hello from setup()
(INFO)<RayaApp.app.hello_world> Hello world
(WARNING)<RayaApp.app.hello_world> Hello from finish()

Congratulations you just executed an app.


Was this article helpful?