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
ROS z_laser_projector Stack
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
-
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
-
Set the correct network to reach projector:
Connect projector to PC and set a network on IP range
192.168.10.X
and submask255.255.255.0
To consider:
-
The internal zService is running inside the projector under
192.168.11.11
on port9090
. -
Projector is always reachable under
192.168.10.10
.
-
-
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 filez_laser_zlp1/config/communication_settings.yaml
.
Dependencies
-
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
Supported by ROSIN - ROS-Industrial Quality-Assured Robot Software Components.
More information: rosin-project.eu
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
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
ROS z_laser_projector Stack
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
-
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
-
Set the correct network to reach projector:
Connect projector to PC and set a network on IP range
192.168.10.X
and submask255.255.255.0
To consider:
-
The internal zService is running inside the projector under
192.168.11.11
on port9090
. -
Projector is always reachable under
192.168.10.10
.
-
-
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 filez_laser_zlp1/config/communication_settings.yaml
.
Dependencies
-
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
Supported by ROSIN - ROS-Industrial Quality-Assured Robot Software Components.
More information: rosin-project.eu
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