I want to use the MoveIt! package on ROS indigo, and I am following the tutorial at http://docs.ros.org/hydro/api/pr2_moveit_tutorials/html/planning/src/doc/move_group_interface_tutorial.html.
As an example of how to use MoveIt! in C++, the tutorial provides the following line:
moveit::planning_interface::MoveGroup group("right_arm");
What I am trying to figure out, is how to actually compile this. So, I have built a new ROS package, and in the `CMakeLists.txt` file for that package, I need to specify where to look for header and library files. But **how do I know the name of the package that is required for the above code?**
If I look in `/opt/ros/indigo/include`, there are various directories such as `moveit`, `moveit_msgs`, `moveit_planners_ompl`, and similarly in `/opt/ros/indigo/lib` and `/opt/ros/indigo/share`. Is each of these directories a package, or is each one a node, or something else?
After doing a bit of research, I found that the `moveit::planning_interface::MoveGroup` class from the above code is defined in `/opt/ros/indigo/include/moveit/move_group_interface/move_group.h`. This suggests to me that I should be using the `moveit` or `move_group_interface` packages, but if I try either of these, then it fails. For example, in my `CMakeLists.txt` file, if I have:
find_package(catkin REQUIRED COMPONENTS roscpp rospy std_msgs genmsg moveit)
And then I try to build my package, it tells me:
Could not find a package configuration file provided by "moveit"
And similarly for `move_group_interface`.
So I'm obviously a bit confused as to what ROS packages actually are, where they are stored on my machine, and how to know which one I should be referencing in `CMakeLists.txt`. Any help? Thanks :)
↧