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 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 message set, called origin_msgs
Avular's ROS2 messages can be divided across the two main components. There is the mobile platform itself that integrates all the sensor data of the robot and accepts velocity commands. And there is the autopilot 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.
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.
- Jobs and behaviors: topics and services for defining jobs and behaviors that may be executed by the robot.
- Robot management: topics and services related ot the status and management of the robot.
Some examples on how to use these interfaces and start developing you own application can be found on the page of our code examples.