This document describes the standalone non-ROS command-line test client built from tools/omron_robot_cli.cpp.
The tool is intended for first-contact robot checks before involving ROS 2. It connects to the robot over ArNetworking, prints live robot state, and lets you send a small set of operator commands for motion, navigation and docking.
- Network connection to the robot server
- ArNetworking protocol compatibility using
6MTXfirst, then legacy fallbacks - Robot state updates such as mode, status, pose, velocity and battery
- Basic operator commands such as stop, safe drive, ratio drive and goto pose
- Dock request support when the server exposes the dock interface
Build the package from the workspace root:
cd /home/ubuntu/colcon_ws
colcon build --packages-select libariaThen source the workspace so the installed binary and libraries are available:
source /home/ubuntu/colcon_ws/install/setup.bashRun the installed executable:
/home/ubuntu/colcon_ws/install/libaria/bin/omron_robot_cliThe CLI defaults to the current standalone test-client settings:
- Host:
192.168.1.1 - Port:
7272 - User:
admin - Password mode:
-np(no password)
If your robot uses different settings, override them on the command line:
/home/ubuntu/colcon_ws/install/libaria/bin/omron_robot_cli \
-host 192.168.0.50 \
-p 7272 \
-u admin \
-npIf the server requires a password, use -pw (or -pwd) instead of -np:
/home/ubuntu/colcon_ws/install/libaria/bin/omron_robot_cli \
-host 192.168.0.50 \
-p 7272 \
-u operator \
-pw secretTo inspect every advertised request on the connected robot interface, add
--check-interface:
/home/ubuntu/colcon_ws/install/libaria/bin/omron_robot_cli \
-host 192.168.1.1 \
-p 7272 \
-u admin \
-pw admin \
--check-interfaceA sample list of available interfaces is printed in the Current Interfaces document.
On successful connection the tool:
- Tries
6MTX, thenD6MTX, then5MTX, unless you override it with-protocol <value> - Starts the ArNetworking client asynchronously
- Requests robot update packets
- Subscribes to dock state updates if the server provides
dockInfoChanged - Prints a startup summary with the local CLI commands and their live server availability
- Enters an interactive prompt:
omron>
If you pass --check-interface, the tool also prints the full list of server
requests advertised by the robot after connecting.
6MTX is the protocol currently advertised by the robot on port 7272. The
fallbacks remain available for older controllers or mixed environments.
To disable protocol enforcement entirely and accept the server-advertised version, pass an empty protocol string:
/home/ubuntu/colcon_ws/install/libaria/bin/omron_robot_cli \
-host 192.168.0.50 \
-p 7272 \
-u operator \
-pw secret \
-protocol ""Type help or options at the prompt to print the built-in command summary.
The command summary is formatted as one command per line, for example:
help Show this summary
options Show this summary
status Show one robot state snapshot
watch [count] [interval_ms] Stream repeated status snapshots
stop Stop motion (available)
safe Enable safe drive (available)
unsafe Disable safe drive (available)
ratio <trans_pct> <rot_pct> [duration_ms] [throttle_pct] [lat_pct] Ratio drive percentages (available)
cmdvel <linear_mps> <angular_rad_s> [duration_ms] [throttle_pct] [lat_pct] Twist-style velocity command (available)
goto <x_m> <y_m> <theta_deg> Send gotoPose (available)
dock Request docking (available)
undock Request undocking (available)
quit Exit the CLI
Availability is evaluated against the live server after connection.
When --check-interface is enabled, the tool prints a separate list of all
advertised server requests, one per line. Use that list to discover robot-side
services beyond the built-in CLI commands.
Print one snapshot of current robot state:
- Mode
- Status string
- Pose in meters and heading in degrees
- Translational, lateral and rotational velocity
- Battery voltage
- Dock state, when available
Example:
status
Print repeated status snapshots.
Examples:
watch
watch 20 500
The first form prints 10 updates at 1 second intervals.
Requests stop mode through ArClientRatioDrive::stop().
Example:
stop
Use this as the first recovery command if the robot is moving unexpectedly.
Requests safe drive mode on the server.
Example:
safe
Requests unsafe drive mode on the server.
Example:
unsafe
Do not use unsafe drive unless you are certain the test area is clear and you understand how the server is configured.
Sends ratio-drive commands using ArClientRatioDrive. Values are percentages of
the server-configured limits.
Examples:
ratio 10 0 1000
ratio 0 15 1000
ratio 5 -10 1500 50
Notes:
trans_pctis forward/backward percentagerot_pctis rotational percentageduration_msis optional; if provided, the client waits that long and then sendsstopthrottle_pctdefaults to100lat_pctdefaults to0
For initial testing, start with small values such as 5 or 10.
Sends a Twist-style velocity command by converting linear and angular speeds
into ratioDrive percentages. The default conversion assumes 0.5 m/s
corresponds to 100% translational drive and 1.0 rad/s corresponds to 100%
rotational drive.
Examples:
cmdvel 0.1 0.0 1000
cmdvel 0.0 0.2 1000
This command is useful when you want CLI behavior to match ROS Twist inputs.
For raw ratio percentages, use ratio.
Sends a gotoPose request to the server in meters and degrees.
Example:
goto 1.0 0.0 0
If the server does not advertise gotoPose, the command reports that instead of
sending the request.
Sends a dock request to the server.
Example:
dock
If the server does not advertise dock, the command reports that instead of
sending the request.
Sends an undock request to the server when that interface is advertised.
Example:
undock
If the server does not advertise undock, the CLI reports that and keeps the
session active. If you need to inspect the full server interface, run the CLI
with --check-interface.
Exits the prompt, requests stop, disconnects the client and shuts down ARIA.
Examples:
quit
exit
Use a conservative sequence on real hardware:
- Start the CLI and confirm it connects.
- Run
status. - Run
watch 10 500. - Run
safe. - Run
ratio 5 0 1000. - Run
stop. - Run
ratio 0 5 1000. - Run
stopagain.
Only after those succeed should you test goto or dock.
Check host, port, username and password options. If the robot server uses a
password, do not use -np.
The CLI checks whether the server advertises interfaces such as gotoPose,
dock, or ratioDrive. If a command is unavailable, verify that the robot-side
server actually exposes that request.
That message may appear when running directly from a build tree or without the expected installed layout. Prefer running the installed binary after sourcing the workspace setup file.
- CLI implementation: tools/omron_robot_cli.cpp
- Top-level package notes: README.md