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

ROS基础入门——实操教程3C

时间:2024-10-05 14:02:00浏览次数:7  
标签:src 教程 自定义 创建 py 实操 3C ROS

合集 - Ubuntu强化学习合集(3)1.命令行gcc -v和g++ -v输出版本不一致09-272.crypt.h:No such file or directory 报错处理09-283.ROS基础入门——实操教程10-04收起

ROS基础入门——实操教程


前言

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



Ruby Rose,放在这里相当合理


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

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

博客园主页:https://github.com/hassle


一、安装【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中创建的)

__EOF__

El Psy Kongroo! - 本文链接: https://github.com/hassle/p/18447212

  • 关于博主: 研二计算机遥感方向转强化学习方向,喜欢英国源神、杀戮尖塔、香蕉锁头、galgame,和下午的一杯红茶。
  • 版权声明: 本博客所有文章除特别声明外,均采用BY-NC-SA 许可协议。转载需要注明出处
  • 声援博主: 点个赞再走吧,初音未来会护佑每一位虔诚的信徒!

标签:src,教程,自定义,创建,py,实操,3C,ROS
From: https://www.cnblogs.com/westworldss/p/18447802

相关文章

  • R3CTF2024 WP
    一、PWN1.Nullullullllu在直接给libc_base的情况下,一次任意地址写\x00。直接修改 IO_2_1_stdin 的_IO_buf_base末尾为\x00,那么_IO_buf_base就会指向 IO_2_1_stdin 的_IO_write_base,接下来就是利用getchar函数触发写操作修改 IO_buf_base 为 IO_2_1_stdout ,再......
  • 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://......
  • Windows11系统Microsoft.Build.Engine.dll文件丢失问题
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个Microsoft.Build.Engine.dll文件(挑选合适的......
  • ubuntu18安装ros
    一、环境配置我的环境:Ubuntu18.04+melodicUbuntu对应的ROS版本:二、安装步骤1.添加ROS软件源输入命令:$sudosh-c'echo"debhttp://packages.ros.org/ros/ubuntu$(lsb_release-sc)main">/etc/apt/sources.list.d/ros-latest.list'2.添加密钥输入命令:$sudoapt-......
  • 南沙C++信奥赛陈老师解一本通题 2099:【23CSPJ普及组】公路(road)
    ​ 2099:【23CSPJ普及组】公路(road)时间限制:1000ms      内存限制:524288KB提交数:3793   通过数: 1575【题目描述】小苞准备开着车沿着公路自驾。公路上一共有 nn 个站点,编号为从 11 到nn。其中站点 ii 与站点i+1i+1 的距离为vivi 公里。......
  • Docker实操过程
    Docker实操过程体会知乎上搜“docker入门”搜到的笔记总是起一个赚噱头的标题,然后点进去一看,里面大多是一些入门内容的简单罗列,要么对于背景内容长篇大论让读者抓不住重点,要么对于命令API简单罗列,入门者甚至连这些API如何衔接使用,这些命令大概发生了什么可能都没有概念,说是入门......
  • Office for Mac升级提醒如何去掉?关闭Microsoft AutoUpdate弹框提示
    macOS安装MicrosoftOfficeforMac之后,有时候会弹出MicrosoftAutoUpdate微软应用自动更新工具。今天就给弹出来,就像下面这样:(我不知道您会不会烦,我是烦了)如果您也和我一样,不喜欢这样不经过允许就自动弹框的提示,可以按如下方式来安排。方法一:设置权限不可访问打开终端......
  • 七,MyBatis-Plus 扩展功能:乐观锁,代码生成器,执行SQL分析打印(实操详细使用)
    七,MyBatis-Plus扩展功能:乐观锁,代码生成器,执行SQL分析打印(实操详细使用)@目录七,MyBatis-Plus扩展功能:乐观锁,代码生成器,执行SQL分析打印(实操详细使用)1.乐观锁2.代码生成器3.执行SQL分析打印4.总结:5.最后:1.乐观锁首先我们需要先了解开发中的一个常见场景,叫做并发请求。并......
  • DRF实操——项目部署
    DRF实操——项目部署一、Mysql集群1.集群方式1)Replication集群2)PXC集群2.Docker安装PXC知识补充:具名数据卷创建docker容器django后端接口服务二、Nginx概述作用安装配置三、uWSGI1.概述2.项目的配置3.将本地项目及环境打包到服......