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 image below depicts two main strategies that the user may choose from to start developing their custom functionalities as an extension to the hardware and software that is running on the Origin One by default.

  • Option 1: running user hardware and software on an external device that exchanges ROS2 messages with the Origin One by 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.
  • Option 2: running user software on the internal Linux computer of the Origin One that exchanges ROS2 messages within the robot's local ROS2 network. This method requires the use of user Docker containers.

Both options are further explained in more detail.

Info

The Origin One has its own hotspot AND, simultaneously, is able to connect to an external computer. This means that you may connect your laptop to the robot using its hotspot and, for example, enter the user container in which you are able to pull git repositories when the Origin One is also connected to a WiFi network. You may also forward the internet access of the Origin One to the external computer in case you mounted one on the robot.

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 connecting an external device to the robot, and connect the ROS2 network of this external device to the ROS2 network of the robot. This can be achieved by using a Zenoh bridge to facilitate ROS2 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 Companion PC via ethernet

For the most 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

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.

Setting up a Zenoh bridge

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.

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.

Visualizing the Origin on a User PC

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 Inference running, this method is not recommended as it may interfere with the critical operations of the Origin One for autonomous navigation.

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