翼度科技»论坛 云主机 LINUX 查看内容

ROS基础入门——实操教程

6

主题

6

帖子

18

积分

新手上路

Rank: 1

积分
18
ROS基础入门——实操教程

前言

本教程实操为主,少说书。可供参考的文档中详细的记录了ROS的实操和理论,只是过于详细繁杂了,看得脑壳疼,于是做了这个笔记。
Ruby Rose,放在这里相当合理本文初编辑于2024年10月4日
CSDN主页:https://blog.csdn.net/rvdgdsva
博客园主页:https://www.cnblogs.com/hassle
一、安装【virtualbox】【Ubuntu】【ROS】

前人栽树,后人乘凉
安装virtualbox教程
安装Ubuntu教程
安装ROS教程
测试ROS教程
二、文件创建

2.1创建工作空间和初始化

此处参考(选看)
在ubuntu主界面按下(ctrl + alt + T)打开命令行,然后依次输入下面的命令
  1. mkdir -p test(这是自定义空间名称,爱叫什么叫什么)/src
  2. cd test(这是自定义空间名称,爱叫什么叫什么)
  3. catkin_make
复制代码
生成了下面的文件树
  1. ....   
  2. └── test(文件夹,意为工作空间,第一行代码运行时被创建)
  3.     ├── build(文件夹,意为编译空间,第三行代码运行时被创建)
  4.     │   ├── ...
  5.     ├── devel(文件夹,意为开发空间,第三行代码运行时被创建)
  6.     │   ├── setup.bash
  7.     │   ├── setup.sh
  8.     │   ├── ...
  9.     └── src(文件夹,第一行代码运行时被创建)
  10.         └── CMakeLists.txt (别动这个)
复制代码
2.2导入包

生成一个基于三个库的ROS包,其中:roscpp是使用C++实现的库,rospy是使用python实现的库,std_msgs是标准消息库
  1. cd src
  2. catkin_create_pkg testpkg(这是ROS包名,爱叫什么叫什么) roscpp rospy std_msgs
复制代码
此时src文件树变动
  1. ....   
  2. └── test
  3.     ├── build
  4.     │   ├── ...
  5.     ├── devel
  6.     │   ├── setup.bash
  7.     │   ├── setup.sh
  8.     │   ├── ...
  9.     └── src
  10.                 └── CMakeLists.txt (别动这个!!!动的是下面那个同名文件,别搞错了)
  11.                 └── testpkg
  12.             ├── CMakeLists.txt(执行cpp和py代码需要修改此处)(2.4涉及此处)
  13.             ├── include
  14.             │   └── testpkg
  15.             ├── package.xml
  16.             └── 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源文件名相同
  1. add_executable(映射名
  2.   src/源文件名.cpp
  3. )
  4. target_link_libraries(映射名
  5.   ${catkin_LIBRARIES}
  6. )
复制代码
2.4.2python程序:

在自定义命名包的 CMakeLists.txt(执行cpp和py代码需要修改此处)内修改第162-165行 为
具体行数因版本不同可能有所变动
注意这里Py程序是不需要映射名
  1. catkin_install_python(PROGRAMS scripts/源文件名.py
  2.   DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
  3. )
复制代码
2.5编译并运行程序

2.5.1Cpp程序:

在自定义空间名称(2.1中创建的)中按下(ctrl + alt + T)打开命令行,依次输入
  1. catkin_make
  2. roscore
复制代码
在自定义空间名称(2.1中创建的)中按下(ctrl + alt + T)打开另一个命令行,依次输入
  1. source ./devel/setup.bash
  2. rosrun 包名(2.2中创建的) 映射名(2.4中创建的)
复制代码
2.5.2Python程序:

在自定义空间名称(2.1中创建的)中按下(ctrl + alt + T)打开命令行,依次输入
  1. chmod +x 源文件名.pycatkin_make
  2. roscore
复制代码
在自定义空间名称(2.1中创建的)中按下(ctrl + alt + T)打开另一个命令行,依次输入
  1. source ./devel/setup.bash
  2. rosrun testpkg(ROS包名,爱叫什么叫什么,2.2中创建的) 源文件名.py(2.4中创建的)
复制代码
来源:https://www.cnblogs.com/hassle/p/18447212
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具