Writing an RViz plugin for teleoperation
In this chapter, we design a teleoperation commander in which we can manually enter the teleoperation topic, linear velocity, and angular velocity, as shown in the following screenshot:
The following is a detailed procedure on how to build this plugin.
Methodology of building the RViz plugin
Before starting to build this plugin, we should know how to do it. The standard method to build an ROS plugin is applicable for this plugin too. The difference is that the RViz plugin is GUI based. The RViz is written using a GUI framework called Qt, so we need to create a GUI in Qt and, using Qt APIs, we have to get the GUI values and send them to the ROS system.
The following steps describe how this teleoperation RViz plugin is going to work:
- The dockable panel will have a Qt GUI interface, and the user can input the topic, linear velocity, and angular velocity of teleoperation from the GUI.
- Collect the user input from GUI using Qt signals and slots, and publish the...