【ROS机器人入门】1.2 ROS输出helloworld

文章目录

  • 前言
  • 实现流程
    • 1. 先创建一个工作空间
      • 实例
    • 2. 再创建一个功能包
      • 实例
    • 3. 编辑源文件
      • 实例
    • 4. 编辑配置文件
      • 实例
    • 5. 编译并执行。
      • 实例
  • 参考资料

前言

由于本人使用python进行ros实验,于是ros的所有实验基本都以python编写,如需用c++编写,可以看参考资料的内容

本文需要具备python和linux部分知识,linux入门学习地址

实现流程

1. 先创建一个工作空间

在某个目录下打开终端

mkdir -p 自定义空间名称/src 
cd 自定义空间名称 
catkin_make

通过catkin_make命令可以发现,除了src目录还多了两个目录

实例

  1. 创建两个目录,里面的目录为src
    在这里插入图片描述
  2. 进入空间
    在这里插入图片描述
  3. 输入下面命令
catkin_make

可以不用看里面的内容

2. 再创建一个功能包

进入src创建ros 包并添加依赖

cd src 
catkin_create_pkg 自定义ROS包名 roscpp rospy std_msgs

上述命令,会在工作空间下生成一个功能包,该功能包依赖于roscpp、rospy 与std_msgs,其中roscpp是 使用C++实现的库,而rospy则是使用python实现的库,std_msgs是标准消息库,创建ROS功能包时,一般 都会依赖这三个库实现。

注意:在ROS中, C++和Pvthon可以具体使用哪种语言.要视要求而 定,因为两种语言相较而言:C++运行效率高但是编码效率低,而Python则反之,基于二者互补的特点, ROS 设计者分别设计了roscpp与rospy库,前者旨在成为ROS的高性能库,而后者则一般用于对性能无要求的场景,旨在提高开发效率。

实例

  1. 进入src
    在这里插入图片描述

  2. 使用catkin_create_pkg表示创建功能包,创建helloworld这个功能包(自己定义的),后面三个参数为依赖
    在这里插入图片描述

【ROS机器人入门】1.2 ROS输出helloworld_第1张图片

3. 编辑源文件

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!!!!")

实例

  1. 在src下的helloworld中新建文件夹scripts【ROS机器人入门】1.2 ROS输出helloworld_第2张图片
  2. 在新建的文件夹下新建helloworld_p.py

【ROS机器人入门】1.2 ROS输出helloworld_第3张图片

  1. 在python文件编写文件

编写的大致流程:
【ROS机器人入门】1.2 ROS输出helloworld_第4张图片实现:
【ROS机器人入门】1.2 ROS输出helloworld_第5张图片

rospy.init_node(“参数”),参数为节点的名称

  1. 在scripts的文件夹下打开终端,为python文件添加可执行权限

【ROS机器人入门】1.2 ROS输出helloworld_第6张图片

4. 编辑配置文件

  1. 为python文件添加可执行权限
chmod +x 自定义文件名.py
  1. 编辑ros包下的CaMakeList.txt文件
catkin_install_python(PROGRAMS scripts/自定义文件名.py 
	DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} 
	)

实例

  1. 打开在helloword文件夹下的CMakeLists.txt
    【ROS机器人入门】1.2 ROS输出helloworld_第7张图片解除162-165的注释
    scripts/后面的文件改为自己的执行文件,即helloworld_p.py

【ROS机器人入门】1.2 ROS输出helloworld_第8张图片保存

5. 编译并执行。

  1. 进入工作空间目录编译
cd 自定义空间名称
catkin_make
  1. 在工作空间目录执行

先启动命令行1:

roscore

再启动命令行2:

cd 工作空间 
source ./devel/setup.bash 
rosrun 包名 自定义文件名.py 

输出结果: Hello World!!!

实例

  1. 在工作空间处打开终端,并输入catkin_make
    【ROS机器人入门】1.2 ROS输出helloworld_第9张图片如下则表示编译成功
    【ROS机器人入门】1.2 ROS输出helloworld_第10张图片

  2. 在新窗口处输入roscore,启动核心,我们暂且把这个新创建的窗口叫做窗口二,第一个窗口叫做窗口一

【ROS机器人入门】1.2 ROS输出helloworld_第11张图片

  1. 在窗口一处刷新环境变量
    【ROS机器人入门】1.2 ROS输出helloworld_第12张图片
  2. 在窗口一处执行

【ROS机器人入门】1.2 ROS输出helloworld_第13张图片

参考资料

https://www.bilibili.com/video/BV1Ci4y1L7ZZ/?p=19&spm_id_from=333.1007.top_right_bar_window_history.content.click&vd_source=b914a8de9ea8b12ba5cb6d8edd1b346c

你可能感兴趣的:(ROS,机器人)