当前位置: 首页 > article >正文

ROS基础入门——实操教程

ROS基础入门——实操教程


前言

本教程实操为主,少说书。可供参考的文档中详细的记录了ROS的实操和理论,只是过于详细繁杂了,看得脑壳疼,于是做了这个笔记。


Ruby Rose,放在这里相当合理

本文初编辑于2024年10月4日

CSDN主页:https://blog.csdn.net/rvdgdsva

博客园主页:https://www.cnblogs.com/hassle

博客园本文链接:https://www.cnblogs.com/hassle/p/18447212


一、安装【virtualbox】【Ubuntu】【ROS】

前人栽树,后人乘凉

安装virtualbox教程

安装Ubuntu教程

安装ROS教程

测试ROS教程

二、文件创建

2.1创建工作空间和初始化

此处参考(选看)

在ubuntu主界面按下(ctrl + alt + T)打开命令行,然后依次输入下面的命令

mkdir -p test(这是自定义空间名称,爱叫什么叫什么)/src
cd test(这是自定义空间名称,爱叫什么叫什么)
catkin_make

生成了下面的文件树

....    
└── test(文件夹,意为工作空间,第一行代码运行时被创建)
    ├── build(文件夹,意为编译空间,第三行代码运行时被创建)
    │   ├── ...
    ├── devel(文件夹,意为开发空间,第三行代码运行时被创建)
    │   ├── setup.bash
    │   ├── setup.sh
    │   ├── ...
    └── src(文件夹,第一行代码运行时被创建)
        └── CMakeLists.txt (别动这个)
2.2导入包

生成一个基于三个库的ROS包,其中:roscpp是使用C++实现的库,rospy是使用python实现的库,std_msgs是标准消息库

cd src
catkin_create_pkg testpkg(这是ROS包名,爱叫什么叫什么) roscpp rospy std_msgs

此时src文件树变动

....    
└── test
    ├── build
    │   ├── ...
    ├── devel
    │   ├── setup.bash
    │   ├── setup.sh
    │   ├── ...
    └── src
		└── CMakeLists.txt (别动这个!!!动的是下面那个同名文件,别搞错了)
		└── testpkg
            ├── CMakeLists.txt(执行cpp和py代码需要修改此处)(2.4涉及此处)
            ├── include
            │   └── testpkg
            ├── package.xml
            └── src(此处存放cpp代码)(2.3涉及此处)

2.3 编写Cpp与Py程序

Cpp详细教程(教程浓缩成下面一句话了,看完教程感觉脑子很乱的话照着下面的话去做就行)

一句话概括:需要在src(源文件空间)······> testpkg(ROS包名,爱叫什么叫什么)······> src文件夹(用于存放cpp文件)中存放编写好的cpp文件

Py详细教程(同上)

一句话概括:需要在src(源文件空间)······> testpkg(ROS包名,爱叫什么叫什么)······> scripts文件夹(用于存放py文件,需要手动创建该文件夹)中存放编写好的py文件

2.4 Cmakelist.txt文件改写
2.4.1Cpp程序:

在自定义命名包的 CMakeLists.txt(执行cpp和py代码需要修改此处)内修改第136行和第149-151行 为

具体行数因版本不同可能有所变动

注意映射名(映射名就是随便写的名,别写test就行)可与cpp源文件名相同

add_executable(映射名
  src/源文件名.cpp
)
target_link_libraries(映射名
  ${catkin_LIBRARIES}
)

2.4.2python程序:

在自定义命名包的 CMakeLists.txt(执行cpp和py代码需要修改此处)内修改第162-165行 为

具体行数因版本不同可能有所变动

注意这里Py程序是不需要映射名

catkin_install_python(PROGRAMS scripts/源文件名.py
  DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)
2.5编译并运行程序
2.5.1Cpp程序:

在自定义空间名称(2.1中创建的)中按下(ctrl + alt + T)打开命令行,依次输入

catkin_make
roscore

在自定义空间名称(2.1中创建的)中按下(ctrl + alt + T)打开另一个命令行,依次输入

source ./devel/setup.bash
rosrun 包名(2.2中创建的) 映射名(2.4中创建的)
2.5.2Python程序:

在自定义空间名称(2.1中创建的)中按下(ctrl + alt + T)打开命令行,依次输入

chmod +x 源文件名.py
catkin_make
roscore

在自定义空间名称(2.1中创建的)中按下(ctrl + alt + T)打开另一个命令行,依次输入

source ./devel/setup.bash
rosrun testpkg(ROS包名,爱叫什么叫什么,2.2中创建的) 源文件名.py(2.4中创建的)

http://www.kler.cn/news/336764.html

相关文章:

  • Python字符串操作详解
  • 深入探索Vue3组合式API
  • PCL 1.8.1 + VTK 1.8.0 + QT5.14.2+ VS2017 环境搭建
  • 【Ubuntu】Ubuntu常用命令
  • DAY26||669.修建二叉树 |108.将有序数组转换为二叉搜索树|538.把二叉搜索树转换为累加树
  • Spring Validation 参数校验框架
  • 模型漫谈:图神经网络(GNN)是什么样的存在
  • 计算机网络:计算机网络概述:网络、互联网与因特网的区别
  • python常用库总结(argparse、re、matlpotlab.plot)
  • 【探测器】线阵相机中的 TDI 技术
  • Bolt.new:终极自动化编程工具
  • 面试系列-分组Tire树匹配算法
  • 详解CSS中的伪元素
  • 从零开始打造华丽的国庆生活记录本地HTML网站
  • 毕业设计 深度学习水果识别
  • 十大时间序列预测模型
  • 【CSS Tricks】css动画详解
  • 【树结构与栈】中等力扣练习题
  • 【瑞昱RTL8763E】刷屏
  • 【EXCEL数据处理】000020 案例 保姆级教程,附多个操作案例。EXCEL使用表格。