This repository contains the ROS 2 packages for both a dual-robot UR10e system and Hardware-in-the-Loop (HIL) test system developed at the Intelligent Factory and Robotics Laboratory (IFARLAB) of Eskişehir Osmangazi University (ESOGU).
The current file structure uses absolute file paths within some .xacro files. To run this repository on your system without issues, you must update these paths according to your own username and workspace directory.
TODO: Before using the repository, edit the specified file path below and any other similar absolute paths to match your system configuration.
For example, line 83 of the firstrobot_my_robot_cell_macro.xacro file, located in the my_robot_cell_description package, is as follows:
<mesh filename="file:////home/cem/colcon_ws/src/Universal_Robots_ROS2_Description/meshes/ur10e/collision/linear_axis_moving_link.stl" scale="0.001 0.001 0.001"/>You must replace the /home/cem/ part in this line with your own username. For example, if your username is ifarlab, the line should be updated as follows:
<mesh filename="file:////home/ifarlab/colcon_ws/src/Universal_Robots_ROS2_Description/meshes/ur10e/collision/linear_axis_moving_link.stl" scale="0.001 0.001 0.001"/>Getting Started
Clone the project.
cd ~/colcon_ws/src
git clone https://github.com/ESOGU-SRLAB/ESOGU-HARMONY.gitMove the files coming to the ESOGU-HILTest-DualRobot cluster to the /src directory.
Install dependencies,
cd ~/colcon_ws
rosdep init
rosdep update
rosdep install --from-paths src -y --ignore-srcbuild the workspace
colcon build
source install/setup.bashLaunch HIL Test System for IFARLAB environment
ros2 launch my_robot_cell_control hil_test.launch.py use_fake_hardware:=trueStart the sensing&cleaning robot setup
ros2 launch my_robot_cell_control sensing_and_cleaning_mission_v3.launch.py Start the sensing robot with the command below
ros2 topic pub --once /harmony/cmd_input std_msgs/msg/String '{"data": "{\"cmd\": \"start\"}"}'Start the cleaning robot with the command below
ros2 topic pub --once /harmony/cmd_input std_msgs/msg/String '{"data": "{\"cmd\": \"CONFIRM\"}"}'