ar_pose/ARMarkers.h not found
Hi, i am trying to include the ar_pose/ARMarkers.h header in a ROS node with
#include <ar_pose/ARMarkers.h>
I added artoolkit and ar_pose to the dependencies in the manifest file. But when making my package, it says "ar_pose/ARMarkers.h : No such file or directory"
rospack find artoolkit and rospack find ar_pose successfully bring up the path to these packages
I am using fuerte and installed the ar toolkit through ccny_vision first
the ARMarker(s).h is located at ccny_vision/ar_pose/msg_gen/cpp/include/ar_pose. I copied the files to /ccny_vision/ar_pose/include/ar_pose but nothing helped.
update: The files using AR Toolkit should be in the correct path, i got some other includes (pcl and ros) that work. AR and my package are in an extra path i added in my /home/user space because i have to work without superuser rights. The path is included in the ROS_PACKAGE_PATH. What makes me wonder is, that the packages can be located with ROS but when compiling it fails...
update:
I downloaded the bag files today to test if the package itself works correct. The demo_mutli and demo_single do work properly
Also tried now with the newer ar_toolkti package from IHeartEngineering, getting the same error when including
manifest.xml
<package>
<description brief="obstacle_detection">
obstacle_detection
</description>
<author>me</author>
<license>BSD</license>
<review status="unreviewed" notes=""/>
link deleted, insufficient karma
<depend package="pcl"/>
<depend package="pcl_ros"/>
<depend package="roscpp"/>
<depend package="sensor_msgs"/>
<depend package="artoolkit"/>
<depend package="ar_pose"/>
</package>
code
#include <ros/ros.h>
#include <ar_pose/ARMarkers.h>
void processing (const ar_pose::ARMarkers::ConstPtr& msg){
ar_pose::ARMarker ar_pose_marker;
for(i=0;i<=msg->markers.size();i++){
ar_pose_marker = msg->markers.at(i);
std::cout<<"x " << ar_pose_marker.pose.pose.position.x<<st::endl;
std::cout<<"y " << ar_pose_marker.pose.pose.position.y<<st::endl;
std::cout<<"z " << ar_pose_marker.pose.pose.position.z<<st::endl;
}
}
int main (int argc, char** argv)
{
// Initialize ROS
ros::init (argc, argv, "locateCamera");
ros::NodeHandle nh;
// Create a ROS subscriber
ros::Subscriber sub = nh.subscribe ("input", 1, processing);
ros::spin ();
}
What do i make wrong? Thanks for helping me.
Update:
Looks like the problem is solved now. When compiling the ARtoolkit packages indirect through my ros package, the ARMarkers.h gets found. So just cloning the AR Packages but not running make or rosmake in the folders and instead let the own package call this when rosmaking solved this problem.
Thank you very much
This file is generated automatically by rosbuild_genmsg(). If you want to copy it in your package, you should copy the msg file in your package and do a rosmake, then you can include #include <yourPackage/ARMarkers.h> but normally you don't have to do that.
did you managed to compile the examples that came with the ccny_vision stack?
i did not compile examples explicit, i ran rosmake for the packages successfully. Tomorrow i will look for these examples and post here what i found. The idea to copy the msg files will be an "emergency plan" but normally it should work out of the AR package
Copying the msg files will probably not work; you should really try to solve the underlying problem
Hmm, this is strange. Your manifest.xml file looks correct. Could you just upload your code somewhere?