【1】ROS机器人学习-ROS快速体验-HelloWorld的实现

1、ROS快速体验-HelloWorld的实现

ROS涉及的编程语言以C++和Python为主。

以HelloWorld例程为开始,学习ROS开发的大致流程

1.创建一个工作空间;

2.创建一个功能包;

3.编辑源文件;

4.编辑配置文件

5.编译并执行。

在用C++与Python实现开发时,两者的区别主要是在步骤3和步骤4的实现细节上存在差异,其余的基本一致。

1、创建一个工作区间并初始化

首先会创建一个工作区间以及一个src的子目录

mkdir -p demo11_ws/src

进入工作区间

cd demo11_ws/

调用catkin_make 命令编译

catkin_make

结果如下

 

 

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

进入src

cd src

生成功能依赖包

catkin_create_pkg helloworld roscpp rospy std_msgs

该功能包依赖于 roscpp、rospy 与 std_msgs,其中roscpp是使用C++实现的库,而rospy则是使用python实现的库,std_msgs是标准消息库,创建ROS功能包时,一般都会依赖这三个库实现。

结果如下图

 

 

C++版

3、进入ros包的src目录编写源文件(进入的是helloworld中的src)

新建一个txt(记事本)文件,重命名为helloworld_node.cpp

进入编写C++源码

//保护头文件

#include "ros/ros.h"

//编写main函数

int main(int argc, char *argv[])

{

    //执行 ros 节点初始化

    ros::init(argc,argv,"hello");

    //控制台输出 hello world

    ROS_INFO("hello world!");

    return 0;

}

结果如下

 

4、编辑ros(helloworld)下的Cmakelist.txt文件

 

在136行,改为hello src/helloworld_node.cpp

在149-151行,改为hello

 

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

进入终端

cd demo11_ws

执行

catkin_make

生成build devel…

结果如下

 

再打开一个终端,启动命令行1

roscore

再返回第一个终端,启动命令行2

source ./devel/setup.bash

回车

//rosrun 包名 C++节点

rosrun helloworld hello

最后的输出

 

Python版

3、进入ros包的目录下新建一个scripts文件夹,在该文件夹下新建一个txt文件,编写源文件(进入的是helloworld中的src)

新建一个txt(记事本)文件,重命名为helloworld_p.py

进入编写Python源码

#!/usr/bin/env python

##指定解释器

"""

Python版Hello World

"""

#1.导包

import rospy

#2.编写入口

if __name__ == "__main__":

     #3.初始化ros节点

     rospy.init_node("Hello")

     #4.输出Hello World By Python

     rospy.loginfo("Hello World!!!By Python")

结果如下

 

 

4、为Python文件添加可执行权限

chmod +x helloworld_p.py

结果如下图

 

 

5、编辑ros包(helloworld文件)下的CamkeList.txt文件

6、进入工作空间编译并执行

进入终端

cd demo11_ws

执行

catkin_make

生成build devel…

结果如下

 

再打开一个终端,启动命令行1

roscore

再返回第一个终端,启动命令行2

source ./devel/setup.bash

回车

rosrun helloworld helloworld_p.py

最后的输出

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

买了一束花

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值