2、ROS创建工作空间、功能包,编译示例程序。

一、ROS基础

1、工作空间介绍

工作空间存放工程开发相关的文件夹。各文件含义如下:
src: 代码空间,存放功能包源码。
build: 编译空间,存放编译产生的中间文件。
devel: 开发空间,存放编译后的可执行文件,环境变量 配置的脚本等。
install: 安装空间,和devel作用基本一致,一般使用install命令将可执行文件等安装到这个文件夹。

2、创建工作空间过程

在这里插入图片描述(1)catkin_ws为自己命名的工作空间名称;
(2)设置环境变量目的是让系统找到功能包的位置,仅在当前终端有效。
(3)可以把指令放置在终端的配置文件(home目录下),此时在新打开终端配置的环境变量依然有效。具体操作如下:
vi ~/.bashrc //编辑器打开配置文件
source ~/catkin_ws/devel/setup.bash //加在最后一行
:wq //保存退出
source ~/.bash //终端输入,让配置在当前终端生效

3、创建功能包过程

(1)功能包:实现机器人某个功能的单元,可以在里面创建具体的代码。
在这里插入图片描述(2)rospy是使用python实现的库,roscpp是是使用cpp实现的库,std_msgs是标准消息库,创建功能包时一般都会依赖这三个库实现。

4、编写编译源文件和配置文件

(1)在功能包目录下的src文件下创建.cpp源文件,编写程序。示例如下:
touch helloworld.cpp //创建源程序
(2)编写如下
在这里插入图片描述
(3)配置CMakeLists.txt文件。在功能包目录下,找到add_executable和target_link_libries将注释去掉,其中${PROJECT_NAME}_node改为hello(任意命名),后面改为src/cpp文件名,保存退出。示例如下:
在这里插入图片描述(4)然后回到工作空间目录下,输入如下命令编译执行:
catkin_make //100%表示没错,有红字检查之前的操作
Ctrl+Alt+T //打开新的终端
roscore //启动ros核心
source ./devel/setup.bash //原终端输入,添加环境变量
rosrun helloworld hello //helloworld为功能包名,hello为配置文件中的命名。
在这里插入图片描述

5、ROS工作空间的Overlaying机制

(1)即工作空间的覆盖,可以更好管理系统中许多个工作空间,管理同名功能包。输入以下命令:
env | grep ros //查看和ros相关的环境变量,关注 ROS_PACKAGE_PATH的日志信息。
sudo apt_get install ros-kinetic-roscpp-tutorials //安装ros下的功能包,该功能包是一些ros例程,可以用于实践来领会该管理机制。
(2)如下图:
在这里插入图片描述(3)ros查找功能包的路径是在ROS_PACAKAGE_PATH下依次查找,后创建的功能包路径会放在前面。因此在不同工作空间下有同名功能包时,有需要注意该机制。

古月-机器人操作系统ROS理论学习笔记

其他学习参考资料
ros answer
ros wiki

关注点赞,好运多多~

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

执着且专注

予人玫瑰,手有余香

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

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

打赏作者

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

抵扣说明:

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

余额充值