Python package for FANUC industrial robots
Project description
fanucpy: Python package for FANUC industrial robots
Software contents
The package consists of two parts:
- Robot interface code written in Python programming language
- FANUC robot controller driver (tested with R-30iB Mate Plus Controller) written in KAREL and FANUC teach pendant languages
The communication protocol between the Python package and the FANUC robot controller is depicted below:
Python package installation
pip install fanucpy
Driver installation
Follow these steps to install FANUC driver.
Usage
Connect to a robot:
from fanucpy import Robot
robot = Robot(
robot_model="Fanuc",
host="192.168.1.100",
port=18735,
ee_DO_type="RDO",
ee_DO_num=7,
)
robot.connect()
Moving
# move in joint space
robot.move(
"joint",
vals=[19.0, 66.0, -33.0, 18.0, -30.0, -33.0],
velocity=100,
acceleration=100,
cnt_val=0,
linear=False
)
# move in cartesian space
robot.move(
"pose",
vals=[0.0, -28.0, -35.0, 0.0, -55.0, 0.0],
velocity=50,
acceleration=50,
cnt_val=0,
linear=False
)
Opening/closing gripper
# open gripper
robot.gripper(True)
# close gripper
robot.gripper(False)
Querying robot state
# get robot state
print(f"Current pose: {robot.get_curpos()}")
print(f"Current joints: {robot.get_curjpos()}")
print(f"Instantaneous power: {robot.get_ins_power()}")
print(f"Get gripper state: {robot.get_rdo(7)}")
Calling external program
robot.call_prog(prog_name)
Get/Set RDO
robot.get_rdo(rdo_num=7)
robot.set_rdo(rdo_num=7, value=True)
Contributions
External contributions are welcome!
- Agajan Torayev: Key developer
- Karol
- Fan Mo: Support with documentation
- Michael Yiu: External contributor
RobotApp
We introduce an experimental feature: Robot Apps. This class facilitates modularity and plug-and-produce functionality. Check the following example apps:
Citation
Please use the following to cite if you are using this library in academic publications Towards Modular and Plug-and-Produce Manufacturing Apps
@article{torayev2022towards,
title={Towards Modular and Plug-and-Produce Manufacturing Apps},
author={Torayev, Agajan and Mart{\'\i}nez-Arellano, Giovanna and Chaplin, Jack C and Sanderson, David and Ratchev, Svetan},
journal={Procedia CIRP},
volume={107},
pages={1257--1262},
year={2022},
publisher={Elsevier}
}
Acknowledgements
This work was developed at the Institute for Advanced Manufacturing at the University of Nottingham as a part of the Digital Manufacturing and Design Training Network.
This project has received funding from the European Union’s Horizon 2020 research and innovation programme under the Marie Skłodowska-Curie grant agreement No 814078.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.