Install WMX ROS2#
WMX3 is MOVENSYS’s software-defined motion control stack. It connects a PC to servo drives via Lan cable and provides deterministic cycle loop.
We recommend to verify basic behavior in a simulator (WMX3, Isaac Sim, Gazebo, etc.) before moving to real motor control testing on robot control machine.
Prerequisites#
Ubuntu 22.04/24.04 LTS
sudoprivileges
Install WMX#
Select the tab that matches your hardware.
Download the WMX3 Installer
Select the archive that matches your Ubuntu version.
Ubuntu 22.04
wget --user=guest --password=guest http://download.movensys.com:8111/webdav/WMX3_Installer/Linux/Ubuntu22.04_linux5.19.0_rt10.zip
Ubuntu 24.04
wget --user=guest --password=guest http://download.movensys.com:8111/webdav/WMX3_Installer/Linux/Ubuntu24.04_linux6.15.2_rt2.zip
Note
If the wget command fails, download the archive directly via the URL using a web browser.
Ubuntu version |
Download via URL |
|---|---|
Ubuntu 22.04 |
|
Ubuntu 24.04 |
Note
The download page may prompt for credentials. Use *guest* for both username and password.
Install WMX3
Once the archive is downloaded, extract it and run the installer.
Ubuntu 22.04
unzip Ubuntu22.04_linux5.19.0_rt10.zip
cd Ubuntu22.04_linux5.19.0_rt10
sudo dpkg -i *wmx3-installer.deb
Ubuntu 24.04
unzip Ubuntu24.04_linux6.15.2_rt2.zip
cd Ubuntu24.04_linux6.15.2_rt2
sudo dpkg -i *wmx3-installer.deb
Installing WMX3 on an ARM machine is for real-world scenarios.
Download the WMX3 Installer
Unzip wmx3_arm64_installers.zip from the download site.
wget --user=guest --password=guest http://download.movensys.com:8111/webdav/WMX3_Installer/Linux/wmx3_arm64_installers.zip
unzip wmx3_arm64_installers.zip
Currently supported IPCs are listed below.
Advantech MIC-713, NVIDIA Jetson Orin NX on Ubuntu 20.04
sudo dpkg -i 20260403_Ubuntu20.04_linux-5.10.120-rt70-jetson-orin-nx-mic-713-wmx3-installer.deb
Advantech MIC-733ao, NVIDIA Jetson Orin AGX on Ubuntu 22.04
sudo dpkg -i 20260403_Ubuntu22.04_linux-5.15.148-rt-jetson-agx-orin-mic-733ao-wmx3-installer.deb
Note
Recommended NIC driver for the 5.15.148-tegra kernel
For the 5.15.148-tegra kernel, we also recommend using rt_igb.ko
from rt_igc_igb_5.15.148-rt-tegra.zip:
wget --user=guest --password=guest http://download.movensys.com:8111/webdav/WMX3_Installer/Linux/rt_igc_igb_5.15.148-rt-tegra.zip
unzip rt_igc_igb_5.15.148-rt-tegra.zip
After unzipping, copy the rt_igb.ko or rt_igc.ko file to
/opt/wmx3/platform/ethercat:
cp rt_igc.ko rt_igb.ko /opt/wmx3/platform/ethercat
Advantech MIC-743, NVIDIA Jetson Thor on Ubuntu 24.04
sudo dpkg -i 20260403_Ubuntu24.04_linux-6.8.12-rt-jetson-thor-mic-743-wmx3-installer.deb
The installer places the WMX3 runtime at /opt/wmx3/.
Confirm the required headers and libraries are present:
ls /opt/wmx3/include/WMX3Api.h
ls /opt/wmx3/lib/libwmx3api.so
ls /opt/wmx3/lib/libimdll.so
All files must exist before proceeding. If any are missing, re-run the installer or contact your MOVENSYS representative.
Note
Our product depends on Network Interface Card (NIC) drivers, not on specific IPCs. If you share Ubuntu kernel version and NIC driver information to issue boards (movensys/wmx-ros2#issues), we can support WMX3 installation for your environment.
Check your kernel version:
uname -a
Check your NIC drivers:
lspci -v
Install WMX ROS2 Package#
Add the following to your ~/.bashrc:
export ROS_DOMAIN_ID=70 #use any number
export ROS_DISTRO=jazzy #support {jazzy, humble}
export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
source /opt/ros/$ROS_DISTRO/setup.bash
source ~/workspaces/movensys_ws/install/setup.bash
Apply the changes:
source ~/.bashrc
Install Required ROS2 Dependencies#
sudo apt update
sudo apt install -y ros-${ROS_DISTRO}-graph-msgs \
ros-${ROS_DISTRO}-moveit-ros \
ros-${ROS_DISTRO}-moveit-planners \
ros-${ROS_DISTRO}-moveit-plugins \
ros-${ROS_DISTRO}-moveit-setup-assistant \
ros-${ROS_DISTRO}-moveit-configs-utils \
ros-${ROS_DISTRO}-moveit-task-constructor-core \
ros-${ROS_DISTRO}-ros2-control \
ros-${ROS_DISTRO}-ros2-controllers \
ros-${ROS_DISTRO}-rmw-cyclonedds-cpp
sudo apt install -y python3-colcon-common-extensions python3-rosdep
Create Workspace and Build#
Create workspace
mkdir -p ~/workspaces/movensys_ws/src
cd ~/workspaces/movensys_ws/src && \
git clone https://github.com/movensys/wmx-ros2.git
Rosdep update
sudo rosdep init # only needed once per system
rosdep update
cd ~/workspaces/movensys_ws
rosdep install --from-paths src --ignore-src -y
Build (wmx_ros2_package depends on wmx_ros2_message, so build the
message package first):
cd ~/workspaces/movensys_ws
# Stage 1: build the message package first
colcon build --packages-select wmx_ros2_message
source install/setup.bash
# Stage 2: build all remaining packages
colcon build
source install/setup.bash
Verify Installation#
ros2 pkg list | grep wmx && ros2 pkg executables wmx_ros2_package
Expected:
wmx_ros2_message
wmx_ros2_package
wmx_ros2_package diff_drive_controller
wmx_ros2_package follow_joint_trajectory_server
wmx_ros2_package manipulator_state
wmx_ros2_package wmx_core_motion_node
wmx_ros2_package wmx_engine_node
wmx_ros2_package wmx_ethercat_node
wmx_ros2_package wmx_io_node