ROS——创建工作空间和功能包并成功运行一个基本python文件

文章目录
ROS文件系统的基本结构
一、创建工作空间
二、(可选)创建功能包
三、编写python代码
四、调试运行代码
正确运行Clion

ROS文件系统的基本结构
📁workspace(ROS的工作空间)
├── 📁build(在工作空间中执行catkin_make时,会在build中创建一系列的中间编译文件和中间缓存文件)
├── 📁devel(用于存储编译成功的目标可执行文件)
│ ├── 📃setup.bash
└── 📁src(用于存储新创建的程序包)
├── 📃CMakeLists.txt
├── 📁pkg1
│ ├── 📃CMakeLists.txt
│ ├── 📁include
│ ├── 📃package.xml
│ └── 📁src
├── 📁pkg2
│ ├── 📃CMakeLists.txt
│ ├── 📁include
│ ├── 📃package.xml
│ └── 📁src
└── 📁pkg3
├── 📃CMakeLists.txt
├── 📁include
├── 📃package.xml
└── 📁src
一、创建工作空间
1.需要先建立一个工作空间文件夹,其中包括src文件夹。
mkdir ros_workspace/src

2.初始化工作空间
catkin_init_workspace

一开始创建空间时就要进行编译catkin_init_workspace。
工作空间可以任意命名,这里以ros_workspace命名进行讲解。
如果要编译功能包,需要到工作空间ros_workspace下进行编译catkin_make。
在ros_workspace/src下存放该工作空间的功能包。
二、(可选)创建功能包
1.在工作空间的src文件夹下,使用catkin_create_pkg命令创建功能包。
catkin_create_pkg demo_pkg rospy rosmsg roscpp

功能包也可以任意命名,这里以demo_py命名进行讲解。
现在的demo_py功能包下有下边几个文件:

irvingao@irvingao:~/ros_project/first_ws/src/demo_py$ ls
CMakeLists.xt include package.xml src

2.如果要写python代码,需要在程序包下新建scripts文件夹,并将python代码写在其中。
mkdir scripts

三、编写python代码
hello.py

#!/usr/bin/env python

coding:utf-8

import rospy

if name == ‘main’:
# 创建节点
rospy.init_node(“pyhello”)
print(“hello Irvingao! this is ur first ros python code! Good luck for u!”)

需要注意的是:

#!/usr/bin/env python是为了说明python文件为可执行文件,而不是脚本文件。

coding:utf-8是保证编码格式。

四、调试运行代码
1.可执行权限修改
cd scripts
chmod a+x hello.py
默认编写的py文件是不具备执行权限的。因此我们需要手动讲文件权限修改为可执行。

2.项目编译
启动命令行,来到工作空间目录下,编译项目。
cd ros_workspace #回到工作空间
catkin_make
source devel/setup.bash #编译后要source刷新环境

3.启动ROS Master
打开新的命令行,启动ROS master。
roscore

4.运行节点

(1)打开新的命令行,来到工作空间目录下,source一下开发环境。
cd ros_workspace
source devel/setup.bash
(2)通过命令运行编译好的node

[pkg名] [py文件]
rosrun demo_py hello.py
rosrun命令后跟第一个参数是package的名称,第二个参数是节点名称
可以直接在代码中进行更改而不需要再次进行编译。
正确运行Clion
务必在根目录下运行Clion,如果在GUI运行Clion,会导致环境报错。

cd ~/devtools/clion-2019.3.2/bin/

./clion.sh

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值