1、建立工作空间并初始化
mkdir -p demo01_ws(自定义空间名称)/src
cd 自定义空间名称
catkin_make
上述命令,首先会创建一个工作空间以及一个src子目录,然后在进入工作空间调用catkin_make命令编译
2、进入src创建ros包并添加依赖
cd src
catkin_create_pkg helloworld roscpp rospy std_msgs
上述命令,会在工作空间下生成一个功能包,该功能包依赖于roscpp,rospy与std_megs,std_megs是标准消息库,创建ros功能包时,一般都会依赖这三个库。
3、helloworld实现
3.1 c++实现
3.1.1进入ros包的的src目录编辑源文件
cd 自定义的包
c++源码实现
//1.包含ros头文件
# include"ros/ros.h"
//2.编写main函数
int main(int argc,char *argv[]){
//3.初始化ros节点
ros::init(argc,argv,"hello_node");
//4输出日志
ROS_INFO("hello world");
return 0;
}
3.1.2编辑ros包下的Cmakelist.txt文件
add_executable(源文件命名
src/源文件名.cpp
)
target_link_libraries(源文件名
${catkin_LIBRARIES}
)
3.1.3进入工作空间并编译
cd 自定义空间名称
catkin_make
3.1.4执行
先启动命令行1:
roscore
再启动命令行2:
cd 工作空间
source ./devel/setup.bash
rosrun 包名 c++节点
命令行输出:hello world
4.1 python实现
4.1.1进入ros包添加scripts目录并编辑python文件
cd ros包
mkdir scripts
新建python文件
#! /usr/bin/env python
## 指定解释器
#1. 导包
import rospy
if __name__ =="__main__":
# 初始化ros节点
rospy.init_node("hello_p")
# 输出
rospy.loginfo("hello,world python");
4.1.2为python文件添加可执行权限
ll
chmod +x 自定义文件名.py
4.1.3编辑ros包下的Cmakelist.txt文件
catkin_install_python(PROGRAMS
scripts/自定义文件名.py
DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)
4.1.4进入工作空间目录并编译
cd 自定义空间名称
catkin_make
4.1.5执行
先启动命令行1:
roscore
再启动命令行2:
cd 工作空间
source ./devel/setup.bash
rosrun 包名 自定义文件名.py
命令行输出:hello world