本节对应赵虚左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 rospyif __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(PROGRAMSscripts/hello_ros.pyDESTINATION ${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