• Stars
    star
    397
  • Rank 108,561 (Top 3 %)
  • Language
    C++
  • Created over 8 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

ROS Qt Creator Plug-in (https://ros-qtc-plugin.readthedocs.io)

ros_qtc_plugin

This repository contains simple to install and use ROS-related plugins for the Qt Creator IDE. See the repository wiki for installation and additional information.

Overview

The ROS Qt Creator Plug-in is developed specifically for ROS to increase a developers' efficiency by simplifying tasks and creating a centralized location for ROS tools. Since it is built on top of the Qt Creator platform, users have access to all of its existing features like: syntax highlighting, code indexing, editors (C++ , Python, etc.), code completion, version control (Git, Subversion, etc.), debuggers (GDB, CDB, LLDB, etc.), and much more.

The ROS Qt Creator Plug-in provides the following capabilities:

  • Import/Create Catkin Workspaces
  • Create Catkin Packages
  • Custom Build Configuration
    • CatkinMake
    • CatkinTools
  • Custom Run Configurations
    • roslaunch
    • rosrun
    • Attach to Node
  • Automatic sourcing of the workspace
  • Integrated Tabbed Terminal
  • Templates
    • Industrial Robot Support Package
    • Basic Launch File
    • Basic URDF File
    • Basic Node File

Installation

Get it from the Snap Store

You can install Qt Creator with the ROS corresponding plugin via the snap store. This will make sure that the Qt Creator version and the ROS plugin version will use matching API and update automatically once a new version has been released. You can install the qtcreator-ros snap by searching in the software centre or from the command line:

sudo snap install qtcreator-ros --classic

To install the plugin manually, use the released plugin archives as described in Plugin Installation. To build the plugin from scratch, e.g. for unreleased Qt Creator versions, just follow the build instructions below.

Dependencies

To build the Qt Creator plugin, you will need Qt Creator, the matching "Plugin Development" package and a recent Qt version. These can be installed either via the official binary installer of via the setup.py script. The latter method allows you to adjust the target Qt Creator version via versions.yaml.

Additionally, you need:

  • OpenGL development libraries
  • ninja for building
  • yaml-cpp
  • qtermwidget
  • utf8proc

The can be installed via apt on Ubuntu:

sudo apt install libgl1-mesa-dev ninja-build libyaml-cpp-dev libqtermwidget5-0-dev libutf8proc-dev

To use the setup.py script, you will need additional python dependencies:

pip install pyyaml requests py7zr

Build

If Qt Creator and the Plugin Development package are not installed in one of the default folders, you have to tell CMake via CMAKE_PREFIX_PATH where those can be found.

When using the official Qt binary installer with the default installation path, this is:

cmake -B build -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="~/Qt/Tools/QtCreator/;~/Qt/5.15.2/gcc_64"

When using the setup.py script, the script will show the installation path (which can be adjusted using --install_path) and the compile commands. On x86_64 Linux with the default path, this is:

cmake -B build -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="/tmp/qtc_sdk/Tools/QtCreator;/tmp/qtc_sdk/5.15.0/gcc_64"

Finally, compile the plugin and create an archive:

cmake --build build --target package

This will create an archive of the format ROSProjectManager-${version}-Linux-${arch}.zip inside the build folder (build by default). This archive can either be imported by Qt Creator via Help → About Plugins… → Install Plugin… or alternatively extracted directly to ~/Qt/Tools/QtCreator/.

Plugin Installation

Download the plugin archive from the release page and extract it into the root of a Qt Creator installation. Qt Creator can be installed via the official online and offline installer. The Qt Creator root will be ~/Qt/Tools/QtCreator for the online installer and ~/qtcreator-${version} for the offline installer. The following script extracts the archive to the default online installer location:

sudo apt install libarchive-tools # needed for bsdtar
export QTC_ROOT=~/Qt/Tools/QtCreator # online installer
# export QTC_ROOT=~/qtcreator-6.0.0 # offline installer
export PLUGIN_URL=`curl -s https://api.github.com/repos/ros-industrial/ros_qtc_plugin/releases/latest | grep -E 'browser_download_url.*ROSProjectManager-.*-Linux-.*.zip' | cut -d'"' -f 4`
curl -SL $PLUGIN_URL | bsdtar -xzf - -C $QTC_ROOT

Note: Qt Creator from the online installer may notify you about available updates and install them when instructed to do so. The plugin API is only compatible with patch updates. A major or minor update will break the plugin API and Qt Creator will then refuse to load the plugin. Make sure that a compatible plugin version is available before updating Qt Creator, since it is not possible to downgrade to an older Qt Creator version using the online installer. The offline installer installs a specific Qt Creator version and does not provide updates.

More Repositories

1

universal_robot

ROS-Industrial Universal Robots support (https://wiki.ros.org/universal_robot)
C++
1,082
star
2

industrial_training

ROS-Industrial Training Material
C++
422
star
3

ros_canopen

CANopen driver framework for ROS (http://wiki.ros.org/ros_canopen)
C++
339
star
4

ur_modern_driver

(deprecated) ROS 1 driver for CB1 and CB2 controllers with UR5 or UR10 robots from Universal Robots
C++
302
star
5

kuka_experimental

Experimental packages for KUKA manipulators within ROS-Industrial (http://wiki.ros.org/kuka_experimental)
C++
268
star
6

industrial_ci

Easy continuous integration repository for ROS repositories
Shell
246
star
7

robotiq

Robotiq packages (http://wiki.ros.org/robotiq)
C++
227
star
8

ros2_i_training

HTML
169
star
9

industrial_core

ROS-Industrial core communication packages (http://wiki.ros.org/industrial_core)
C++
154
star
10

fanuc

ROS-Industrial Fanuc support (http://wiki.ros.org/fanuc)
C++
153
star
11

motoman

ROS-Industrial Motoman support (http://wiki.ros.org/motoman)
C++
146
star
12

abb

ROS-Industrial ABB support (http://wiki.ros.org/abb)
C++
145
star
13

ros2_canopen

CANopen driver framework for ROS2
C++
143
star
14

yak

A library for integrating depth images into Truncated Signed Distance Fields.
C++
132
star
15

abb_experimental

Experimental packages for ABB manipulators within ROS-Industrial (http://wiki.ros.org/abb_experimental)
CMake
131
star
16

noether

Tool path planning and surface segmenter
C++
121
star
17

industrial_calibration

Contains libraries/algorithms for calibrating industrial systems
C++
120
star
18

abb_robot_driver

The new ROS driver for ABB robots
C++
100
star
19

reach

A tool that allows users to visualize and quantitatively evaluate the reach capability of a robot system for a given workpiece.
C++
94
star
20

industrial_moveit

ROS-Industrial movit meta-package (http://wiki.ros.org/industrial_moveit)
C++
93
star
21

abb_libegm

A C++ library for interfacing with ABB robot controllers supporting Externally Guided Motion (689-1)
C++
93
star
22

abb_librws

A C++ library for interfacing with ABB robot controllers supporting Robot Web Services
C++
69
star
23

robodk_postprocessors

Open-source vendor-specific post-processors/code generators from RoboDK (http://robodk.com)
Python
64
star
24

easy_perception_deployment

A ROS2 package that accelerates the training and deployment of CV models for industries.
Python
54
star
25

industrial_reconstruction

Tools for surface reconstruction from 2D depth images
Python
50
star
26

easy_manipulation_deployment

A ROS2 package that allows rapid digitization of robotic work cells and ease of efficient path-planning of manipulators.
C++
49
star
27

yak_ros

Example ROS frontend node for the Yak TSDF package
C++
48
star
28

cros

A single thread pure C implementation of the ROS framework
C
47
star
29

fanuc_experimental

Experimental packages for Fanuc manipulators within ROS-Industrial (http://wiki.ros.org/fanuc_experimental)
CMake
45
star
30

stomp_ros

ROS packages for the STOMP planner (split out of industrial_moveit)
C++
37
star
31

robot_movement_interface

Drivers implementing the Robot Movement Interface, which allows access to robot specific capabilities in a standardized common format while maintaining compatibility with the ROS-Industrial Joint interface.
C++
36
star
32

human_tracker

Library for detecting and tracking humans using 3D sensing systems (stereo and kinect-like)
36
star
33

flexgui_industrial

Moved to: https://github.com/PPM-Robotics-AS/flexgui4.0
JavaScript
31
star
34

kuka

ROS-Industrial KUKA support (http://wiki.ros.org/kuka)
CMake
30
star
35

abb_driver

(old) ROS driver for ABB IRC5 / RW5 or RW6 controllers (Simple Message & RAPID)
AMPL
29
star
36

staubli_experimental

Experimental packages for Staubli manipulators within ROS-Industrial (http://wiki.ros.org/staubli_experimental)
CMake
27
star
37

staubli_val3_driver

ROS-Industrial (simple message) driver for Stäubli CS8 and CS9 robot controllers (VAL 3 application)
TeX
26
star
38

docker

ROS-Industrial docker and cloud tools
Dockerfile
23
star
39

stomp

Stochastic Trajectory Optimization for Motion Planning (STOMP)
C++
22
star
40

reach_ros2

ROS2 packages for REACH
C++
17
star
41

staubli

ROS-Industrial Staubli support (http://wiki.ros.org/staubli)
C++
17
star
42

ros_industrial_cmake_boilerplate

CMake
16
star
43

packml_ros2

State machine based system programming, monitoring and control in ROS 2
C++
16
star
44

motoman_experimental

Experimental packages for Motoman manipulators within ROS-Industrial
C++
15
star
45

abb_robot_driver_interfaces

ROS message and service definitions for a ROS driver for ABB robots
CMake
13
star
46

rep

ROS-Industrial REPs
12
star
47

crcl

11
star
48

workcell_explorer

Repository for GSoC 2018 focusing on creation of a ROS package for Robotic Workcell exploration
CMake
11
star
49

ur_msgs

ROS messages and services for Universal Robots robot controllers.
CMake
11
star
50

industrial_calibration_tutorials

Tutorials for industrial calibration package.
CMake
11
star
51

keyence_experimental

C++
10
star
52

siemens_tutorials

C++
10
star
53

ros_industrial_meetings

Repository for tracking ROS-Industrial developers meeting minutes
9
star
54

packet-simplemessage

Wireshark Lua dissector for the ROS-Industrial SimpleMessage protocol
Lua
8
star
55

reach_ros

ROS1 Packages for REACH
C++
8
star
56

siemens_experimental

C++
8
star
57

intelligent_actuator

ROS package for serial communication with the Robo Cylinder
Python
8
star
58

swri-ros-pkg

Automatically exported from code.google.com/p/swri-ros-pkg
C++
7
star
59

abb_egm_rws_managers

A C++ library for encapsulating ROS agnostic components for a ROS driver for ABB robots
C++
6
star
60

ros2_quality_assurance_guidelines

A collection of documentation which contains detailed instructions and tutorials for improving ROS 2 package quality, following REP-2004 quality level and integrating CI into one's development workflow.
Python
6
star
61

industrial_pcl_experimental

ROS Industrial addons, utilities, and other libraries that extend or are useful with the Point Cloud Library (PCL)
C++
5
star
62

jenkins_config

Contains jenkins CI configuration scripts.
Python
4
star
63

socketcan_interface

DO NOT USE YET
C++
4
star
64

industrial_experimental

Contains experimental packages for industrial_core.
C++
3
star
65

yak_ros2

Example ROS 2 frontend node for the Yak TSDF package
C++
3
star
66

ros_industrial_issues

Repository for tracking common ROS-Industrial issuses.
3
star
67

tolomatic

C++
2
star
68

industrial_pcl

ROS-Industrial PCL Extension meta-package. http://wiki.ros.org/industrial_pcl
C++
2
star
69

rvip

A ROS package for easy integration of a hybrid 2D-3D robotic vision technique for industrial tasks.
1
star
70

robotiq_experimental

Experimental robotiq packages within ROS-Industrial
C++
1
star
71

siemens_drivers

Open source drivers for Siemens devices
1
star
72

fake_ar_publisher

C++
1
star
73

ros_profinet_experimental

1
star
74

acuity

Support for acuity laser products
Python
1
star
75

error_resolution_diagnoser

C++
1
star
76

fanuc_demos

Demos of ROS(-Industrial) functionality specifically for (simulated) Fanuc robots
1
star
77

industrial_calibration_ros2

ROS Utilities for Industrial Calibration
Python
1
star
78

epd_onnxruntime_vendor

CMake
1
star
79

error_classification_server

Python
1
star