首页 > 其他分享 >ROS基础入门——实操教程

ROS基础入门——实操教程

时间:2024-10-05 16:47:17浏览次数:8  
标签:src 教程 自定义 创建 py 实操 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中创建的)

标签:src,教程,自定义,创建,py,实操,ROS
From: https://blog.csdn.net/rvdgdsva/article/details/142706869

相关文章

  • ROS报错The target name "test" is reserved when CTest testing is enabled
    ROS报错“Thetargetname“test“isreservedwhenCTesttestingisenabled”注意:现有特殊情况,可执行文件名可以为test,但是映射名称不可以为test。一般认为,可执行文件名和映射名称同名。因为映射名称不可命名为test,故可执行文件最好不要命名为test。纠正:ROS遇到的问题......
  • ROS基础入门——实操教程3C
    合集-Ubuntu强化学习合集(3)1.命令行gcc-v和g++-v输出版本不一致09-272.crypt.h:Nosuchfileordirectory报错处理09-283.ROS基础入门——实操教程10-04收起ROS基础入门——实操教程前言本教程实操为主,少说书。可供参考的文档中详细的记录了ROS的实操和理论,只是过于详细......
  • 图片无损放大编辑PhotoZoom Pro 9.0.2多版本软件安装包下载含安装教程
    PhotoZoomPro9.0.2多版本软件是一款非常流行的图像放大软件,它可以让你将低分辨率的图像放大到高分辨率的尺寸,同时保持高质量的图像细节和清晰度。PhotoZoomPro9.0.2多版本软件采用了一种称为S-Spline技术的算法,这是一种能够保持图像细节的高级插值算法。它可以将原始图像分成小......
  • 2024.10.4 ROS第五章结束,复习背包问题模型 + codeforces刷刷题
    项目学习总结ROS第五章主要是学习了坐标变换,实际用途还是好理解的,比方说地面基地控制无人机追鸟。坐标变换主要是用tf这个包实现的。可以实现静态坐标变换,动态坐标变换和多坐标变换。静态和动态变换的关键函数:ps_out=buffer.transform(ps,"base_link");动态变换里面主要是......
  • ROS基础入门——实操教程
    ROS基础入门——实操教程前言本教程实操为主,少说书。可供参考的文档中详细的记录了ROS的实操和理论,只是过于详细繁杂了,看得脑壳疼,于是做了这个笔记。RubyRose,放在这里相当合理前言:本文初编辑于2024年10月24日CSDN主页:https://blog.csdn.net/rvdgdsva博客园主页:https://......
  • 帝国CMS7.2/7.5移动端/手机端/多终端访问设置图文教程
    ​随着PC互联网与移动互联网的不断融合、以及各类移动访问终端增加,网站移动互联越来越重要了,所以帝国CMS7.2/7.5版本在原来版本的多访问终端功能基础上,做出更多的改进,让网站多种移动访问端制作更加方便。下面我们来讲解帝国CMS7.2版本的“多终端访问功能”使用:新增网站访问端步......
  • 这可能是最全的输入法教程了
    输入法是我们离不开的软件,如果要评选用户最常使用的工具类应用,输入法一定名列前茅。由于输入法实在太常用了,我们往往会忽略它:我用自带的输入法就行,打几个字,用的着琢磨吗?实则不然,输入法软件有很多,也有很多进阶用法,这也是我写这系列教程的原因——让你打字速度更快,体验更好。‍......
  • 帝国CMS7.2 手机网站使用教程
    下面为详细操作步骤:一、设置所有访问端统一的访问地址后台>系统>系统参数设置:网站地址:这个地址一定不要加上域名,比如设置为:/(默认安装后也是没有加上域名,如果自行修改过,请把域名去掉。)附件地址:这个地址必须加域名,比如设置为:http://www.5300.cn/d/file/ 或者给附件目录/d/file/绑......
  • pbootcms教程—设置的会话目录创建失败!
    当你在宝塔面板上部署PBootCMS模板时,可能会遇到“设置的会话目录创建失败”的问题。这通常是因为文件权限或目录权限设置不当导致的。以下是一步一步的解决方法:解决方法登录宝塔面板打开浏览器,输入宝塔面板的地址(通常是http://你的服务器IP:8888),并登录宝塔面板。找到对......
  • pbootcms伪静态教程
    在不同的Web服务器环境下(如Apache、IIS、Nginx),实现伪静态通常需要不同的配置文件和规则。对于PbootCMS来说,如果是在Apache或IIS环境下,并且已经默认在根目录放置了 .htaccess 和 web.config 文件,那么通常不需要额外的操作,只要主机支持伪静态即可。而对于Nginx环境,则需要手动配......