【3. 初学ROS,年轻人的第一个Node节点】

news2024/11/25 11:06:55

【3. 初学ROS,年轻人的第一个Node节点】

  • 1. 工作空间设置
  • 2. 创建Package
  • 3. 回访依赖包
  • 4. 创建Node节点
  • 5. 源码编译
  • 6. 运行Node节点
  • 7. Node节点完善
  • 8. 总结

本教程是B站阿杰视频的笔记
视频地址:https://www.bilibili.com/video/BV1nG411V7HW

在这里插入图片描述
超声波传感器
在这里插入图片描述

1. 工作空间设置

cd catkin_ws/src/


2. 创建Package

catkin_creat_pkg ssr_pkg rospy roscpp std_msgs

在这里插入图片描述
在这里插入图片描述

3. 回访依赖包

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

roscd roscpp
ls
code package.xml

在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
下载包可直接运行,源文件须编译运行

4. 创建Node节点

#include  <ros/ros.h>

int main(int argc, char const *argv[])
{
    /* code */
    return 0;
}

代码误报删除c_cpp_properties文件

在这里插入图片描述

5. 源码编译

#include  <ros/ros.h>

int main(int argc, char const *argv[])
{
    /* code */
    printf("HelloWorld!\n");
    return 0;
}

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

add_executable(chao_node src/chao_node.cpp)

ctrl+shift+b编译
在这里插入图片描述

6. 运行Node节点

在这里插入图片描述

roscore

在这里插入图片描述

rosrun ssr_pkg chao_node

在这里插入图片描述
如果报错如下操作

在这里插入图片描述

code ~/.bashrc

在这里插入图片描述

# Set ROS melodic
source /opt/ros/melodic/setup.bash
source ~/catkin_ws/devel/setup.bash

7. Node节点完善

在这里插入图片描述

#include  <ros/ros.h>

int main(int argc, char  *argv[])
{
    /* code */
    ros :: init ( argc, argv, "chao_node");
    printf("我是个弟弟!\n");
    return 0;
}

在这里插入图片描述

add_executable(chao_node src/chao_node.cpp)
target_link_libraries(chao_node
  ${catkin_LIBRARIES}
)

在这里插入图片描述编译运行
在这里插入图片描述
保持运行,加while循环

#include  <ros/ros.h>

int main(int argc, char  *argv[])
{
    /* code */
    ros :: init ( argc, argv, "chao_node");
    printf("我是个弟弟!\n");
    while (true)
    {
        /* code */
        printf("我是大哥!\n");
    }
    
    return 0;
}


编译运行
在这里插入图片描述ctrl+shift+w强制关闭终端

在这里插入图片描述完善退出

#include  <ros/ros.h>

int main(int argc, char  *argv[])
{
    /* code */
    ros :: init ( argc, argv, "chao_node");
    printf("我是个弟弟!\n");
    while (ros::ok())
    {
        /* code */
        printf("我是大哥!\n");
    }
    
    return 0;
}


在这里插入图片描述

8. 总结

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/460052.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SqlServer2022安装与配置_并用Navicat连接SqlServer---sqlserver工作笔记0001

首先去下载 SQL Server 下载 | Microsoft https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 首先去下载安装包,这里我们下最新的 下载这个免费版的 可以看到下面有个全功能免费版本下载他 然后点击安装 下载以后安装 选择自定义 然后安装

策略模式——时势造影响

● 策略模式介绍 在软件开发中常常遇到这样的情况&#xff1a;实现某一个功能可以有多种算法或者策略&#xff0c;我们根据实际情况选择不同的算法或者策略来完成该功能。例如&#xff0c;排序算法&#xff0c;可以使用插入排序、归并排序、冒泡排序。 针对这种情况&#xff0c…

机器学习 day09(如何设置学习率α,特征工程,多项式回归)

常见的错误的学习曲线图&#xff08;上方两个&#xff09; 当关于迭代次数的学习曲线图&#xff0c;出现波浪型或向上递增型&#xff0c;表示梯度下降算法出错该情况可由&#xff0c;学习率α过大&#xff0c;或代码有bug导致 常用的调试方法&#xff1a; 选择一个非常非常…

【学习笔记】unity脚本学习(六)【GUI发展历程、IMGUI控件、Layout自动布局】

目录 unity 界面发展IMGUINGUI其他GUI插件uGUIUI 工具包比较 GUI基础GUI静态变量Unity扩展编辑器屏幕空间的总尺寸Screen.width 和 Screen.height GUI静态函数&#xff08;GUI控件&#xff09;Label图片 Box控件Button与RepeatButtonTextFieldTextAreaPasswordField其他控件 GU…

MySql主从复制原理及部署

MySql主从复制 原理&#xff1a; 1、Master节点开启binlog&#xff0c;并将变动记录到binlog中&#xff1b; 2、Slave节点定期探测Master节点的binlog&#xff0c;如有变动&#xff0c;开启I/O线程向Master节点请求二进制事件&#xff1b; 3、Master节点为每一个I/O线程启动…

win10卸载MySQL8.0

停止MySQL服务 shiftctrlesc打开任务管理器 将MySQL服务停止&#xff0c;这里我只有一个MySQL服务&#xff0c;如有多个MySQL服务&#xff0c;也要全部停止掉。 卸载mysql server等设备 控制面板 -》程序 -》 程序和功能&#xff0c;将mysql server等设备卸载掉&#xff0c;好…

SpringCloudAlibaba服务熔断、限流——Sentinel

Sentinel 本专栏学习内容来自尚硅谷周阳老师的视频 有兴趣的小伙伴可以点击视频地址观看 简介 Sentinel是Alibaba公司推出的一个熔断与限流工具&#xff0c;相当于我们之前学习的Hystrix&#xff0c;可以解决服务使用中的各种问题&#xff0c;例如&#xff1a;服务雪崩、服务降…

minigpt4搭建过程记录,简单体验图文识别乐趣

引言 从3月开始&#xff0c;aigc进入了疯狂的开端&#xff0c;正如4月12日无界 AI直播 在《探索 AIGC 与人类合作的无限可能》中关于梳理的时间线一样&#xff0c;aigc的各种产品如雨后春笋般进入了不可逆的态势&#xff0c;里面有句话很形象&#xff0c;人间一日&#xff0c;…

信息收集(四)服务器信息收集

信息收集&#xff08;一&#xff09;域名信息收集 信息收集&#xff08;二&#xff09;IP信息收集 信息收集&#xff08;三&#xff09;端口和目录信息收集 WAF指纹识别 什么是WAF WAF的全称是&#xff08;Web Application Firewall &#xff09;Web 应用防火墙用来过滤HTTP…

最新国内免费chatgpt 的试用方法

方式一&#xff1a; 免费账号&#xff1a; 地址&#xff1a;gpt-easy.com 账号test666, 666666 方式二&#xff1a; wheart.cn 每3小时15次调用 方式三&#xff1a; Microsoft Edge 插件&#xff0c;每天30次免费 方式四&#xff1a; wetab插件&#xff0c;多源切换&am…

StarRocks 3.0 集群安装手册

本文介绍如何以二进制安装包方式手动部署最新版 StarRocks 3.0集群。 什么是 StarRocks StarRocks 是新一代极速全场景 MPP (Massively Parallel Processing) 数据库。StarRocks 的愿景是能够让用户的数据分析变得更加简单和敏捷。用户无需经过复杂的预处理&#xff0c;就可以…

2023年五月份图形化三级打卡试题

活动时间 从2023年5月1日至5月21日&#xff0c;每天一道编程题。 本次打卡的规则如下&#xff1a; 小朋友每天利用10~15分钟做一道编程题&#xff0c;遇到问题就来群内讨论&#xff0c;我来给大家答疑。 小朋友做完题目后&#xff0c;截图到朋友圈打卡并把打卡的截图发到活动群…

Android硬件通信之 GPIO通信

一&#xff0c;为什么要和硬件通信 1.1&#xff0c;做软件开发的可能大多只是在手机上做服务器/客户端这种应用&#xff0c;说白了这些只是对数据的处理&#xff0c;对数据做存储和读取&#xff0c;以及分析的工作。 1.2 但随着智能领域的发展&#xff0c;人们已不满足手动去…

医院核心数据库一体化建设实践

建设背景 “以数据为核心资源的数字化时代&#xff0c;正在成为引领和推动新一轮科技革命的核心力量&#xff0c;将会深刻影响卫生健康行业。” 这是四月份发布的《公立医院运营管理信息化功能指引》中对数据重要性的描述。数据库作为数据的载体&#xff0c;支撑着整个业务系…

李清照最经典的10首诗词

在三千年的诗歌艺术中&#xff0c;男人一直是绝对的主角&#xff0c;虽然时常有女诗人&#xff0c;却如流星闪过。 一直到宋代&#xff0c;李清照的横空出世&#xff0c;给文坛带来一股清风。 她被誉为“千古第一才女”&#xff0c;她的诗词可柔美、可刚毅。 有人将她与李煜…

android studio RadioButton单选按钮

1.定义 <!--单选按钮--> <TextViewandroid:layout_marginTop"10dp"android:layout_width"match_parent"android:layout_height"wrap_content"android:text"请选择你的性别&#xff1a;"> </TextView> <RadioGrou…

3年外包终上岸,我只能说这类公司能不去就不去····

我大学学的是计算机专业&#xff0c;毕业的时候&#xff0c;对于找工作比较迷茫&#xff0c;也不知道当时怎么想的&#xff0c;一头就扎进了一家外包公司&#xff0c;一干就是3年。现在终于跳槽到了互联网公司了&#xff0c;我想说的是&#xff0c;但凡有点机会&#xff0c;千万…

广州华锐互动:超写实3d虚拟数字人为多行业场景赋能

超写实3d虚拟数字人是一种高度逼真的虚拟人物形象&#xff0c;其主要是通过计算机技术对人物形象进行建模、渲染和动画制作&#xff0c;达到和真实人物相似的效果。在现代科技的推动下&#xff0c;超写实3d虚拟数字人已经得到广泛应用。 以下是其常见的实用功能&#xff1a; 商…

20230425-VS2019-在线安装C++17

一、软件环境 windows 10 x64 21H2 19044.2846 最后升级时间&#xff1a;2023-04-25 11:19:33 二、下载VS2019 官方下载&#xff1a; 打开官网&#xff1a; https://visualstudio.microsoft.com/zh-hans/vs/older-downloads 展开VS2019&#xff0c;选择【下载】&#xff…

数据流重定向(>,>>)(<,<<)(2>,2>>)

文章目录 数据流重定向什么是数据流重定向标准输出(>,>>)与标准错误输出(2>,2>>)/dev/null垃圾桶黑洞设备与特殊写法标准输入&#xff1a;<与<< 为什么要使用命令输出重定向呢&#xff1f;案例 数据流重定向 数据流重定向由字面意思来看&#xff0…