ROS 2 API of the Origin One
The Origin One is created by Avular for users who want to continue developing robotic solutions. To support such developments, the Origin One has two types of interfaces of which one is the Origin's ROS 2 API.
The Origin One is based on ROS 2 and its data and functionalities are exposed through ROS 2 topic, service calls and actions. As indicated in the picture below, these ROS 2 messages are divided into:
Service calls: services that can be called by the user
Input topics: topics that take input from the user
Output topics: topics that give output to the user
Where possible, the Origin One makes use of standardized ROS 2 messages, such as std_msgs, sensor_msgs, geometry_msgs and nav2_msgs. But for some messages we have defined our own custom messages
Info
The topics of the Origin One all start with a namespace /origin. You may change this namespace on your robot by adjusting the configuration file of the Zenoh bridge as follows:
- Open an ssh session with the robot.
- CD into \apps\data\zenoh.
- Open the config.json using vim, i.e., $ vim config.json.
- Adjust the value of "\origin" to the one you desire and close vim by pressing "esc", followed by ":wq" and "enter".
Avular's ROS2 messages can be divided across the two main components. There is the Origin Platform itself that integrates all the sensor data of the robot and accepts velocity commands. And there is the Autopilot Inference that integrates all the autonomous capabilities of the robot related to perception, navigation, ordination and cognition.
An overview of the ROS2 messages that you as a user may interact with is depicted in the figures below. Herein, a topic is depicted with a single-sided arrow, while a service is depicted with a double-sided arrow.


An explanation of the messages and services as depicted in the illustration above are presented in the next sections. These sections are divided in accordance with the different functionalities of the robot, i.e.:
- Controlling the robot: topics and services for commanding a velocity to the robot.
- Sensing data: topics that publish sensor data of the robot.
- Navigation: topics and services related for navigating the robot.
- Maps and paths: topics and services related for creating maps and paths with the robot.
- Executing operations: topics and services for defining the mode of operations, jobs and behaviors that may be executed by the robot.
- Robot management: topics and services related ot the status and management of the robot.
Example on how to use this ROS2 API can be found in our code examples