2022-05-19 ROS Hello World (C&Python)

ROS中编程语言实现大致步骤:

1、创建工作空间

2、添加程序所需功能包

3、编写程序

4、编辑配置文件

5、编译运行

———————————————分割线—————————————————

一、创建工作空间并初始化

1.创建 demo01 文件夹,同时在 demo01 下再次创建 src 文件夹,然后进入 demo01 文件夹内:

mkdir -p demo01/src
cd demo01

2.初始化工作空间

catkin_make

二、添加程序所需功能包及依赖

cd src
catkin_create_pkg helloworld roscpp rospy std_msgs

其中 roscpp为c++标准库文件,rospy 为python库, std_msgs为ROS标准信息库
三个库在功能包中不可缺少,除非只使用一种语言。

三、编写程序

C++版

1、直接进入 helloworld 文件夹下的 src 文件夹,打开终端
2、创建 helloworld_c.cpp 文件

touch helloworld_c.cpp

3.编写cpp文件:

#include "ros/ros.h" //添加ROS头文件
int main(int argc ,char *argv[])
{
  ros::init(argc, argv, "helloworld");//初始化结点
  ROS_INFO("hello world!");//使用日志输出“hello world!"
  return 0;
}

编写完成保存,回到上一级。
4、修改 CMakeLists.txt 文件:
将add_executable函数和target_link_libraries函数解除注释;
将add_executable函数修改为add_executable(映射名 src/cpp文件名);
将target_link_libraries函数修改为(映射名 ${catkin_LIBRARIES});


修改 CMakeLists.txt 文件

5、在工作空间文件夹打开终端,输入

catkin_make

如果上述操作没有问题的话,会显示:


image.png

重新打开另一个终端,运行ros核心:

roscore

回到上一个终端,刷新环境变量,rosrun 自定义ros包名 映射名

source ./devel/setup.bash
rosrun helloworld helloworld

运行后终端显示


运行成功

可见输出成功。

Python版

1.在功能包内创建文件夹 script ,在文件夹内创建 .py 文件

mkdir scripts
touch helloworld_p.py

2.编写py程序,保存退出

#! /usr/bin/env python
import rospy
if __name__ == "__main__":
  rospy.init_node("hello")
  rospy.loginfo("hello world!")

3.在 .py 文件夹内打开终端,修改 .py 文件权限

chmod +x helloworld_p.py

4.回到上级目录,修改 CMakeLists.txt 文件:
对 catkin_install_python 函数进行修改,将 myprogram.py 修改为自己创建的 py 文件

 catkin_install_python(PROGRAMS
   scripts/helloworld_p.py
   DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
 )

5.回到工作空间文件夹,打开终端运行 roscore :

roscore

打开另一个终端,对文件进行编译,然后刷新环境变量,运行 .py 文件(与c++步骤一致,需要注意的是最后 rosrun 最后一个指令是 .py 文件全称):

catkin_make
source ./devel/setup.bash
rosrun helloworld helloworld_p.py
Python 运行成功
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。