Original packages are from OmronAPAC
This repository allows controlling the Base, Arm and Gripper of the Omron Mobile Manipulator using packages,
- tmr_ros2 package
- omron_amr package
- omron_gripper package
For supported features and limitations, see the individual repositories on the features supported by the MoMa.
| Branch | ROS2 Version | Compile |
|---|---|---|
| main | Jazzy | |
| develop | Jazzy | |
| humble | Humble |
The robot expects the remote PC to be configured with the following IP address to connect to the robot,
IP Address : 192.168.1.50 Subnet Mask : 255.255.255.0
Create a workspace
mkdir -p omron_ws/src
cd omron_ws/srcInstall dependencies
sudo apt install ros-humble-moveit ros-humble-controller-manager ros-humble-joint-trajectory-controller ros-humble-joint-state-broadcaster ros-humble-rmw-cyclonedds-cpp ros-humble-joint-state-publisher ros-humble-joint-state-publisher-gui ros-humble-vision-opencv ros-humble-navigation2 ros-humble-nav2-bringup ros-humble-slam-toolboxpip install pymodbusClone the repositories into the src folder by
git clone https://github.com/CollaborativeRoboticsLab/tmr_ros2.git
git clone https://github.com/CollaborativeRoboticsLab/omron_amr.git
git clone https://github.com/CollaborativeRoboticsLab/omron_gripper.git
git clone https://github.com/CollaborativeRoboticsLab/omron_moma.gitfinally build by
cd ..
colcon buildor save time and use devcontainer
The top-level launch entry point is ros2 launch moma_ros ld250_tm12x.launch.py.
| Parameter | Default | Description |
|---|---|---|
tm_use_simulation |
false |
Runs the TM arm bringup in simulation mode instead of connecting to the physical arm. |
tm_robot_ip |
192.168.1.2 |
IP address of the TM arm controller. |
use_arm |
true |
Starts the TM arm hardware stack. If false, the arm hardware and MoveIt are not started. |
use_base |
true |
Starts the AMR base hardware stack. If false, the base hardware and Nav2 are not started. |
use_rviz |
false |
Starts RViz. When enabled, the launch automatically chooses the MoveIt RViz layout if the arm and MoveIt are active, otherwise it uses the Nav2 RViz layout. |
use_moveit |
true |
Starts MoveIt for the arm. This is only effective when use_arm:=true. |
use_nav2 |
true |
Starts Nav2 for the mobile base. This is only effective when use_base:=true. |
source install/setup.bash
ros2 launch moma_ros ld250_tm12x.launch.pysource install/setup.bash
ros2 launch moma_ros ld250_tm12x.launch.py use_rviz:=truesource install/setup.bash
ros2 launch moma_ros ld250_tm12x.launch.py use_nav2:=false use_moveit:=falsesource install/setup.bash
ros2 launch moma_ros ld250_tm12x.launch.py use_base:=false use_rviz:=truesource install/setup.bash
ros2 launch moma_ros ld250_tm12x.launch.py use_arm:=false use_rviz:=trueClone this reposiotory
git clone https://github.com/CollaborativeRoboticsLab/omron_moma.git
cd omron_moma/dockerPull the Docker image and start compose (No need to run docker compose build)
docker compose pull
docker compose upTo clean the system,
docker compose down- Define a xacro file within
moma_description/xacrothat imports and customises parts and joints as reqired. - Run the following command to generate the urdf file. replace the
<filename>with required name.
ros2 run xacro xacro src/omron_moma/moma_description/xacro/<filename>.urdf.xacro -o <filename>.urdfeg
ros2 run xacro xacro src/omron_moma/moma_description/xacro/ld250_tm12x.urdf.xacro -o ld250_tm12x.urdf- This would generate the file in the root of the workspace. Move the file into
moma_description/urdffolder
- Update launch files to use standard parameters and remove non-launch related python code
- Create cascadeing launch files for TMDriver, Moveit and RVIZ, AMR base and RVIZ