本节对应赵虚左ROS书籍的1.3.1-->1.3.3
1)创建一个工作空间
2)创建一个功能包和导入依赖
3)编辑源文件
4)编辑配置文件
5)编译和执行
1)创建一个工作空间
mkdir -p catkin_ws/src
cd catkin_ws
catkin_make
2)创建一个功能包
cd src
catkin_create_pkg hello_ros rospy roscpp std_msgs
包名的首字母尽量不要大写,否则会报警告
3)编辑源文件
3.1) 编辑cpp文件
cd hello_ros/src
gedit hello_ros.cpp
在hello_ros.cpp中写入:
#include "ros/ros.h"
int main(int argc ,char *argv[])
{
//节点初始化
ros::init(argc,argv,"hello");
//创建节点句柄(非必要)
ros::NodeHandle n;
//控制台输出"hello ros !!!"
ROS_INFO("hello ros !!!");
return 0;
}
3.2) 编辑python文件
在工作空间下新建scripts文件夹,在scripts目录下新建python文件
mkdir scripts
cd sripts
gedit hello_ros.py
在hello_ros.py 文件写入:
#! /usr/bin/env python
import rospy
if __name__ =="__main__":
rospy.init_node("Hello")
rospy.loginfo("hello ros !!!")
给hello_ros.py 加权限
chmod +x hello_ros.py
4)编辑配置文件
4.1)编辑cpp配置文件
编辑catkin_ws 包下的CMakeLists.txt (136行,149行)
//136行 后面为cpp文件名,前面为自定义节点名(尽量和cpp文件名一样即可)
add_executable(hello_ros src/hello_ros.cpp)
//149行 hello_ros也为前面的节点名
target_link_libraries(hello_ros
${catkin_LIBRARIES}
)
4.1)编辑python配置文件
编辑catkin_ws 包下的CMakeLists.txt (162行)
//这里的scripts文件夹要创建,防止报错
catkin_install_python(PROGRAMS
scripts/hello_ros.py
DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)
5)编译和执行
到工作空间目录下编译
catkin_make
新建终端,
roscore
启动roscore
5.1)cpp执行 rosrun <包名> <节点名>
source ./devel/setup.bash
rosrun hello_ros hello_ros
5.2)python执行 rosrun <包名> <python文件名>
source ./deve/setup.bash
rosrun hello_ros hello_ros.py