Skip to content
forked from gazebosim/gz-gui

License

Unknown, Apache-2.0 licenses found

Licenses found

Unknown
LICENSE
Apache-2.0
COPYING
Notifications You must be signed in to change notification settings

Sarath18/ign-gui

 
 

Repository files navigation

Ignition GUI : Graphical interfaces for robotics applications

Maintainer: louise [AT] openrobotics [DOT] org

GitHub open issues GitHub open pull requests Discourse topics Hex.pm

Build Status
Test coverage codecov
Ubuntu Bionic Build Status
Homebrew Build Status
Windows Build Status

Ignition GUI builds on top of Qt to provide widgets which are useful when developing robotics applications, such as a 3D view, plots, dashboard, etc, and can be used together in a convenient unified interface.

Ignition GUI ships with several widgets ready to use and offers a plugin interface which can be used to add custom widgets.

Table of Contents

Features

Install

Usage

Documentation

Testing

Folder Structure

Code of Conduct

Contributing

Versioning

License

Features

  • Qt-based widgets, with support for both Qt5 widgets and QtQuick
  • Plugin-based interface, so it's easy to add new widgets
  • Several plugins ready to be used
  • 3D scene integration using Ignition Rendering

Install

We recommend following the Binary Install instructions to get up and running as quickly and painlessly as possible.

The Source Install instructions should be used if you need the very latest software improvements, if you need to modify the code, or if you plan to make a contribution.

Binary Install

On Ubuntu Bionic, it's possible to install Ignition GUI's version 1 as follows:

Add OSRF packages:

echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable bionic main" > /etc/apt/sources.list.d/gazebo-stable.list
sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys D2486D2DD83DB69272AFE98867170598AF249743
sudo apt update

Install Ignition GUI:

sudo apt install libignition-gui4-dev

Source Install

There are currently two versions under active development:

  • Version 0: It makes use of QWidgets, which are common on traditional desktop-oriented interfaces. Requires Ubuntu Xenial or Higher.

  • Version 1: It makes use of QtQuick, which allows developing more modern-looking apps with animations and a mobile/web feel. Requires Ubuntu Bionic or higher.

Prerequisites

Ubuntu Bionic 18.04 or above

Install dependencies:

sudo apt update
sudo apt -y install wget lsb-release gnupg
sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-prerelease `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-prerelease.list'
wget http://packages.osrfoundation.org/gazebo.key -O - | apt-key add -
sudo apt-add-repository -s "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -c -s) main"
sudo apt-get build-dep -y ignition-gui4
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 800 --slave /usr/bin/g++ g++ /usr/bin/g++-8 --slave /usr/bin/gcov gcov /usr/bin/gcov-8

Clone source code:

# This checks out the `default` branch. You can append `-b ign-gui#` (replace # with a number) to checkout a specific version
git clone http://github.com/ignitionrobotics/ign-gui

Building from source

Build and install as follows:

cd ign-gui
mkdir build
cd build
cmake ..
make -j4
sudo make install

Usage

Take a look at the tutorials for usage instructions and API documentation.

Known issue of command line tools

In the event that the installation is a mix of Debian and from source, command line tools from ign-tools may not work correctly.

A workaround for a single package is to define the environment variable IGN_CONFIG_PATH to point to the location of the Ignition library installation, where the YAML file for the package is found, such as

export IGN_CONFIG_PATH=/usr/local/share/ignition

However, that environment variable only takes a single path, which means if the installations from source are in different locations, only one can be specified.

Another workaround for working with multiple Ignition libraries on the command line is using symbolic links to each library's YAML file.

mkdir ~/.ignition/tools/configs -p
cd ~/.ignition/tools/configs/
ln -s /usr/local/share/ignition/fuel4.yaml .
ln -s /usr/local/share/ignition/transport7.yaml .
ln -s /usr/local/share/ignition/transportlog7.yaml .
...
export IGN_CONFIG_PATH=$HOME/.ignition/tools/configs

This issue is tracked here.

Testing

After building, to run all tests:

cd build
make test

See this tutorial for further instructions on how to disable testing, run test coverage, etc.

Folder Structure

  • include/ignition/gui: Contains all the files which will be installed, such as C++ headers, .qrc, .qss and qml files. Plugin-specific resources go under /plugins; everything in the top-level is meant to be of common use across plugins.

  • src: Contains all the C++ source code and headers which are not installed. Plugin-specific code goes under /plugins.

  • test: All integration, performance and regression tests go here, under their specific folders.

  • examples/standalone: Example code for standalone applications using Ignition GUI as a library. Each example has instructions in a README file.

  • examples/config: Example configuration files which can be loaded using ign gui -c <path to file>

  • examples/plugin: Example plugins which can be compiled and loaded as explained in this tutorial.

  • tutorials: Markdown files for the tutorials.

  • conf: Files needed by ign-tools.

  • doc: Files used by Doxygen when generating documentation.

Contributing

Please see CONTRIBUTING.md.

Code of Conduct

Please see CODE_OF_CONDUCT.md.

Versioning

This library uses Semantic Versioning. Additionally, this library is part of the Ignition Robotics project which periodically releases a versioned set of compatible and complimentary libraries. See the Ignition Robotics website for version and release information.

License

This library is licensed under Apache 2.0. See also the LICENSE file.

About

No description, website, or topics provided.

Resources

License

Unknown, Apache-2.0 licenses found

Licenses found

Unknown
LICENSE
Apache-2.0
COPYING

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 93.5%
  • QML 3.8%
  • CMake 1.3%
  • C 0.5%
  • Ruby 0.4%
  • Python 0.3%
  • Shell 0.2%