ros编写hello_ros及注意细节

下面是接触ROS编程的第一个小实验---编写hello_ros


首先还是创建ros的工作空间,

  1. 打开终端,输入mkdir -p ~/catkin_op/src
  2. cd catkin_op/src
  3. 进入src,创建工作包pkg, catkin_create_pkg print_hello roscpp std_msgs (catkin_create_okg 包名 依赖)
  4. 在上面一步生成的src文件下创建一个源文件hello.cpp


下面就直接粘贴这个hello_ros代码,

#include<ros/ros.h>

int main(int argc,char **argv)

{

     ros::init(argc,argv,"hello_ros");

     ros::NodeHandle nh;

     ROS_INFO("Hello_Ros!"); 

     ros::spinOnce();

}


下一步就是要注意的地方,修改CMakeLists.txt的内容,先把我这一次的内容贴出来,然后来说下自己的错误,(CSDN居然不能复制粘贴,难受)

cmake_minimun_required(VERSION 2.8.3)            --------------------------------------1

project(print_hello)                                                   --------------------------------------2

add_compile_options(-std=c++11)                           -------------------------------------3

find_package(catkin REQUIRED COMPONENTS 

roscpp

std_msgs)                                                                -------------------------------------4

catkin_package(

INCLUDE_DIRS include

LIBRARIES print_hello

CATKIN_DEPENDS roscpp std_msgs)                 --------------------------------------5

include_directories(

#include ${catkin_INCLUDE_DIRS}

)                                                                             --------------------------------------6

add_ececutable(hello ./src/hello.cpp)                    --------------------------------------7

target_link_libraries(hello ${catkin_LIBRARIES})  --------------------------------------8

在这上面的标记中,我的错误开始在第5处的catkin_packge()中的内容没有注意,这个内容是编译自己的程序和依赖,生成可行程序的链接,而且catkin_packge()是写在find_packge()后面的,find_packge()是我们需要使用的依赖。

如果又错误,执行catkin_make编译的时候,会爆出来的,根据红色错误,可以一点点的找到问题。

关于这个CMakeLists.txt的内容每一项是什么意思,可以在其他博客中找到,不过自己也应该整理一份方便自己理解,时间不够了,后面有空闲时间自己在整理下1.2.3.4.5.6.7.8.以及.xml文件的每一项的意思。

 

然后就是在catkin_op这个工作空间下打开终端,输入:catkin_make,编译整个程序

注意到,最后两行的两个100%后面的内容,一个链接到/devel/lib下的可执行程序,一个是hello.cpp构建成功,说明该ros程序的编译完成。(出现这个结果很重要)


最后,在ros下执行该程序的输出,

打开一个终端,输入:roscore,启动ros环境

再打开一个终端,输入:cd catkin_op

                            再输入:source devel/setup.bash  ,刷新环境

最后输入:rosrun print_hello hello      ,运行该节点

上面的[INFO]后面看到了输出的:Hello_Ros!

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值