ROS中的程序实现流程大致如下:
先创建一个工作空间;
再创建一个功能包;
编辑源文件;
编辑配置文件;
编译并执行。
catkin_ws src 功能包 src/scripts
1创作工作空间和功能包
mkdir -p 自定义空间名称/src
cd 自定义空间名称
catkin_make
进入 src 创建 ros 包并添加依赖
cd src
Catkin_create_pkg hello roscpp rospy
Cd … 退出一级
1.进入 ros 包(hello)的 src 目录编辑源文件
Touch 文件名.cpp
`#include "ros/ros.h"`
`int main(int argc,char *argv[],"hello");
{
ros::init(argc,argv,"hello");//hello是节点名,一般与文件名相同
ROS_INFO("")//输出printf
return 0;
}`
2.编辑 ros 包下的 Cmakelist.txt文件
add_executable(步骤3的源文件名
src/步骤3的源文件名.cpp
)
target_link_libraries(步骤3的源文件名
${catkin_LIBRARIES}
)
3.进入工作空间目录并编译
cd 自定义空间名称
catkin_make
生成 build devel …
4.执行
先启动命令行1:
roscore
再启动命令行2:
cd 工作空间
source ./devel/setup.bash
rosrun 包名 C++节点名称
命令行输出: HelloWorld!
echo “source ~/工作空间/devel/setup.bash” >> ~/.bashrc
添加到.bashrc文件末尾
1.进入 ros 包添加 scripts 目录并编辑 python 文件
cd ros包
mkdir scripts
与
新建 python 文件: (文件名自定义)
#! /usr/bin/env python
"""
Python 版 HelloWorld
"""
import rospy
if __name__ == "__main__":
rospy.init_node("Hello")
rospy.loginfo("Hello World!!!!")
2.为 python 文件添加可执行权限
chmod +x 自定义文件名.py
3.编辑 ros 包下的 CamkeList.txt 文件
catkin_install_python(PROGRAMS scripts/自定义文件名.py
DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)
4.进入工作空间目录并编译
cd 自定义空间名称
catkin_make
5.进入工作空间目录并执行
先启动命令行1:
roscore
再启动命令行2:
cd 工作空间
source ./devel/setup.bash
rosrun 包名 自定义文件名.py
输出结果:Hello World!!!!