qt_ctrl
The ROS package qt_ctrl aims at proposing several controllers
for ROS with Qt GUI, in order to compare them.
The ROS package qt_ctrl
aims at proposing several controllers for ROS with a Qt GUI, in order to compare them. Some explanations about how to install ROS are given in ReadMe.md
file.
This documentation is generated using rosdoc_lite
and Doxygen. It seems impossible to change the configuration of rosdoc_lite
in order to include direct links to ROS' and Qt's online documentations. References to these documentations have thus been gathered in a specific page.
-
Several versions 0.1.* were developed in 2017 from B. Lesquoy's work, realised during is Master course. They were only using ROS.
-
Version 0.2.0 was the first to use both Qt and ROS. Based on the code generated by
catkin_create_qt_pkg
, it is a basic tele-operation application, sending constant velocities to ROS.
-
Version 0.2.1 is similar to the Turtlebot keyboard tele-operation, except that it is based on a C++ class (instead of a Python script) using a Qt GUI. It also includes a complete documentation.
-
Version 0.2.2 adds display of the commands published and of some of the odometer data received. It makes me discover a feature (this is not a bug) of Qt about graphical object and multi-threads.
-
Version 0.2.3 adds the possibility to save the odometer data in a csv file (to handle it easily later, either by a personal program or in a spreadsheet).
-
Version 0.2.4 allows to load from a file the translation and angular accelerations, together with the associated duration, making it possible to transform a sequence of accelerations with their duration into a path, i.e. a sequence of position, extracted from the csv savefile.
-
Version 0.3.0 does not add any functionality to the program, but it changes the code structure: where controllers where previously selected through conditionals, separate classes and inheritance are now used in order to ease future developments. Each controller now inherits an abstract class, which declares the methods used by the ROS node. Similarly, each of its interface will inherit another abstract class.
-
Version 0.3.1 adds a new category of controllers, which tries to track a given trajectory.
-
Version 0.3.2 adds a new category of controllers, which tries to reach a given oriented point. First example of reaching controller uses ISeeML library, from which some of the model classes (vectors, points and oriented points) were taken. ISeeML classes and library are now directly used.
-
Version 0.3.3 is a major change, as it can work with both Kinetic and Melodic versions of ROS. Turtlebot 3 can be used in replacement of Turtlebot 2, which is not usually available in Melodic. Moreover, the application should compile and work on the major systems (Linux/Unix, MacOs and Windows), and not only on Linux/Unix as previously.