Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Port rqt controller manager to ROS 2 #1

Closed
wants to merge 25 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
79aea2a
add rqt_controller_manager
ijnek Sep 18, 2022
dfef7d5
port rqt_controller_manager package.xml from ros1
ijnek Sep 18, 2022
a7e72f5
add controller_manager_utils package
ijnek Sep 18, 2022
b4d8440
copy utils.py from ros1
ijnek Sep 18, 2022
8888a48
override utils.py with one from rqt_joint_trajectory_controlle
ijnek Sep 18, 2022
f870e69
updates for ros2
ijnek Sep 18, 2022
d1e207f
got controllers loading and unloading
ijnek Sep 18, 2022
7212ef9
fix up state transition
ijnek Sep 18, 2022
7a84a4f
don't skip copyright check
ijnek Sep 18, 2022
e77518c
fill maintainer tag
ijnek Sep 18, 2022
5f779fb
got loading controller names from parameters somewhat working
ijnek Sep 18, 2022
f7ff047
rename get_rosparam_controller_names to get_parameter_controller_names
ijnek Sep 19, 2022
79e3dbe
change logic to use node names rather than namespaces
ijnek Sep 19, 2022
b5a59a6
allow activation of controller from rqt_controller_manager
ijnek Sep 19, 2022
06ff836
fix up imports
ijnek Sep 19, 2022
54d5f32
use services from controller_manager_services instead of setting up s…
ijnek Sep 19, 2022
4c918de
clean up cm_name
ijnek Sep 19, 2022
af206a2
clean up, change "stop" to "deactivate"
ijnek Sep 19, 2022
88c9e94
remove controller_manager_utils, and port necessary functionality int…
ijnek Sep 19, 2022
7de548b
fix format and copyright to pass tests
ijnek Sep 19, 2022
f58698f
change license of rqt_controller_manager
ijnek Sep 19, 2022
fa97b3b
update plugin.xml
ijnek Sep 19, 2022
eddc16d
remove redundant dependency
ijnek Sep 19, 2022
fa8af82
stretch last section in rqt_controller_manager table
ijnek Sep 19, 2022
ad05d42
update docstring
ijnek Sep 19, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 34 additions & 0 deletions rqt_controller_manager/package.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<?xml version="1.0"?>
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3">
<name>rqt_controller_manager</name>
<version>0.0.0</version>
<description>Graphical frontend for interacting with the controller manager.</description>
<maintainer email="[email protected]">ijnek</maintainer>
<license>Apache License 2.0</license>

<url type="website">http://ros.org/wiki/rqt_controller_manager</url>
<url type="bugtracker">https://github.com/ros-controls/ros2_control/issues</url>
<url type="repository">https://github.com/ros-controls/ros2_control</url>

<author email="[email protected]">Bence Magyar</author>
<author email="[email protected]">Enrique Fernandez</author>
<author email="[email protected]">Mathias Lüdtke</author>
<author email="[email protected]">Kelsey Hawkins</author>
<author email="[email protected]">Adolfo Rodríguez Tsouroukdissian</author>

<exec_depend>controller_manager_msgs</exec_depend>
<exec_depend>rclpy</exec_depend>
<exec_depend>rqt_gui</exec_depend>
<exec_depend>rqt_gui_py</exec_depend>

<test_depend>ament_copyright</test_depend>
<test_depend>ament_flake8</test_depend>
<test_depend>ament_pep257</test_depend>
<test_depend>python3-pytest</test_depend>

<export>
<build_type>ament_python</build_type>
<rqt_gui plugin="${prefix}/plugin.xml"/>
</export>
</package>
19 changes: 19 additions & 0 deletions rqt_controller_manager/plugin.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<library path="rqt_controller_manager">
<class name="ControllerManager"
type="rqt_controller_manager.controller_manager.ControllerManager"
base_class_type="rqt_gui_py::Plugin">
<description>
Graphical frontend for interacting with the controller manager.
</description>
<qtgui>
<group>
<label>Robot Tools</label>
<icon type="theme">folder</icon>
<statustip>Plugins related to robot tools.</statustip>
</group>
<label>Controller Manager</label>
<icon type="file">resource/cm_icon.png</icon>
<statustip>Interact with controller managers</statustip>
</qtgui>
</class>
</library>
Binary file added rqt_controller_manager/resource/cm_icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
87 changes: 87 additions & 0 deletions rqt_controller_manager/resource/controller_info.ui
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>controller_info</class>
<widget class="QWidget" name="controller_info">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>164</width>
<height>238</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="windowTitle">
<string>Controller Information</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QFormLayout" name="formLayout">
<property name="fieldGrowthPolicy">
<enum>QFormLayout::ExpandingFieldsGrow</enum>
</property>
<item row="0" column="0">
<widget class="QLabel" name="ctrl_name_label">
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Name:&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="textFormat">
<enum>Qt::RichText</enum>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="ctrl_name">
<property name="text">
<string>Controller name</string>
</property>
<property name="textFormat">
<enum>Qt::PlainText</enum>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="ctrl_type_label">
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Type:&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="textFormat">
<enum>Qt::RichText</enum>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="ctrl_type">
<property name="text">
<string>Controller type</string>
</property>
<property name="textFormat">
<enum>Qt::PlainText</enum>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QTreeView" name="resource_tree">
<property name="selectionMode">
<enum>QAbstractItemView::NoSelection</enum>
</property>
<property name="rootIsDecorated">
<bool>false</bool>
</property>
<attribute name="headerVisible">
<bool>false</bool>
</attribute>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>
77 changes: 77 additions & 0 deletions rqt_controller_manager/resource/controller_manager.ui
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>controller_manager</class>
<widget class="QWidget" name="controller_manager">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>339</width>
<height>409</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="windowTitle">
<string>Controller manager</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QLabel" name="cm_list_label">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;controller manager&lt;/span&gt; namespace. It is assumed that the &lt;span style=&quot; font-weight:600;&quot;&gt;robot_description&lt;/span&gt; parameter also lives in the same namesapce.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>namespace</string>
</property>
<property name="buddy">
<cstring>cm_combo</cstring>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="cm_combo"/>
</item>
<item>
<widget class="QTableView" name="table_view">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="alternatingRowColors">
<bool>true</bool>
</property>
<property name="selectionMode">
<enum>QAbstractItemView::NoSelection</enum>
</property>
<property name="selectionBehavior">
<enum>QAbstractItemView::SelectRows</enum>
</property>
<property name="showGrid">
<bool>false</bool>
</property>
<property name="sortingEnabled">
<bool>false</bool>
</property>
<attribute name="horizontalHeaderCascadingSectionResizes">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderStretchLastSection">
<bool>true</bool>
</attribute>
<attribute name="verticalHeaderVisible">
<bool>false</bool>
</attribute>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>
Binary file added rqt_controller_manager/resource/led_green.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added rqt_controller_manager/resource/led_off.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added rqt_controller_manager/resource/led_red.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file.
Empty file.
Loading