Igus Cobot Ros2



Cobot_Igus

This project is about interfacinf a low-cost robot using a Beckhoff PLC and ROS2 using OPC UA for communication. The project has three main sections:

  1. PLC Program
  2. User Interface
  3. ROS2

PLC Program

The PLC program is written in SFC and ST. The programming is done in TwinCAT3 v4024.17. The code for running the program is already there in the IPC C6030-0060 inside the control cabinet. The project can be easily accessed from there.

In order to setup the same project again please follow the README in the TwinCAT3 folder of this repository.

User Interface

The user interface is developed on the node-red dashboard. The nodered setup requires a special plugin for ROS2 for which the following github repsoitory is used: https://github.com/eProsima/node-red-ros2-plugin.git

There were certain changes made in the docker compose file and the edited folder can be found in the folder Node-Red Docker. To install the docker container please follow the instructions in the README in the folder.

Once the docker container is properly installed the flow for the user interface can be directly imported. The flow is present in the folder NodeRed. Please refer to the README in the folder

ROS2

The ROS2 pakcages are made in Humble Hawskbill in Ubuntu 22.04. Please install ROS2 using the instruction from below link: https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html

Once ROS2 is installed please follow the README in the folder ROS2 of this repsoitory.

Robot Operation instructions

Please make sure all above procedure is completed before the robot is put in operative state. The steps below assume that all the necessary Installations are performed if setting up on a new device.

  1. Connect the Display Port to the IPC and also the mouse and keyboard.
  2. Turn on the control cabinet.
  3. Open the PLC Project and click on Activate Configuration icon.
  4. Once the PLC has started click the Login icon, then click the Start icon.
  5. Open User interface
    1. In the Ubuntu System connect the cable from the router to the LAN Port.
    2. Run the docker container in a terminal using the command ‘sudo docker compose up’.
    3. Then open the user interface from the browser using the url ‘127.0.0.1:1880’ for the flow and ‘127.0.01:1880/ui’ for the user interface.
    4. The user interface should have the Move options disabled.
    5. Click on the Power On button.
    6. The robot will do the initialization sequence. Once the robot is ready to operate the jog and absolute motion can be used.

Note: It is highly advised that robot axes should not be moved to the extreme limit to avoid unexpected movements.

  1. Run the robot in ROS Mode.
    1. Open two terminals and in the first run the igus_teleop launch file and in the second terminal run the ros_plc node
      $ ros2 launch igus_bringup igus_teleop.launch.py
      $ ros2 run igus_description ros_plc
    2. Then click on ROS mode and the robot can now be operated in ROS Mode.

Note: The Start Pose button should not be used in ROS Mode

  1. Before turning the robot off make sure to move it to the start pose using Start Pose button.