ROS学习记录 | 便于回顾

  • ROS环境搭建
  • ROS部分基础知识

ROS环境搭建

step1 创建工作空间目录结构
mkdir catkin_ws
cd catkin_ws
mkdir src
cd src
安装好git 下载源码包到src中
step2
下载好一个包之后,进入包,其中:
scripts目录用于放置脚本文件和python程序 如安装依赖包,进行一次的程序
step3
在此目录下进入终端,使用脚本安装编译需要的依赖库
./bao.sh

step4
在~/catkin_ws 目录下运行caktin_make进行编译,src中的源代码都会被编译。
编译报错:

CMake Error at /opt/ros/noetic/share/catkin/cmake/empy.cmake:30 (message):Unable to find either executable 'empy' or Python module 'em'...  tryinstalling the package 'python3-empy'

在anaconda安装目录bin文件夹下,source activate
输入以下命令conda install -c conda-forge empy
参考文章:https://blog.csdn.net/weixin_40324045/article/details/111478774

报错:ImportError: “from catkin_pkg.package import parse_package” failed: No module named ‘catkin_pkg’
解决:pip install catkin_pkg

step5
使用source指令载入工作空间的环境设置。在catkin_ws目录终端下,输入:source ~/catkin_ws/devel/setup.bash

step6
roslaunch运行编译好的ros程序
roslaunch ~ ~.launch

在 .bashrc文件中末尾添加:
source ~/catkin_ws/devel/setup.bash

添加过以上命令之后可以直接跳过step2-3,直接编译。

使用过程:在新的终端中输入roscore, 然后rosrun turtlesim turtlesim_node
就可以运行小乌龟界面了。

ROS部分基础知识

Node 节点 节点的组织形式包Package
不同的节点代表不同的功能。下载是以包为单位下载的。可以将包理解为节点的容器。
1、创建软件包



如:roscd roscpp ,可以回访依赖项
2、软件包创建好之后,就可以创建Node节点了

在路径src/ssr_pkg/src中创建文件:chao_node.cpp,在这个里面写节点代码。

#include <ros/ros.h>
//若有语法误报,可以删除.vscode目录下的c_cppc_properties.json,重新启动vscode软件即可。

3、源码编译
在ssr_pkg中的CMakeList.txt中添加:


进行编译,成功。在总工作目录中进行catkin_make编译也是可以的。
4、运行Node节点


source ~/catkin_ws/devel/setup.bash

5、Node节点的完善(与ROS系统产生链接)
在chao_node.cpp中添加

在ssr_pkg中的CMakeLists.txt中添加:

在chao_node.cpp中构建循环,可以一直执行 不退出。

##另外
最常用的ROS节点通讯方式:Topic话题和Message消息。
发Message的是发布者Publisher,接受消息的是 订阅者Subsciber。


ROS学习记录 | 便于回顾相关推荐

  1. ROS学习记录(二)阿克曼转向车运动学模型及在gazebo中搭建仿真环境

    前言:该篇是ROS学习记录的第二篇,如果还没关注过之前文章的读者,如有需要可以通过下方传送门去看之前的文章: ROS学习记录(一) Plugin插件 这两天关注了古月老师的公众号,看到了其中一篇课程推 ...

  2. ros学习记录:Gazebo加载速度慢,长时间停在“Preparing your world”

    前言 ros学习记录笔记,一个小白的自留地,欢迎大佬批评指正~ 一.问题描述 Gazebo加载速度慢,长时间停在"Preparing your world" 二.解决办法 1.下载 ...

  3. Webots+ROS学习记录(4)——六轮全地形移动机器人

    Webots+ROS学习记录(4)--六轮全地形移动机器人 有了以上经验,可以创造出一个全地形的移动机器人如图1 第一步,创建robot节点,并给robot节点编写相应参数 注意,这里的机身不能再使用 ...

  4. ROS学习记录9——urdf文件的创建与使用

    零.前言 在学习这一节之前,至少得明白如何创建一个工作空间,如何编译工作空间,如何运行工作空间里的文件(把工作空间的环境目录添加到环境里).如果有不会的,请看鄙人的ROS学习记录3. 本节默认工作空间 ...

  5. 【ROS学习记录】2021/7/2 Gazebo+rviz仿真(一)

    [ROS学习记录]2021/7/2 Gazebo+rviz进行turtlebot2仿真问题记录 ##小插曲 今天ubuntu挂载u盘一直读取失败所以做了一些令人窒息的操作,晚上开机就进入了initra ...

  6. ros学习记录1 Hello World 使用c++

    声明:整个学习是我跟着奥特学园进行的,不是原创,只是记录自己的学习过程 步骤 创建命名空间 mkdir -p catkin_ws/src //其中前者是工作空间的名称,后者为存放源码的位置 cd ./ ...

  7. ROS学习记录(一) Plugin插件

    前言:最近在学习无人驾驶路径规划和ROS的一些基础理论,过程中遇到了一些问题,写这个系列记录一下个人的学习过程. 遇到这个问题的初衷是看了小巨同学一篇帖子 使用自定义RRT*全局规划器建图导航 文中提 ...

  8. ROS学习记录(七) 连接单片机

    这次的记录来源于最近在把ROS和STM32联系在一起,更多是填坑吧. 一.使用串口联系ROS和下位机 主要参考: ROS中串口操作 中间遇到了一个问题,按照上一个文章进行操作,总会打开串口失败, 解决 ...

  9. ROS学习记录(一)

    这段时间准备学习ROS,写个博客记录下,方便查阅. 这些知识大部分都是ROS官网教程的复现. 1.创建ROS工作空间 运行命令: mkdir -p ~/catkin_ws/src (创建一个文件夹) ...

最新文章

  1. questions in the wind
  2. 使用Android Studio搭建Android集成开发环境(图文教程)
  3. 一个比较牛的Js写的五子棋
  4. C++目录遍历:使用第三方库boost.filesystem等
  5. 开发外包注意事项——iOS APP的开发
  6. r语言electricity数据集_R语言实战学习
  7. 第二篇:稳定性之如何有条不紊地应对风险?
  8. 基于代码、社区,两步成为开源赢家!
  9. Vue组件相关的知识
  10. Zynq7000硬件开发之电源供电系统(PDN)设计(一)
  11. iPhone描述文件怎么用,过期如何处理
  12. 服务器虚拟化怎么配置,教你如何配置服务器虚拟化环境
  13. CSS文字排版终极指南
  14. 《手把手陪您学Python》24——集合
  15. tidyverse笔记——tidyr包
  16. 微信公众号+Vue+JS-SDK配置注册失败,显示config:fail,Error: 系统错误,错误码:63002,invalid signature等解决方法
  17. Method类的使用
  18. P13 - 软件设计质量评审 之 八个评审要求
  19. [UnityPhoton]Photon Chat 对话框测试
  20. 电子科技大学人工智能期末复习笔记(四):概率与贝叶斯网络

热门文章

  1. 共享经济时代下如此多的“美食平台”,为什么它成功的生存下来了
  2. java虚拟机的自动内存管理机制(二)
  3. 一种适用于智能仪表智能特性验证的检测方法和系统
  4. 电视看板实现原理_拉萨公交看板广告投放公司价格_【狼界】全国点位覆盖
  5. N5105 软路由安装 ESXi 7 直通核显给 Debian / Ubuntu 虚拟机通过 Docker 实现 jellyfin 硬件转码视频文件(硬解/编码)
  6. 我是如何提高自己的「编程能力」的?
  7. SCVMM 2012 SP1 Beta 体验(一)安装准备
  8. 你只管追求卓越,成功自然会尾随而到
  9. 知名公司薪水(转帖)
  10. 《如何有效阅读一本书:超实用笔记读书法》读书笔记