Skip to content

CollaborativeRoboticsLab/ros_omron_agv

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OMRON ROS 2 Robot Driver

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.

Additional Documentation

Migration Status

Currently ported to ROS 2:

  • Package build system (ament_cmake + rosidl)
  • omron_laser_node
  • robot_status_node
  • map_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

LD-60 Robot

Required Parameters

Host IP: String e.g. 172.168.1.1

Host Port: String e.g. 7272

User: String e.g. omron

Topics

Published

  • /laser
  • /laser_low
  • /current_pose
  • /robot_status
  • /map
  • /map_metadata

Subscribed

  • /cmd_vel
  • /goal_pose
  • /initialpose

Services

  • /dock
  • /get_map

Build

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.bash

Run

Launch 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:=6MTX

The launch file starts omron_laser_node, robot_status_node, and map_node.

Known-Good Bringup Commands

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.bash

Check the raw interface first:

./install/libaria/bin/omron_robot_cli \
	-host 192.168.1.1 \
	-p 7272 \
	-u admin \
	-pw admin \
	-protocol 6MTX \
	--check-interface

Launch 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:=true

In 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_keyboard

Optional quick topic checks:

ros2 topic echo /robot_status --once
ros2 topic echo /current_pose --once
ros2 topic echo /map_metadata --once

Parameters

  • host: robot IP or hostname
  • port: ArNetworking port, typically 7272
  • user: robot user name
  • password: robot password, or empty string for no password
  • protocol: enforced ArNetworking protocol, default 6MTX
  • laser_frame_id: frame id for published point clouds
  • map_frame: frame id for map publication and the map side of the robot transform
  • base_frame: child frame id for the robot transform
  • max_linear_speed_mps: linear speed that maps to 100% ratioDrive, default 1.2
  • max_angular_speed_rad_s: angular speed that maps to 100% ratioDrive, default 1.5
  • drive_throttle_pct: overall ratioDrive throttle percentage, default 100.0
  • unsafe_drive: whether teleop should request unsafe drive on startup, default true

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, default Laser_1Current
  • secondary_request: secondary laser request name, default Laser_2Current
  • primary_topic: topic for the primary laser, default /laser
  • secondary_topic: topic for the secondary laser, default /laser_low
  • request_period_ms: server request interval in milliseconds

Getting Started

  1. Verify the robot accepts the chosen credentials and protocol with omron_robot_cli.
  2. Start the ROS 2 launch file.
  3. Inspect /laser, /current_pose, /robot_status, and /map using ros2 topic echo or RViz.

For deeper operational notes, see the linked documents in the section above.

About

ROS2 driver for the Omron LD-60 Robot

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C++ 79.4%
  • Python 10.5%
  • CMake 5.8%
  • Dockerfile 4.3%