【ROS学习笔记1】ROS快速体验输出Hello World
创始人
2024-05-26 16:41:17
0

【ROS学习笔记1】ROS快速体验输出Hello World

文章目录

  • 【ROS学习笔记1】ROS快速体验输出Hello World
  • 1.1 ROS快速体验
    • 1.1.1 Hello World快速实现简介
    • 1.1.2 Hello World的C++实现
    • 1.1.3 Hello World的Python实现

写在前面,本系列笔记参考的是AutoLabor的教程,具体项目地址在 这里

1.1 ROS快速体验

1.1.1 Hello World快速实现简介

本节使用ROS编写一个程序实现打印Hello World字符串的功能,分别用C++Python实现。

无论使用那种语言,使用ROS的大致流程都是一样的,分别是:

  • 1、创建一个工作空间;
  • 2、创建一个功能包;
  • 3、编辑源文件;
  • 4、编辑配置文件;
  • 5、编译文件并执行。

1、创建工作空间

mkdir -p 工作空间名称/src
cd 工作空间名称
catkin_make

上述的命令会创建一个工作空间名称/src的两个文件夹,再回到工作空间目录中用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功能包时,一般都会依赖这三个库实现。

1.1.2 Hello World的C++实现

1、进入ros包的src目录编辑源文件

cd 自定义的包

写入以下源码文件(文件名可以自定义)

#include "ros/ros.h"int main(int argc, char *argv[])
{//执行 ros 节点初始化ros::init(argc,argv,"hello_node");//创建 ros 节点句柄(非必须)ros::NodeHandle n;//控制台输出 hello worldROS_INFO("hello world!");return 0;
}

2、编辑ros包下的Cmakelist.txt文件

在CmakeList.txt文件中找到

###########
## Build ##
###########
add_executable(步骤3的源文件名src/步骤3的源文件名.cpp
)
target_link_libraries(步骤3的源文件名${catkin_LIBRARIES}
)

3、进入工作空间目录并编译

cd 自定义空间名称
catkin_make

4、执行

先启动命令行1:

roscore

再启动命令行2:

cd 工作空间
source ./devel/setup.bash
rosrun 包名 C++节点

注:source ~/工作空间/devel/setup.bash可以添加进.bashrc文件,在使用时更加方便。

添加方式1:直接使用gedit编辑.bashrc文件,在文件的末尾添加改内容

添加方式2:echo "source ~/工作空间/devel/setup.bash" >> ~/.bashrc

采用Cpp实现时:

1.1.3 Hello World的Python实现

1、进入ros包添加scripts目录并编辑python文件

需要特别注意,应该进入ros的包再创建文件夹scripts

给出一个示例的路径

~/demo1_ws/src/功能包名/srcipts

cd ros包
mkdir scripts

新建python文件(文件名可以自定)

#! /usr/bin/env python
## 指定解释器"""Python 版 HelloWorld"""
import rospyif __name__ == "__main__":rospy.init_node("Hello")rospy.loginfo("Hello World!!!!")

2、为python文件添加可执行权限

chmod +x 自定义文件名.py

3、编辑ros包下的CmakeList.txt文件

在CmakeList.txt文件中找到

#############
## Install ##
#############

开头的部分

catkin_install_python(PROGRAMS scripts/自定义文件名.pyDESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)

4、进入工作空间目录并编译

cd 自定义空间名称
catkin_make

5、进入工作空间目录并执行

先启动命令行1:

roscore

再启动命令行2:

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

采用Python实现时

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...