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`. 
  1. 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

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`. 
  1. 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

CONTRIBUTING

No CONTRIBUTING.md found.