#Demonstration of the ROS PlugInLib This project is devided into three ROS-packages:
- plugin_demo_interface: The PlugIn-Interface for this example
- plugin_demo_plugins: Some PlugIns for this Interface
- plugin_demo_main: An executable, which includes the Interface and load one of the PlugIns dynamically
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:
- 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
- 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.
- clone this repository, add it to your .bashrc and call catkin_make inside the root folder of this repository
- run a ROS-Master:
roscore
- run rViZ:
rosrun rviz rviz
- load the rViZ config included in this repository
- start the plugin_demo:
roslaunch plugin_demo_main start_plugin_demo.launch
- start dynamic reconfigure:
rosrun rqt_reconfigure rqt_reconfigure
- 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.
- You can set in rViz