Skip to content

Development strategies

The Origin One is created by Avular for users who want to continue developing robotic solutions. To support such developments you, as a developer, will need to exchange messages with the robot. Messages such as ROS2 topics, services and actions, and messages to import the Avular SDK into your program. The below image depicts two main strategies from a software perspective that the user has to extend upon the existing Origin One platform to create their custom functionalities. The first method is commanding the Origin One from an external device making use of a Zenoh bridge between the two devices. External devices can either be a Companion PC mounted directly to the Origin One and connected via ethernet or from a User PC (laptop) connected via Wi-Fi. The second method is by developing and running user software on the internal Linux computer of the Origin One. This method requires the use of user Docker containers. The options are explained in further detail below the image.

DevelopmentOptions

Option 1: Commanding the Origin One from an external computer

One of the primary methods to extend the functionalities of the Origin One is by commanding it from an external device. This can be achieved by using a Zenoh bridge to facilitate communication between the Origin One and the external device. External devices can either be a Companion PC mounted directly to the Origin One and connected via ethernet, or a User PC (laptop) connected via Wi-Fi.

Connect a User PC via a Wi-Fi connection

Connecting a User PC via a Wi-Fi connection is typically the first step for users to test and debug the functionalities of the robot. This method is ideal for initial development and testing of low-bandwidth and latency-tolerant applications. However, it's important to note that Wi-Fi connections may not always provide consistent connection quality, and receiving point clouds and depth image streams through this connection can be prone to delays.

To begin developing on a User PC connected via Wi-Fi, you need to set up a Zenoh bridge connection on the external device. This setup is crucial for establishing communication between your User PC and the robot. For detailed instructions on how to configure the Zenoh bridge connection, please consult the Setting up a Zenoh bridge guide.

From your User PC you can also visualize the Origin One platform using RVIZ. Please consult the visualizing the Origin on a User PC guide, it directs you to an Avular open-source Github repository.

Setting up a Zenoh bridge

Visualizing the Origin on a User PC

Info

It is highly recommended to connect to the Origin One access point when deploying software applications from a User PC to the Origin One via the 192.168.192.1 IP-address.

Connect a Companion PC via ethernet

For more robust and reliable communication, you can connect a Companion PC directly to the Origin One via ethernet. This setup is suitable for high-bandwidth and low-latency applications, ensuring consistent connection quality. The Companion PC can be mounted directly to the Origin One, providing a seamless integration for development and deployment. It also allows users the flexibility to select any computer they prefer. Additionally, this method safeguards the pre-installed software configuration on the Origin One's internal Linux computer from unintended alterations or tampering.

To set up a Companion PC you need to establish an ethernet network connection and a Zenoh bridge. For the ethernet connection please consult the How to connect a Companion PC guide. To set up a Zenoh bridge connection on the Companion PC, please consult the Setting up a Zenoh bridge guide.

How to connect a Companion PC

Setting up a Zenoh bridge

Option 2: Developing and running user software on the internal Linux computer

The second method to extend the functionalities of the Origin One is by developing and running user software directly on the internal Linux computer of the Origin One. While this approach leverages the internal computing resources of the robot, allowing for more integrated and efficient processing, it can also impact the computing resources available for the platform itself. With an Autopilot running, this method is not recommended as it may interfere with the critical operations of the Origin One.

User containers

To develop and run user software on the internal Linux computer, you will need to use Docker containers. Docker provides a standardized environment for your applications, ensuring that they run consistently across different setups. By containerizing your applications, you can easily manage dependencies and streamline the deployment process.

For more information about Docker containers, please consult the external link to Information about Docker containers. For detailed instructions on how to create and deploy Docker containers on the internal Linux computer of the Origin One, please refer to the Start working with the user container guide.

Information about Docker containers

Start working with the user container