Skip to content

Instantly share code, notes, and snippets.

@mintar
Last active December 18, 2015 16:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mintar/5813581 to your computer and use it in GitHub Desktop.
Save mintar/5813581 to your computer and use it in GitHub Desktop.
cmake_minimum_required(VERSION 2.4.6)
include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)
# Set the build type. Options are:
# Coverage : w/ debug symbols, w/o optimization, w/ code-coverage
# Debug : w/ debug symbols, w/o optimization
# Release : w/o debug symbols, w/ optimization
# RelWithDebInfo : w/ debug symbols, w/ optimization
# MinSizeRel : w/o debug symbols, w/ optimization, stripped binaries
#set(ROS_BUILD_TYPE RelWithDebInfo)
rosbuild_init()
#set the default path for built executables to the "bin" directory
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
#set the default path for built libraries to the "lib" directory
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
#uncomment if you have defined messages
#rosbuild_genmsg()
#uncomment if you have defined services
#rosbuild_gensrv()
#common commands for building c++ executables and libraries
#rosbuild_add_library(${PROJECT_NAME} src/example.cpp)
#target_link_libraries(${PROJECT_NAME} another_library)
#rosbuild_add_boost_directories()
#rosbuild_link_boost(${PROJECT_NAME} thread)
rosbuild_add_executable(obstacle_detection obstacle_detection.cpp)
#target_link_libraries(example ${PROJECT_NAME})
/**
\mainpage
\htmlinclude manifest.html
\b obstacle_detection
<!--
Provide an overview of your package.
-->
-->
*/
include $(shell rospack find mk)/cmake.mk
<package>
<description brief="obstacle_detection">
obstacle_detection
</description>
<author>me</author>
<license>BSD</license>
<review status="unreviewed" notes=""/>
<url>http://ros.org/wiki/obstacle_detection</url>
<depend package="pcl"/>
<depend package="pcl_ros"/>
<depend package="roscpp"/>
<depend package="sensor_msgs"/>
<depend package="artoolkit"/>
<depend package="ar_pose"/>
</package>
#include <ros/ros.h>
#include <ar_pose/ARMarkers.h>
void processing (const ar_pose::ARMarkers::ConstPtr& msg){
ar_pose::ARMarker ar_pose_marker;
for(size_t i=0;i<=msg->markers.size();i++){
ar_pose_marker = msg->markers.at(i);
std::cout<<"x " << ar_pose_marker.pose.pose.position.x<<std::endl;
std::cout<<"y " << ar_pose_marker.pose.pose.position.y<<std::endl;
std::cout<<"z " << ar_pose_marker.pose.pose.position.z<<std::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 ();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment