Skip to content

catec/z_laser_projector

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages