ROS笔记一(基于Python、Kinetic):创建工作空间及ROS程序包

创建 ROS rqt 插件 topic service 本机系统:Ubuntu 16.04, ROS Luna 更新20191023:Ubutnu 18.04 LTS ROS Melodic 所有文件可在https://github.com/huyaoyu/rqt_my_plugin获取。 关于ROS rqtcustom plugin的官方文档在 http://wiki.ros.org/rqt/Tutorials/Create%2... 阅读详情

前言:

在编写ROS代码之前,首先为这些代码建立工作空间。

创建之前先确认是否将ROS全局设置的脚本加入.bashrc文件中。如果没有,可以手动添加:

 echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc

 当前shell重新读入./bashrc文件,让环境变量生效:

source ~/.bashrc

1.创建catkin工作空间并初始化:

mkdir -p ~/catkin_ws/src

 catkin_ws为工作区路径,可任意命名

cd ~/catkin_ws/src

初始化: 

catkin_init_workspace

 catkin_init_workspace命令在src下会自动建立CMakeList.txt文件。

2.创建工作区文件:

cd ~/catkin_ws

catkin_make用于编译,比如我们自己定义的消息、服务类型都需要编译后才能使用: 

catkin_make

运行catkin_make将会得到两个文件夹:build(使用C++时catkin存放库和可执行程序)、devel。

3.设置环境变量,将新建工作区的环境变量添加到./bashrc中

 echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc

 当前shell重新读入./bashrc文件,让环境变量生效:

source ~/.bashrc

4.创建ROS程序包

cd ~/catkin_ws/src
catkin_create_pkg my_code rospy

调用catkin_create_pkg创建一个名为my_code的新包,该包依赖rospy包。命令结束后:会在my_code包下创建CMakeLists.txt、package.xml、以及src文件夹。

CMakeLists.txt---这是编译脚本开始的地方。

package.xml---机器可读的包描述文件,包含名字、描述、作者、许可证以及编译和运行时的依赖。

Ubuntu16.04下安装ROS Kinetic(详细图文教程) 参考网址:链接1 参考网址:链接2 一、安装ROS 1、添加ROS软件预源,打开命令行输入以下代码: sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'122 2、添加密钥,输入... 阅读详情

相关推荐

ROS程序包创建全解析:catkin工作空间与依赖管理实战

ROS程序包是机器人软件开发的基本单元,其本质是遵循catkin构建规范的模块化工程结构。它通过package.xml声明元信息与分层依赖,借助CMakeLists.txt集成编译逻辑,并依托工作空间实现环境隔离与可重现性。技术价值在于统一依赖管理、支持跨平台编译、保障节点间松耦合通信,并为CI/CD和团队协作提供标准化基础。典型应用场景包括高校实验开发、AGV/无人机功能模块封装、自定义消息与服务扩展等。本文深入剖析catkin_create_pkg命令原理、package.xml依赖类型差异(build

dielucui7698的博客 316

ROS kinetic 创建功能包

同一个工作空间下,不允许存在同名功能包;不同工作空间下,允许存在同名的功能包。创建功能包命令catkin_create_pkg <package_name> [depend1] [depend2] [depend3]操作方式kinetic@vm:~/catkin_ws$ cd ~/catkin_ws/srckinetic@vm:~/catkin_ws/src$ catkin_creat...

Geek猫的专栏 907

ROS笔记——在conda的python3.7中使用ROS Kinetic

环境:ubuntu 16.04, ROS Kinetic, conda 4.8.3, python3.7 思路 在python3环境下,直接使用tf会有如下报错(rospy可正常使用): >>> import tf Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/opt/ros/kinetic/lib/python2.7/dist-pack.

weixin_42315410的博客 1555

ROS_Kinetic_24 使用catkin_create_qt_pkg快速创建qt-ros功能包

使用catkin_create_qt_pkg快速创建qt-ros功能包 参考网址: qt_create:http://wiki.ros.org/qt_create qt_ros:https://github.com/stonier/qt_ros/tree/0.2.9 tutorials:http://wiki.ros.org/qt_ros/Tutorials 对于kineti

zhangrelay的专栏 5540

ROS笔记九(基于Python、Kinetic):gazebo中通过键盘输入控制turtlebot机器人移动和转向

前言: Twist消息能描述所有的3D运动,在控制差分驱动的平面运动机器人时,只需要使用其中的两个参数:线性速度(前进/后退)和绕竖直轴的角速度。所以只需要简单地发送线速度(米每秒)和角速度(弧度每秒)命令。这里需要两个程序:一个程序用来监听键盘地敲击事件然后通过ROS消息发布出去,另一个订阅这个ROS消息并输出一个Twist消息,从而实现键盘输入控制机器人地自由移动。 1.键盘驱动: 使用Python的termios和tty库将终端设置成原始模式并捕获键盘敲击事件,然后将事件以std_msgs/st

java0fu的博客 4190

LPDDR5/5X BG mode,8B mode和16B mode

LPDDR5/5X 器件,协议上支持多个bank架构可静态配置;配置在MR3:模式说明协议要求速率要求BLBG模式每CH 4BG, 4BALPDDR5/5X>3200MbpsBL16 & 328B模式每CH 8BALPDDR5任何速率BL3216B模式每CH 16BALPDDR5/5X<=3200MbpsBL16 & 32。

hemlok的博客 8865

[ROS 系列学习教程] ROS利用ros-kinetic-serial包与下位机串口通信

一、使用ros-kinetic-serial包,首先安装这个package sudo apt install ros-kinetic-serial #可以将kinetic替换为你的ROS版本 二、连接设备并查看串口名 关于linux串口的操作看这里 Ubuntu关于串口的操作(查看串口信息、串口助手、串口权限) 三、在package中包编写代码 1. 在工作空间中创建你自己的package 创...

淋曦的进击手记 6355

【密码学】生成8位26个字母和数字的全排列(密码字典,密钥)c++代码(非递归高效直接)

生成8位26个字母和数字的全排列(密钥)代码(非递归高效直接) 用C语言或C++,生成一个8位的26个字母和数字的全排列的原代码,例如从:00000000到ZZZZZZZZ。 说明:生成的这个字典会非常大,有36^8条记录,估计要3T的硬盘,跑一个晚上看看         这个方法比递归更高效,更直接。                                                ...

Wu_Being 的优快云 博客 1万+

3.3 创建一个 ROS 功能包

本节主要介绍如何用 catkin 来创建一个新的功能包,并且使用前面介绍的 rospack 命令去查看功能包的依赖。

敏而好学,不耻下问 3993

Kindle电子书DRM破解全攻略:从下载到转换的完整流程(含最新DeDRM插件配置)

本文详细介绍了如何合法移除个人购买的Kindle电子书的DRM保护,实现跨设备阅读与备份。核心内容包括使用最新DeDRM插件(如noDRM分支)配合Calibre进行配置,并针对亚马逊最新的KFX加密格式提供了密钥提取与实战操作指南。文章强调该方法仅适用于个人合理使用,旨在帮助读者真正掌控自己的数字资产。

delta的博客 577

爬取微博热搜并分析情绪趋势:NLP + 可视化一体化实践

本文介绍了如何用Python构建微博热搜关键词爬取与情绪分析系统。通过requests库获取微博热搜数据,使用snownlp进行中文情绪分析(0-1评分),并借助pandas、matplotlib和seaborn实现数据可视化。文章提供了从环境配置、数据采集到情绪计算和趋势图绘制的完整代码示例,同时建议扩展思路包括评论分析、多维度情绪分类和舆情预警系统搭建。这套方法可以帮助快速洞察公众情绪变化,为舆情监测和市场研究提供数据支持。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 822

ROS kinetic 创建工作空间

检查环境变量设置        printenv | grep ROS创建 ROS 工作空间kinetic@vm:~$ mkdir -p ~/catkin_ws/src    创建工作空间kinetic@vm:~/catkin_ws/src$ catkin_init_workspace    初始化工作空间kinetic@vm:~$ cd ~/catkin_ws/ kinetic@vm:~/cat...

Geek猫的专栏 1447

RK806S PMIC电源管理芯片调试

当点按PWRON按键时,rk806上电开始启动bootloader和uboot,在执行到此处时检测到是由于按键启动的,所以0x5d的值是0x80,0x74的值是0x80,在一般情况下,mode都默认是none的,所以mode值为11,因此就进入了我们的if判断,若是由于按键启动的,则直接调用rk8xx_shutdown函数关掉,进入这个函数会看到实际是通过i2c给0x72寄存器的BIT(0)写1,使其关机。当SoC在12V电源已经接入,且处于关机状态时,使用PWRON按键开机,0x74的值则为0x80。

Y1anoohh的博客 2546

ROS编程基础(一):创建工作空间、功能包、消息文件、服务文件

学ROS1,边学边做

m0_73601510的博客 2092

【Claude】Claude Code 子代理(Subagents)完全指南:多 AI 编排与并行任务管理

子代理是在独立上下文窗口特性主代理子代理上下文窗口与你对话的主上下文完全独立的上下文工具权限拥有所有工具可自定义限制生命周期整个会话完成任务后结束通信方式直接对话结果返回给主代理模型继承主会话设置可指定不同模型你可以创建专属子代理,指定模型、工具权限和系统提示。在对话中,Claude 会根据任务自动选择合适的子代理。

博客 5538

Claude Code 处理长任务 + Cursor 专注交互:双栈协作的 3 种分工场景与响应提速 35% 实测

揭示 Claude Code 与 Cursor 在 AI 编程中的本质分工:Claude Code 作为离线式架构师处理跨文件、带约束的长链路重构(如单体拆微服务),Cursor 作为现场交互工程师专注秒级局部编辑;提出按任务切片动态切换的三种工程化协作场景,并给出结构化上下文构建、约束型 Prom

weixin_28728443的博客 123

ROS Kinetic 创建工作空间 ROS学习(二)

** ROS Kinetic 创建工作空间 ** 主要参考: https://blog.youkuaiyun.com/youshijian99/article/details/79924016 1.检查环境变量设置printenv | grep ROS yl@yl-Lenovo-XiaoXin-CHAO5000:~$ printenv | grep ROS ROS_ROOT=/opt/ros/kineti...

weixin_45023620的博客 303

AI 辅助编程全景:演进、提效场景与未来趋势

本文系统梳理了AI辅助编程的发展历程与应用场景。演进路径分为三代:从代码补全工具(2023)、对话式助手(2024)到自主编程代理(2025)。在软件全生命周期中,AI可显著提升各环节效率:需求分析阶段节省30-60%文档编写时间;设计阶段缩短40-60%技术调研周期;编码阶段通过智能补全提升55%任务速度;测试阶段减少30-60%测试编写时间。数据显示,2025年84%开发者使用AI工具,41%代码由AI生成,平均每周节省3.6小时。AI正推动开发者角色从编写者转变为审核者,但复杂业务逻辑和架构设计仍需人

甘蓝的专栏 473

ROS笔记八(基于Python、Kinetic):gazebo初探——实现turtlebot移动并避开障碍

前言:代码实现在gazebo7仿真环境中turtlebot机器人的随机移动并避开障碍物。 1.创建新的工作空间: 创建工作空间文件树: $ mkdir -p ~/wanderbot_ws/src $ cd ~/wanderbot_ws/src $ catkin_init_workspace 创建一个“wanderbot”程序包: $ cd ~/wanderbot_ws/src $ catkin_create-pkg wanderbot rospy geometry_msgs sensor_ms

java0fu的博客 2575

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

ROS笔记七(基于Python、Kinetic):通信机制——动作(action)

前言: 动作使用话题实现,其本质上相当于一个规定了一系列话题(目标、结果、反馈等)的组合使用方法的高层协议。相较于服务的同步通信机制,动作机制则是异步的。动作适用于大部分请求/响应式交互场景,尤其是执行过程不能立即完成。 catkin_ws工作空间下my_code程序包里的文件目录结构: 1.定义一个动作服务器: ...

java0fu的博客 1485

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

ROS 发布消息和订阅消息 for Python

文章目录ROS发布订阅 for Python#1 环境#2 概述#3 创建工作空间#4 创建程序包#5 编写节点#6 运行在这里插入图片描述 ROS发布订阅 for Python #1 环境 Ubuntu 16.04 ROS kinetic 1.12.14 #2 概述 三大步 : 创建工作空间 创建程序包 编写节点 运行 #3 创建工作空间 在根目录创建工作空间, 我创建的工作空间命名为 myworkspace trunk@trunk-ThinkPad-X270-W10DG:~$ mkdir -p ~

Auto 1575

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

ROS笔记二(基于Python、Kinetic):通信机制——话题(topic)

前言: 话题实现了一种发布/订阅的通信机制,这是一种在分布式系统中常见的数据交换方式。节点在发送数据到话题上之前,必须先声明话题名和发送到该话题的消息所具有的类型。 1.声明一个话题 ...

java0fu的博客 714

ROS机器人---创建并运行完整的ros helloword工程(python版)

ROS机器人---创建并运行完整的helloword工程(python版) 注意一、创建工作空间二、创建空软件包三、向软件包中添加消息发布器节点 (发布话题)三、向软件包中添加消息接收器节点 (订阅话题)四、运行此工程4.1 运行 ros master4.2 运行 talker.py4.3 运行 listener.py 注意   系统:Ubuntu16.04 LST   ros版本:kineti...

CGJustDoIT的博客 4014

ROS Kinetic创建Python3工作区出现“No module named ‘catkin_pkg‘”解决方案

ROS Kinetic创建Python3工作区出现如下问题解决方案 ImportError: “from catkin_pkg.package import parse_package” failed: No module named ‘catkin_pkg’ Make sure that you have installed “catkin_pkg”, it is up to date and on the PYTHONPATH. 官方教程中提供了ROS Kinetic支持Python3的方法,原文如

qq_35699473的博客 4649

ROS笔记六(基于Python、Kinetic):自定义动作类型

前言: 动作使用话题实现,其本质上相当于一个规定了一系列话题(目标、结果、反馈等)的组合使用方法的高层协议。相较于服务的同步通信机制,动作机制则是异步的。动作适用于大部分请求/响应式交互场景,尤其是执行过程不能立即完成。 1.创建动作类型的源文件: 在my_code包下创建action目录,用于存放动作源文件。下面定义一个满足定时器需求的动作Timer.action: ...

java0fu的博客 670

ROS笔记五(基于Python、Kinetic):通信机制——服务(server)

前言: 服务是另一种在节点之间传递数据的方式。服务其实就是同步的跨进程函数调用,让一个节点调用运行在另一个节点中的函数。服务适用于偶尔并且在有限时间里完成的通信情况。 1.定义一个服务端: q ...

java0fu的博客 802
上一篇: 百度搜索资源提交链接
下一篇: ROS笔记二(基于Python、Kinetic):通信机制——话题(topic)
进击的香皂
博客等级 码龄8年 34粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值