Fanuc Driver¶
The Jacobi Fanuc Driver uses the Remote Motion Interface (RMI) of FANUC. RMI is a standalone option for FANUC robots - make sure that it is installed on your robot.
Driver Installation¶
To install the Jacobi driver, either download the Debian package from account.jacobirobotics.com or install the Python package via
pip install jacobi-fanuc-driver
Robot Setup¶
Make sure that you have at least controller version v9.30P/24 - we currently don’t support robots below that. The software option RMI (#R912) must be loaded on the controller. This can be checked under Menu / Status / Version ID / Config / R912.
The FANUC system variable
$RMI_CFG.$MIN_ITP_TIM
should be set to3
, the default is5
. This is the minimum ITP length of a waypoint.
Connecting¶
For the physical connection, connect your Ethernet cable to Port 1. The network configuration is available under Menu / Setup / Host Comm. Enable DHCP or set an IP address manually. We recommend to try to ping the control PC running the driver using FANUC’s ping feature to rule out any network errors.
Then, construct a FanucDriver
and specify the IP address of the robot
from jacobi.drivers import FanucDriver
driver = FanucDriver(planner, host='192.168.1.157')
#include <jacobi/drivers/fanuc.hpp>
using namespace jacobi::drivers;
FanucDriver driver {planner, "192.168.1.157"}; // host
In case of connection issues, please double check that the network configuration on both the robot and the control PC is correct, as well as no firewall is blocking the TCP packages.
Limitations¶
The
FanucDriver
is still in beta and missing some features compared to the other drivers. In particular,pause
,resume
, or the driver’sspeed
is not available through the API. You can adjust the robot’s speed via the teach pendant.The
RMI_MOVE
program cannot be selected on the controller.Standard manipulators have a funny adjustment for J3 angle. It’s reported on the teach pendant as the
J3 - J2
angle, so they will not necessarily align with the joint positions reported by the driver (which are geometrically accurate).
Examples¶
Here, you can find several examples of using the Driver alongside the Jacobi Motion library.