outsight_alb_driver repository

Repository Summary

Checkout URI https://gitlab.com/outsight-public/outsight-drivers/outsight_alb_driver.git
VCS Type git
VCS Version master
Last Updated 2021-12-10
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
outsight_alb_driver 1.2.0

README

outsight_alb_driver

ROS1 package for Outsight Augmented Lidar Box (ALB).

Author: Outsight

Installation

Prerequisite

  • ROS (Install ROS)
  • Functionnal ALB
  • Install apt dependencies of the driver
  apt-get update
  # ROS Noetic release
  xargs apt-get install -y apt-dependencies_noetic.txt
  # ROS Melodic release
  xargs apt-get install -y apt-dependencies_melodic.txt

Building from sources

  1. Clone the repository
  2. Build using the ROS catkin build system
cd catkin_ws/src
git clone https://gitlab.com/outsight-public/outsight-drivers/outsight_alb_driver.git
cd ../
catkin_make
source devel/setup.bash

Configuration

  • Configure the ALB according to your application Documentation.
  • ip_address and ip_port have to be defined in the launch file (See launch/outsight_alb.launch for example).
  • To be able to publish messages to the corresponding topics, set up the config/alb_tcp.yaml file.

For messages, 2 frames are defined in the configuration file:

* `frame_id` defined with default value at `alb` represents the first frame when the processing starts. It is the fixed reference frame.
* `sensor_frame_id` represents the moving frame (linked with sensor).
* Transformation between the two frames is broadcasted when `pose` publisher is enabled. ([tf2 broadcast](http://wiki.ros.org/tf2))

Usage

Run the two nodes defined, alb_data and alb_services.

roslaunch outsight_alb_driver outsight_alb.launch

Nodes

alb_data

This node handles the received data from the ALB and publishes it to ROS.

Published topics

alb_services

This node defines services to interact with the ALB.

Custom services files

Service to manage the processing configuration of the ALB. Used for getting and putting the configuration from/to the ALB.

Service to use with the storage of the ALB, to download or upload files.

Services

For more information about the ALB API, please refer to the API documentation

Service to restart the processing on the ALB. Trigger service does not require any arguments, you can just call it with the following command:

  rosservice call /alb/processing/restart

Service to stop the processing on the ALB.

  rosservice call /alb/processing/stop

Service to get the processing configuration of the ALB. If argument is an empty string, configuration will be output in the roslaunch console. If argument is a full filepath, the configuration will be exported to this file.

WARNING: Filepath has to be absolute.

  rosservice call /alb/processing/get_config ""

  rosservice call /alb/processing/get_config "/home/username/Documents/out_config.json"

Service to put the processing configuration to the ALB. It has to be formatted as JSON format.

  rosservice call /alb/processing/put_config "/home/username/Documents/config_to_put.json"

Service to download a file from the ALB.

  # Call to download a map named map_name.ply on the ALB to the output file.
  rosservice call /alb/storage/download maps map_name.ply "/home/username/Documents/output_map.ply"

  # Same command with full argument description.
  rosservice call /alb/storage/download "category: 'maps' alb_filename: 'map_name.ply' filepath: '/home/username/Documents/output_map.ply'"

Service to upload a file to the ALB.

  # Call to upload a map named map_name.ply to the ALB.
  rosservice call /alb/storage/upload maps map_name.ply "/home/username/Documents/input_map.ply"

Service to list the files on the ALB.

By default, the response is printed into the rosconsole. Set a filepath to export the response to a file. Note that the parameter alb_filename isn't used here.

  # List the map files on the ALB.
  rosservice call /alb/storage/list maps "" ""

  # List the map files on the ALB and export it.
  rosservice call /alb/storage/list maps "" "/home/username/maps_storage.json"

Usage with other ROS messages

LaserScan

For some applications, instead of the PointCloud, LaserScan can be useful. For this, we recommend using the ROS package pointcloud_to_laserscan.

Then you can launch in another console the given launch file outsight_to_laserscan.launch, adjusting your own parameters. You can also integrate it directly in your own launch file for easier use.

roslaunch outsight_alb_driver outsight_to_laserscan.launch

Unit testing

In this ROS driver, unit tests have been defined under the test directory. After any change, make sure the tests are still able to run.

catkin_make run_tests
catkin_test_results

This driver has been tested in CI under melodic and noetic releases.

Contributing

Bugs and issues

Please report bugs and/or issues using the Issue Tracker

Feature requests and additions

In order to contribute to the code, please use Merge requests.

In case of Merge requests, the code will be integrated internally, in order to execute Continuous Integration and Continuous Deployment before being deployed publicly.

CONTRIBUTING

No CONTRIBUTING.md found.

Repository Summary

Checkout URI https://gitlab.com/outsight-public/outsight-drivers/outsight_alb_driver.git
VCS Type git
VCS Version master
Last Updated 2021-12-10
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
outsight_alb_driver 1.2.0

README

outsight_alb_driver

ROS1 package for Outsight Augmented Lidar Box (ALB).

Author: Outsight

Installation

Prerequisite

  • ROS (Install ROS)
  • Functionnal ALB
  • Install apt dependencies of the driver
  apt-get update
  # ROS Noetic release
  xargs apt-get install -y apt-dependencies_noetic.txt
  # ROS Melodic release
  xargs apt-get install -y apt-dependencies_melodic.txt

Building from sources

  1. Clone the repository
  2. Build using the ROS catkin build system
cd catkin_ws/src
git clone https://gitlab.com/outsight-public/outsight-drivers/outsight_alb_driver.git
cd ../
catkin_make
source devel/setup.bash

Configuration

  • Configure the ALB according to your application Documentation.
  • ip_address and ip_port have to be defined in the launch file (See launch/outsight_alb.launch for example).
  • To be able to publish messages to the corresponding topics, set up the config/alb_tcp.yaml file.

For messages, 2 frames are defined in the configuration file:

* `frame_id` defined with default value at `alb` represents the first frame when the processing starts. It is the fixed reference frame.
* `sensor_frame_id` represents the moving frame (linked with sensor).
* Transformation between the two frames is broadcasted when `pose` publisher is enabled. ([tf2 broadcast](http://wiki.ros.org/tf2))

Usage

Run the two nodes defined, alb_data and alb_services.

roslaunch outsight_alb_driver outsight_alb.launch

Nodes

alb_data

This node handles the received data from the ALB and publishes it to ROS.

Published topics

alb_services

This node defines services to interact with the ALB.

Custom services files

Service to manage the processing configuration of the ALB. Used for getting and putting the configuration from/to the ALB.

Service to use with the storage of the ALB, to download or upload files.

Services

For more information about the ALB API, please refer to the API documentation

Service to restart the processing on the ALB. Trigger service does not require any arguments, you can just call it with the following command:

  rosservice call /alb/processing/restart

Service to stop the processing on the ALB.

  rosservice call /alb/processing/stop

Service to get the processing configuration of the ALB. If argument is an empty string, configuration will be output in the roslaunch console. If argument is a full filepath, the configuration will be exported to this file.

WARNING: Filepath has to be absolute.

  rosservice call /alb/processing/get_config ""

  rosservice call /alb/processing/get_config "/home/username/Documents/out_config.json"

Service to put the processing configuration to the ALB. It has to be formatted as JSON format.

  rosservice call /alb/processing/put_config "/home/username/Documents/config_to_put.json"

Service to download a file from the ALB.

  # Call to download a map named map_name.ply on the ALB to the output file.
  rosservice call /alb/storage/download maps map_name.ply "/home/username/Documents/output_map.ply"

  # Same command with full argument description.
  rosservice call /alb/storage/download "category: 'maps' alb_filename: 'map_name.ply' filepath: '/home/username/Documents/output_map.ply'"

Service to upload a file to the ALB.

  # Call to upload a map named map_name.ply to the ALB.
  rosservice call /alb/storage/upload maps map_name.ply "/home/username/Documents/input_map.ply"

Service to list the files on the ALB.

By default, the response is printed into the rosconsole. Set a filepath to export the response to a file. Note that the parameter alb_filename isn't used here.

  # List the map files on the ALB.
  rosservice call /alb/storage/list maps "" ""

  # List the map files on the ALB and export it.
  rosservice call /alb/storage/list maps "" "/home/username/maps_storage.json"

Usage with other ROS messages

LaserScan

For some applications, instead of the PointCloud, LaserScan can be useful. For this, we recommend using the ROS package pointcloud_to_laserscan.

Then you can launch in another console the given launch file outsight_to_laserscan.launch, adjusting your own parameters. You can also integrate it directly in your own launch file for easier use.

roslaunch outsight_alb_driver outsight_to_laserscan.launch

Unit testing

In this ROS driver, unit tests have been defined under the test directory. After any change, make sure the tests are still able to run.

catkin_make run_tests
catkin_test_results

This driver has been tested in CI under melodic and noetic releases.

Contributing

Bugs and issues

Please report bugs and/or issues using the Issue Tracker

Feature requests and additions

In order to contribute to the code, please use Merge requests.

In case of Merge requests, the code will be integrated internally, in order to execute Continuous Integration and Continuous Deployment before being deployed publicly.

CONTRIBUTING

No CONTRIBUTING.md found.