The OMRON LD-60 is a capable platform out of the box but has no ROS support.
This package is being migrated to ROS 2 and currently provides ROS 2 Jazzy
laser, robot status, and map nodes built on top of libaria.
This does not replace Mobile Planner. Mobile Planner is still used for map creation and robot configuration.
- Protocol Detection And Interface Inspection
- cmd_vel Interface
- Laser Data And LaserScan Conversion
- Using libaria In Other Projects
- Example libaria Consumer Package
Currently ported to ROS 2:
- Package build system (
ament_cmake+rosidl) omron_laser_noderobot_status_nodemap_node- ROS 2 launch file
- Custom message and service generation
Still pending ROS 2 refinement:
- Nav2 action integration for higher-level autonomous goal handling
- Final interface review against your target ROS 2 topic and service contract
Host IP: String e.g. 172.168.1.1
Host Port: String e.g. 7272
User: String e.g. omron
- /laser
- /laser_low
- /current_pose
- /robot_status
- /map
- /map_metadata
- /cmd_vel
- /goal_pose
- /initialpose
- /dock
- /get_map
source /opt/ros/jazzy/setup.bash
cd /home/ubuntu/colcon_ws
colcon build --packages-select libaria ros_omron_agv
source /home/ubuntu/colcon_ws/install/setup.bashLaunch the ROS 2 bringup:
ros2 launch ros_omron_agv omron_bringup.launch.py \
host:=192.168.1.1 \
port:=7272 \
user:=admin \
password:=admin \
protocol:=6MTXThe launch file starts omron_laser_node, robot_status_node, and map_node.
These are the current working commands for the robot at 192.168.1.1 using
admin/admin and protocol 6MTX.
Build and source:
cd /home/ubuntu/colcon_ws
source /opt/ros/jazzy/setup.bash
colcon build --packages-select libaria ros_omron_agv
source install/setup.bashCheck the raw interface first:
./install/libaria/bin/omron_robot_cli \
-host 192.168.1.1 \
-p 7272 \
-u admin \
-pw admin \
-protocol 6MTX \
--check-interfaceLaunch the ROS 2 nodes:
ros2 launch ros_omron_agv omron_bringup.launch.py \
host:=192.168.1.1 \
port:=7272 \
user:=admin \
password:=admin \
protocol:=6MTX \
unsafe_drive:=trueIn a second terminal, run keyboard teleop:
cd /home/ubuntu/colcon_ws
source /opt/ros/jazzy/setup.bash
source install/setup.bash
ros2 run teleop_twist_keyboard teleop_twist_keyboardOptional quick topic checks:
ros2 topic echo /robot_status --once
ros2 topic echo /current_pose --once
ros2 topic echo /map_metadata --oncehost: robot IP or hostnameport: ArNetworking port, typically7272user: robot user namepassword: robot password, or empty string for no passwordprotocol: enforced ArNetworking protocol, default6MTXlaser_frame_id: frame id for published point cloudsmap_frame: frame id for map publication and the map side of the robot transformbase_frame: child frame id for the robot transformmax_linear_speed_mps: linear speed that maps to100%ratioDrive, default1.2max_angular_speed_rad_s: angular speed that maps to100%ratioDrive, default1.5drive_throttle_pct: overall ratioDrive throttle percentage, default100.0unsafe_drive: whether teleop should request unsafe drive on startup, defaulttrue
During teleop, robot_status_node logs the requested linear/angular command,
the converted ratioDrive percentages, and the measured robot feedback speeds.
primary_request: primary laser request name, defaultLaser_1Currentsecondary_request: secondary laser request name, defaultLaser_2Currentprimary_topic: topic for the primary laser, default/lasersecondary_topic: topic for the secondary laser, default/laser_lowrequest_period_ms: server request interval in milliseconds
- Verify the robot accepts the chosen credentials and protocol with
omron_robot_cli. - Start the ROS 2 launch file.
- Inspect
/laser,/current_pose,/robot_status, and/mapusingros2 topic echoor RViz.
For deeper operational notes, see the linked documents in the section above.
