当前位置: 首页 > news >正文

[ROS2 Foxy]#1.3 安装使用 turtlesim


官网教程: https://docs.ros.org/en/foxy/Tutorials/Turtlesim/Introducing-Turtlesim.html

1.turtlesim安装和使用


turtlesim是一个轻量级的模拟程序,用来学习ROS2 .通过turtlesim来介绍ROS2在一个基础的水平上都要做了那些事,以此让我们了解将来在真的 robot或者模拟器上使用ROS2要做什么.

1.1安装turtlesim
安装前不要忘记启动ROS2的环境,使用以下command安装turtlesim

sudo apt update
sudo apt install ros-foxy-turtlesim


安装完成后使用以下command检查是否安装成功

ros2 pkg executables turtlesim


成功则返回以下内容:

turtlesim draw_square
turtlesim mimic
turtlesim turtle_teleop_key
turtlesim turtlesim_node


1.2 启动turtlesim
启动command

ros2 run turtlesim turtlesim_node


PS 这个需要在桌面环境下才能运行的😭,

运行效果如下:

注意.中间的海龟是随机的,每次都可能不一样.

terminal会显示以下内容:

[INFO] [turtlesim]: Starting turtlesim with node name /turtlesim[INFO] [turtlesim]: Spawning turtle [turtle1] at x=[5.544445], y=[5.544445], theta=[0.000000]


以上内容包含了,新生成的海归名字 turtle1 ,以及它所在的坐标

1.3 使用turtlesim
想要使用turtlesim需要另外启动一个terminal的并运行一个节点

ros2 run turtlesim turtle_teleop_key



显示以下内容

Reading from keyboard
---------------------------
Use arrow keys to move the turtle.
Use G|B|V|C|D|E|R|T keys to rotate to absolute orientations. 'F' to cancel a rotation.
'Q' to quit.


此时我们共打开了三个窗口:

1.运行 turtlesim_node的terminal
2.运行 turtle_teleop_key的terminal
3.显示海归的窗口


这个时候我们可以通过键盘来控制小海龟的移动了,移动效果如下:


😂 瞎跑的小海龟

tips:通过以下command可以查看有哪些 nodes 及与之关联的topics service actions

ros2 node list
ros2 topic list
ros2 service list
ros2 action list


更多关于 nodes topics service actions的概念在之后进一步学习.

 

相关文章:

[ROS2 Foxy]#1.3 安装使用 turtlesim

官网教程: https://docs.ros.org/en/foxy/Tutorials/Turtlesim/Introducing-Turtlesim.html 1.turtlesim安装和使用 turtlesim是一个轻量级的模拟程序,用来学习ROS2 .通过turtlesim来介绍ROS2在一个基础的水平上都要做了那些事,以此让我们了解将来在真的 robot或者模拟器上使用…...

嵌入式培训机构四个月实训课程笔记(完整版)-Linux系统编程第三天-Linux进程(物联技术666)

更多配套资料CSDN地址:点赞+关注,功德无量。更多配套资料,欢迎私信。 物联技术666_嵌入式C语言开发,嵌入式硬件,嵌入式培训笔记-CSDN博客物联技术666擅长嵌入式C语言开发,嵌入式硬件,嵌入式培训笔记,等方面的知识,物联技术666关注机器学习,arm开发,物联网,嵌入式硬件,单片机…...

1-01初识C语言

一、概述 C语言是贝尔实验室的Ken Thompson(肯汤普逊)、Dennis Ritchie(丹尼斯里奇)等人开发的UNIX 操作系统的“副产品”,诞生于1970年代初。 Thompson和Ritchie共同创作完成了Unix操作系统,他们都被称为…...

Python字符串

定义字符串 Python中要定义一个字符串,有比较多的一种方式。 示例代码: s "你好,张大鹏" print(s, type(s))s 你好,张大鹏 print(s, type(s))s """你好,张大鹏""" prin…...

PHP 基础编程 1

文章目录 前后端交互尝试php简介php版本php 基础语法php的变量前后端交互 - 计算器体验php数据类型php的常量和变量的区别php的运算符算数运算符自增自减比较运算符赋值运算符逻辑运算 php的控制结构ifelseelse if 前后端交互尝试 前端编程语言:JS (Java…...

Android studio BottomNavigationView 应用设计

一、新建Bottom Navigation Activity项目: 二、修改bottom_nav_menu.xml: <itemandroid:id="@+id/navigation_beijing"android:icon="@drawable/ic_beijing_24dp"android:title="@string/title_beijing" /><itemandroid:id="@+i…...

51单片机串行口相关知识

51单片机串行口相关知识 串行通信概念 计算机与外部通信方式就两种&#xff1a; 并行通信串行通信 两种通信方式的特点以及适用场景&#xff1a; 名称特点适用场景并行通信速度快&#xff0c;效率高&#xff0c;成本高适合短距离高速通信&#xff0c;如计算机内部各硬件之…...

IDEA 每次新建工程都要重新配置 Maven的解决方案

文章目录 IDEA 每次新建工程都要重新配置 Maven 解决方案一、选择 File -> New Projects Setup -> Settingsfor New Projects…二、选择 Build,Execution,Deployment -> Build Tools -> Maven IDEA 每次新建工程都要重新配置 Maven 解决方案 DEA 每次新建工程都要…...

SecOC中新鲜度值和MAC都按照完整的值来生成,但是在发送和认证的时候只会截取一部分。这边截取的部分一般取多长?由什么参数设定?

新鲜度值(Freshness Value, FV)和消息验证码(Message Authentication Code, MAC)是SecOC协议中用于保证数据的真实性和新鲜度的重要信息。它们的长度取决于不同的因素,如加密算法、安全级别、通信带宽等。 一般来说,FV和MAC的长度越长,安全性越高,但也会占用更多的通信…...

信源编码与信道转移矩阵

目录 一. 信息论模型 二. 点对点通信模型 三. 信源编码 四. 信道转移矩阵 4.1 二进制对称信道 4.2 二进制擦除信道 五. 小结 &#xff08;1&#xff09;信道直射与反射 &#xff08;2&#xff09;信道散射 &#xff08;3&#xff09; 信道时变性 一. 信息论模型 194…...

React 实现拖放功能

介绍 本篇文章将会使用react实现简单拖放功能。 样例 布局侧边栏拖放 LayoutResize.js import React, {useState} from "react"; import { Button } from "antd"; import "./LayoutResize.css";export const LayoutResize () > {const […...

马克思主义基本原理笔记

马克思主义哲学、政治经济学、科学社会主义理论 哲学 马克思主义中国化的理论成果&#xff1a;毛泽东思想、邓小平理论、三个代表重要思想、科学发展观 物质和意识哪个是本原&#xff0c;是哲学的基本问题 辩证法认为世界上的事物都是相互联系的、运动发展的&#xff0c;形…...

Vue+JavaSpingBoot笔记(1)

一、前后端通信参数问题 1.集合【字典】类型 Vue前端传递参数: export default {methods: { test(){// 将 filteredData 中的每一行值放入 newData 对象数组中 const newData filteredData.map(item > ({key1: item.Value1,key2: item.Value2,key3: "测试"}));r…...

10-单例模式(Singleton)

意图 保证一个类只有一个实例&#xff0c;并提供一个访问它的全局访问点 实现 1 懒汉式&#xff0c;线程不安全 public class Singleton { private static Singleton instance; private Singleton (){} public static Singleton getInstance() { if (instance null) {…...

C++ 求一个数是否是丑数。

#include<string.h> #include <iostream> using namespace std; int isChou(int num) { if (num < 0) { return 0; } while (num % 2 0) { // 不断除以2&#xff0c;直到不能整除为止 num / 2; } while (num % 3 0) { // 不断除…...

SpringCloud系列篇:核心组件之注册中心组件

&#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 接下来看看由辉辉所写的关于SpringCloud的相关操作吧 目录 &#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 一.注册中心组件是什么 二.注册中心…...

通过IP地址防范钓鱼网站诈骗的有效措施

随着互联网的普及&#xff0c;钓鱼网站诈骗成为一种广泛存在的网络犯罪行为。通过冒充合法网站&#xff0c;攻击者试图窃取用户的敏感信息。本文将探讨如何通过IP地址防范钓鱼网站诈骗&#xff0c;提供一系列有效的措施&#xff0c;以加强网络安全&#xff0c;保护用户免受诈骗…...

服务器GPU温度过高挂掉排查记录

服务器GPU挂掉 跑深度学习的代码的时候发现中断了。通过命令查看&#xff1a; nvidia-smi显示 Unable to determine the device handle for GPU 0000:01:00.0: Unknown Error。感觉很莫名其妙。通过重启大法之后&#xff0c;又能用一段时间。 shutdown -r now但是过了一个小…...

服务器终端快速下载coco数据集

######解压到当前文件夹 sudo apt-get install aria2 aria2c -c <url> #<url>即为官网下载地址# url # download images http://images.cocodataset.org/zips/train2017.zip http://images.cocodataset.org/zips/val2017.zip# download annotations http://i…...

el-select下拉框 change事件返回该项所有数据

主要代码 value-key <template><div><el-selectv-model"value"value-key"label"placeholder"请选择"change"selectChange"><el-optionv-for"item in options":key"item.label":label"…...

基于Rust构建AI智能体平台:架构设计与工程实践

1. 从零到一&#xff1a;构建你自己的AI智能体平台最近几年&#xff0c;大语言模型&#xff08;LLM&#xff09;的爆发式发展&#xff0c;让“智能体”&#xff08;Agent&#xff09;从一个学术概念&#xff0c;迅速变成了提升工作效率的利器。你可能用过一些现成的AI工具&…...

别再只会用0填充了!Pandas DataFrame.fillna() 的6个高阶用法,数据分析师必看

别再只会用0填充了&#xff01;Pandas DataFrame.fillna() 的6个高阶用法&#xff0c;数据分析师必看 在数据分析的日常工作中&#xff0c;缺失值处理就像是一道无法回避的数学题。许多刚入行的分析师会条件反射般地输入.fillna(0)&#xff0c;这就像用创可贴处理所有伤口——有…...

用100道题拿下你的算法面试(链表篇-7):复制带随机指针的链表

一、面试问题 给定一个链表的头节点&#xff0c;链表中每个节点都包含两个指针&#xff1a;一个指向下一个节点的 next 指针&#xff0c;以及一个指向链表中任意节点的 random 指针。请复制该链表&#xff0c;并返回新链表的头节点。 二、【朴素解法】使用哈希表 —— 时间复杂…...

利用示波器直方图功能低成本测量信号抖动的方法与实践

1. 项目概述&#xff1a;用直方图低成本测量抖动在嵌入式系统、高速数字接口乃至电机控制的设计与调试中&#xff0c;信号抖动&#xff08;Jitter&#xff09;的测量和分析是一个绕不开的坎。无论是为了确保通信链路的误码率&#xff0c;还是为了验证时钟信号的纯净度&#xff…...

Python自动化交易:Kalshi预测市场API封装与量化策略实践

1. 项目概述&#xff1a;一个为Kalshi预测市场打造的自动化工具箱如果你对预测市场感兴趣&#xff0c;或者正在寻找一种程序化的方式来管理你在Kalshi平台上的交易活动&#xff0c;那么你可能会对这个名为kalshi-skill的项目产生共鸣。简单来说&#xff0c;这是一个基于Python的…...

FinFET与FD-SOI工艺下的IC可靠性验证关键技术

1. 集成电路可靠性验证的挑战与演进在28nm工艺节点之前&#xff0c;芯片设计工程师面临的选择相对简单——只需沿着摩尔定律的轨迹向下一个工艺节点迁移。但随着FinFET和FD-SOI等新型晶体管结构的出现&#xff0c;以及台积电、三星等代工厂推出的多样化工艺节点选项&#xff0c…...

Sora 2与3D Gaussian结合实战指南(工业级部署避坑手册)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Sora 2与3D Gaussian结合的工业级部署全景图 Sora 2作为OpenAI新一代视频生成模型&#xff0c;在长时序建模与物理一致性方面取得显著突破&#xff1b;而3D Gaussian Splatting&#xff08;3DGS&#x…...

一图定胜负|虎贲等考 AI 科研绘图:零代码画出期刊级学术图,让论文颜值与专业度双在线

据 Nature 统计&#xff0c;超 90% 的审稿人先看图表&#xff0c;65% 的初审意见直接来自图表质量&#xff0c;一张规范、清晰、专业的学术图&#xff0c;直接影响论文录用与答辩评分。可现实是&#xff1a;Origin、Visio 难学难精通&#xff0c;PPT 做图粗糙不规范&#xff0c…...

Cursor Pro 终极破解指南:如何永久免费使用AI编程神器

Cursor Pro 终极破解指南&#xff1a;如何永久免费使用AI编程神器 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached your tri…...

从零到一:OWASP ZAP实战渗透测试全流程解析

1. OWASP ZAP入门&#xff1a;渗透测试的瑞士军刀 第一次接触OWASP ZAP时&#xff0c;我完全被它复杂的界面吓到了。但用了三个月后&#xff0c;我发现这简直是Web安全测试的"瑞士军刀"——功能强大但需要正确打开方式。简单来说&#xff0c;ZAP就是个会自动帮你找网…...