Skip to content

Latest commit

 

History

History
193 lines (105 loc) · 4.98 KB

File metadata and controls

193 lines (105 loc) · 4.98 KB

Package Name

Overview

This is a template: replace, remove, and add where required. Describe here what this package does and what it's meant for in a few sentences.

Keywords: example, package, template

Or, add some keywords to the Bitbucket or GitHub repository.

License

The source code is released under a BSD 3-Clause license.

Author: Péter Fankhauser
Affiliation: ANYbotics
Maintainer: Péter Fankhauser, [email protected]

The PACKAGE NAME package has been tested under ROS Indigo, Melodic and Noetic on respectively Ubuntu 14.04, 18.04 and 20.04. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

Build Status

Example image

Publications

If you use this work in an academic context, please cite the following publication(s):

  • P. Fankhauser, M. Bloesch, C. Gehring, M. Hutter, and R. Siegwart: PAPER TITLE. IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2015. (PDF)

      @inproceedings{Fankhauser2015,
          author = {Fankhauser, P\'{e}ter and Hutter, Marco},
          booktitle = {IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},
          title = {{PAPER TITLE}},
          publisher = {IEEE},
          year = {2015}
      }
    

Installation

Installation from Packages

To install all packages from the this repository as Debian packages use

sudo apt-get install ros-noetic-...

Or better, use rosdep:

sudo rosdep install --from-paths src

Building from Source

Dependencies

Building

To build from source, clone the latest version from this repository into your catkin workspace and compile the package using

cd catkin_workspace/src
git clone https://github.com/ethz-asl/ros_best_practices.git
cd ../
rosdep install --from-paths . --ignore-src
catkin_make

Running in Docker

Docker is a great way to run an application with all dependencies and libraries bundles together. Make sure to install Docker first.

First, spin up a simple container:

docker run -ti --rm --name ros-container ros:noetic bash

This downloads the ros:noetic image from the Docker Hub, indicates that it requires an interactive terminal (-t, -i), gives it a name (--name), removes it after you exit the container (--rm) and runs a command (bash).

Now, create a catkin workspace, clone the package, build it, done!

apt-get update && apt-get install -y git
mkdir -p /ws/src && cd /ws/src
git clone https://github.com/leggedrobotics/ros_best_practices.git
cd ..
rosdep install --from-path src
catkin_make
source devel/setup.bash
roslaunch ros_package_template ros_package_template.launch

Unit Tests

Run the unit tests with

catkin_make run_tests_ros_package_template

Static code analysis

Run the static code analysis with

catkin_make roslint_ros_package_template

Usage

Describe the quickest way to run this software, for example:

Run the main node with

roslaunch ros_package_template ros_package_template.launch

Config files

Config file folder/set 1

  • config_file_1.yaml Shortly explain the content of this config file

Config file folder/set 2

  • ...

Launch files

  • launch_file_1.launch: shortly explain what is launched (e.g standard simulation, simulation with gdb,...)

    Argument set 1

    • argument_1 Short description (e.g. as commented in launch file). Default: default_value.

    Argument set 2

    • ...
  • ...

Nodes

ros_package_template

Reads temperature measurements and computed the average.

Subscribed Topics

Published Topics

...

Services

  • get_average (std_srvs/Trigger)

    Returns information about the current average. For example, you can trigger the computation from the console with

      rosservice call /ros_package_template/get_average
    

Parameters

  • subscriber_topic (string, default: "/temperature")

    The name of the input topic.

  • cache_size (int, default: 200, min: 0, max: 1000)

    The size of the cache.

NODE_B_NAME

...

Bugs & Feature Requests

Please report bugs and request features using the Issue Tracker.