我是ROS的初学者。我的操作系统是Ubuntu 12.04,我的ROS是水力学。在我阅读ROS.wiki中关于初学者教程的“说话者和听众”的一些章节之后,我尝试写一个出版商给将消息发布到主题“turtle1 / com_vel”,以便我可以控制乌龟来运行。但是当我尝试制作我的代码时,它失败了。终端提醒我
CMake Error at /opt/ros/hydro/share/catkin/cmake/catkinConfig.cmake:72 (find_package):
Could not find a configuration file for package ros.
Set ros_DIR to the directory containing a CMake configuration file for ros.
The file will have one of the following names:
rosConfig.cmake
ros-config.cmake
我想我的CMakeLists.txt.But在与ROS.wiki中的演示进行比较后出现了问题,我仍然找不到错误。 这是我在cpp文件中的代码。在这个文件中,我定义了一个名为move_turtle的发布者。
#include "ros/ros.h"
#include "geometry_msgs/Twist.h"
int main( int argc, char** argv )
{
// initialization
ros::init(argc, argv, "move_turtle");
ros::NodeHandle n;
ros::Publisher move_pub = n.advertise<geometry_msgs::Twist>("turtle1/com_vel",100);
ros::Rate loop_rate(10);
//define the moving rule that I want.It is a circle.
geometry_msgs::Twist com_cicle;
com_cicle.linear.x=3.0;
com_cicle.linear.y=com_cicle.linear.z=0.0;
com_cicle.angular.x=com_cicle.angular.y=0.0;
com_cicle.angular.z=2.0;
while(ros::ok())
{
//publish the msg to topic /tuttle1/com_vel
move_pub.pulish(com_cicle);
ros::spinOnce();
loop_rate.sleep();
}
return 0;
}
我的CMakeLists.txt如下:
cmake_minimum_required(VERSION 2.8.3)
project(move_turtle)
find_package(catkin REQUIRED COMPONENTS
ros
geometry_msgs
turtlesim
)
catkin_package()
include_directories(
${catkin_INCLUDE_DIRS}
)
## Declare a cpp executable
add_executable(move_turtle src/move_turtle.cpp)
## Specify libraries to link a library or executable target against
target_link_libraries(move_turtle ${catkin_LIBRARIES})
答案 0 :(得分:0)
哦......我在'CMakeLists.txt'的第5行使用'ros'代替'roscpp'。这就是为什么它让我想起我的路上没有'ros'包。