/ros_plugin_demo

demonstration of the ros pluginlib and nodelets

Primary LanguageC++GNU General Public License v2.0GPL-2.0

#Demonstration of the ROS PlugInLib This project is devided into three ROS-packages:

The visual_aids package include a tool which helps to show the orientation of points from a path using a PoseArray.

There is also a more comprehensive documentation available.

##The basic communication between the plugin_demo packages:

Sometimes you can see an image of the basic communication structure

  • functions are marked with brackets () at the end
  • a function which have a "Callback" in his name is assigned to a ROS::Subscriber
  • setStartPub is a ROS::Publisher
  • rViz is the ROS tool (is used for setting poses)
  • a plugIn could also contain ROS::Subscribers or ROS::Publishers

Usage

  1. compile the packages from this repository:
    • clone this repository, add it to your .bashrc and call catkin_make inside the root folder of this repository
      XOR
    • download only the packages, put them into an existing catkin workspace and compile them in this workspace.
  2. run a ROS-Master: roscore
  3. run rViZ: rosrun rviz rviz
  4. start the plugin_demo: roslaunch plugin_demo_main start_plugin_demo.launch
  5. start dynamic reconfigure: rosrun rqt_reconfigure rqt_reconfigure
  6. have fun.
    • You can set in rViz
      • the start tf-frame with "2D Pose Estimate" (/get_start)
      • the target tf-frame with "2D Nav Goal" (/set_target)
    • You can control some parameters with dynamic reconfigure ("plugin_demo")
      • if you check use_shared_pointer new poses for the start tf-frame will be transmitted with shared pointers between the main executable and the Interface
      • the values of the parameters delta_x, delta_y and delta_theta are added to the values of a new start pose in the main executable
      • the last parameter change the plugin which calculate the path. The values in the Dropdown menu are hard coded in the plugin_demo.cfg. So if you build a new plugIn add it also there.