FANUC CRX Series Hardware Setup Guide
This how-to guide covers steps for setting up and configuring a CRX series robot arm to run with MoveIt Pro.
Required Hardware
The MoveIt Pro Technical Specifications Document details the hardware and software requirements for running MoveIt Pro along with a list of the current features.
1. Assemble the Arm hardware
Your CRX series robot comes with a setup guide, follow this document to Assemble the arm. There are some additional details on network setup on the FANUC Driver Documentation site.
2. Set Up Computer
For the best hardware performance, FANUC recommends setting up the control computer to run Ubuntu 22.04 (optionally with real-time PREEMPT_RT kernel installed).
3. Set Up Robot Controller
Follow the Robot Controller Setup guide to prepare the FANUC arm for communication with the control computer.
4. Change Computer and Robot Network Settings
Follow the Driver Network Configuration and Robot Network Configuration guides to configure the network connection between the computer and robot.
5. MoveIt Pro Robot Configuration
If you have not already installed MoveIt Pro, follow the Quick Start Install.
Next we will clone the moveit_pro_fanuc_config workspace.
mkdir -p ~/moveit_pro
cd ~/moveit_pro
git clone https://github.com/PickNikRobotics/moveit_pro_fanuc_config.git
cd moveit_pro_fanuc_config
git submodule update --recursive --init
Now we will customize the crx_hw
robot configuration for your hardware:
- By default, this config loads the URDF to the CRX-10iA robot, however this can be configured by setting the
robot_model
URDF parameter (underrobot_description: urdf_params:
) in the hardware config'sconfig.yaml
file. Optionally you can change this parameter in thecrx_mock
if you would like to visualize the robot using mock hardware as well. Possible values are the available models in thefanuc_crx_description
package (e.g.crx10ia
,crx10ia_l
,crx20ia_l
, etc.). - Change the URDF parameters,
robot_ip
,stream_motion_port
andrmi_port
, within the hardware config'sconfig.yaml
to configure MoveIt Pro with the IP address and ports set in the previous step.
To tell MoveIt Pro to launch with the crx_hw
configuration, run moveit_pro configure
and in response to the prompts update the workspace path to ~/moveit_pro/moveit_pro_fanuc_config
and update the MoveIt Pro robot config package to crx_hw
.
Lastly, build the docker image and user workspace:
moveit_pro build
Your hardware is now ready for use with MoveIt Pro!
6. Launch MoveIt Pro
Use the command moveit_pro run
to launch MoveIt Pro with your CRX hardware.
Configuring Real-Time GPIO
The crx_hw
contains a copy of the example gpio config provided by the FANUC driver and is configured to start up the FANUC GPIO controller.
This file can be changed to whatever configuration you'd like (additional details in the FANUC docs).
If you do not require real-time control of certain GPIO values, the GPIO controller also exposes ROS2 services under /fanuc_gpio_controller/*
that does not require configuration.
Troubleshooting
Hardware is no longer streaming
Sometimes the FANUC driver can lose connection to the robot if there is high network load on the control computer. If you see the following line in the MoveIt Pro logs, the FANUC hardware interface will need to be restarted.
[FR_HW_Interface]: FANUC ROS2 HW no longer streaming.
To restart the hardware interface, run moveit_pro shell
in a separate terminal, and then run the following commands.
ros2 control set_hardware_component_state crx10ia inactive
ros2 control set_hardware_component_state crx10ia active