-
 

z_laser_projector repository

Repository Summary

Checkout URI https://github.com/fada-catec/z_laser_projector.git
VCS Type git
VCS Version noetic
Last Updated 2021-02-25
Dev Status MAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
z_laser_gui 0.0.0
z_laser_msgs 0.0.0
z_laser_projector 0.0.0
z_laser_viz 0.0.0
z_laser_zlp1 0.0.0

README

ZLASERFADACATEC

ROS z_laser_projector Stack

Build Status License codecov

The z_laser_projector stack is a set of tools that allow the user to operate the Z-LASER Projector ZLP1 and simplify the task of developing further advanced features, such as augmented reality applications. The stack provides a ROS API to control the device via topics and services, a visualizer for laser projections and a graphical interface.

The code have been tested for ROS Noetic on Ubuntu 20.04.

This project is licensed under the terms of the Apache 2.0 license.

Set up

  1. Create a workspace and clone this repo:

       mkdir -p ~/catkin_ws/src && cd ~/catkin_ws/src
       git clone https://github.com/fada-catec/z_laser_projector.git
       cd ~/catkin_ws && catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3 -DPYTHON_VERSION=3.6
       source ~/catkin_ws/devel/setup.bash
    
  2. Set the correct network to reach projector:

    Connect projector to PC and set a network on IP range 192.168.10.X and submask 255.255.255.0

    To consider:

    • The internal zService is running inside the projector under 192.168.11.11 on port 9090.

    • Projector is always reachable under 192.168.10.10.

  3. A device-key license to check the purchase of the device is always required to use the ZLP software. Please, contact your Z-LASER supplier to get a valid license. Save the license file under package directory z_laser_zlp1/lic folder. Then, indicate the license file name on the configuration file z_laser_zlp1/config/communication_settings.yaml.

Dependencies

  • ROS Noetic

  • This software runs on python 3. You can install dependencies:

        cd ~/catkin_ws
        rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
    

    or

        sudo apt-get install python3-thriftpy
        sudo apt-get install python3-numpy
        sudo apt-get install python3-scipy
        sudo apt-get install python3-ezdxf
        sudo apt-get install python3-pyqt5
        sudo apt-get install python3-nose
    
  • Install pynput

        sudo apt-get install python3-pip
        pip3 install pynput
    

Usage

Projector Node

You can launch the projector node and operate the device throughout the ROS API provided. Set argument load_user_coorinate_system to true for loading initial values of the reference system from configuration files.

 roslaunch z_laser_zlp1 z_laser_zlp1.launch

Projector Node + Visualizer

You can launch the projector node together with visualizer node. Note: the projector node launch is included in z_laser_viz:

 roslaunch z_laser_viz z_laser_viz.launch

Graphical User Interface

Additionally, you can also launch the GUI node.

 roslaunch z_laser_gui z_laser_gui.launch

DXF Reader

We have created a functionality capable of reading and interpreting a DXF graphic file. By executing the /zlp_dxf_reader node together with the projector node, the elements found in a .dxf file are loaded. Call ~/projection_start service to project them. Specify custom .dxf file name as argument (this file should be placed in /dxf folder from z_laser_zlp1 package).

 roslaunch z_laser_zlp1 z_laser_dxf_reader.launch dxf_file_name:=dxf_test

NOTE: figures’ units are read as millimetres

Libraries

On the other hand, if you prefer to include some projector functionalities into your custom node or application, import the libraries instead:

 #!/usr/bin/env python3
 import z_laser_zlp1.zlp_projector_manager

Test

Run unit tests and integration tests automatically:

 catkin_make run_tests -DPYTHON_EXECUTABLE=/usr/bin/python3 -DPYTHON_VERSION=3.6

Acknowledgement


rosin_logo

Supported by ROSIN - ROS-Industrial Quality-Assured Robot Software Components.
More information: rosin-project.eu

eu_flag

This project has received funding from the European Union’s Horizon 2020
research and innovation programme under grant agreement no. 732287.

Help

  • Ines M. Lara - imlara@catec.aero
  • Rafael Luque - rluque@catec.aero
  • Other community or team contact

CONTRIBUTING

No CONTRIBUTING.md found.

Repository Summary

Checkout URI https://github.com/fada-catec/z_laser_projector.git
VCS Type git
VCS Version melodic
Last Updated 2021-02-25
Dev Status MAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
z_laser_gui 0.0.0
z_laser_msgs 0.0.0
z_laser_projector 0.0.0
z_laser_viz 0.0.0
z_laser_zlp1 0.0.0

README

ZLASERFADACATEC

ROS z_laser_projector Stack

Build Status License codecov

The z_laser_projector stack is a set of tools that allow the user to operate the Z-LASER Projector ZLP1 and simplify the task of developing further advanced features, such as augmented reality applications. The stack provides a ROS API to control the device via topics and services, a visualizer for laser projections and a graphical interface.

The code have been tested for ROS Melodic on Ubuntu 18.04.

This project is licensed under the terms of the Apache 2.0 license.

Set up

  1. Create a workspace and clone this repo:

       mkdir -p ~/catkin_ws/src && cd ~/catkin_ws/src
       git clone https://github.com/fada-catec/z_laser_projector.git
       cd ~/catkin_ws && catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3 -DPYTHON_VERSION=3.6
       source ~/catkin_ws/devel/setup.bash
    
  2. Set the correct network to reach projector:

    Connect projector to PC and set a network on IP range 192.168.10.X and submask 255.255.255.0

    To consider:

    • The internal zService is running inside the projector under 192.168.11.11 on port 9090.

    • Projector is always reachable under 192.168.10.10.

  3. A device-key license to check the purchase of the device is always required to use the ZLP software. Please, contact your Z-LASER supplier to get a valid license. Save the license file under package directory z_laser_zlp1/lic folder. Then, indicate the license file name on the configuration file z_laser_zlp1/config/communication_settings.yaml.

Dependencies

  • ROS Melodic

  • This software runs on python 3. You can install dependencies:

        cd ~/catkin_ws
        rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
    

    or

        sudo apt-get install python3-thriftpy
        sudo apt-get install python3-numpy
        sudo apt-get install python3-scipy
        sudo apt-get install python3-ezdxf
        sudo apt-get install python3-pyqt5
        sudo apt-get install python3-nose
    
  • Install pynput

        sudo apt-get install python3-pip
        pip3 install pynput
    

Usage

Projector Node

You can launch the projector node and operate the device throughout the ROS API provided. Set argument load_user_coorinate_system to true for loading initial values of the reference system from configuration files.

 roslaunch z_laser_zlp1 z_laser_zlp1.launch

Projector Node + Visualizer

You can launch the projector node together with visualizer node. Note: the projector node launch is included in z_laser_viz:

 roslaunch z_laser_viz z_laser_viz.launch

Graphical User Interface

Additionally, you can also launch the GUI node.

 roslaunch z_laser_gui z_laser_gui.launch

DXF Reader

We have created a functionality capable of reading and interpreting a DXF graphic file. By executing the /zlp_dxf_reader node together with the projector node, the elements found in a .dxf file are loaded. Call ~/projection_start service to project them. Specify custom .dxf file name as argument (this file should be placed in /dxf folder from z_laser_zlp1 package).

 roslaunch z_laser_zlp1 z_laser_dxf_reader.launch dxf_file_name:=dxf_test

NOTE: figures’ units are read as millimetres

Libraries

On the other hand, if you prefer to include some projector functionalities into your custom node or application, import the libraries instead:

 #!/usr/bin/env python3
 import z_laser_zlp1.zlp_projector_manager

Test

Run unit tests and integration tests automatically:

 catkin_make run_tests -DPYTHON_EXECUTABLE=/usr/bin/python3 -DPYTHON_VERSION=3.6

Acknowledgement


rosin_logo

Supported by ROSIN - ROS-Industrial Quality-Assured Robot Software Components.
More information: rosin-project.eu

eu_flag

This project has received funding from the European Union’s Horizon 2020
research and innovation programme under grant agreement no. 732287.

Help

  • Ines M. Lara - imlara@catec.aero
  • Rafael Luque - rluque@catec.aero
  • Other community or team contact

CONTRIBUTING

No CONTRIBUTING.md found.