【ros实践1】turtlebot3仿真环境与测试

2024-02-04 19:18

本文主要是介绍【ros实践1】turtlebot3仿真环境与测试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

turtlebot3仿真环境与测试

  • turtlebot3(tb3)仿真环境搭建
  • turtlebot3简单测试

真的是要好好记录总结了,不然忘的太快了(手动狗头)
环境说明:Ubuntu16.04 + ros-kinetic

turtlebot3(tb3)仿真环境搭建

1.创建ros工作空间

mkdir -p robot_ws/src
cd robot/src
catkin_init_workspace

2.编译ros工作空间

cd ~/robot_ws
catkin_make

3.设置环境变量

source devel/setup.bash

4.安装turtlebot3仿真

cd ~/robot_ws/src
git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git
git clone https://github.com/ROBOTIS-GIT/turtlebot3.git
git clone https://github.com/ROBOTIS-GIT/turtlebot3_simulations.gitcd ~/robot_ws
catkin_makesource devel/setup.bash

turtlebot3简单测试

1.导入turtlebot3模型

export TURTLEBOT3_MODEL=burger   ## TURTLEBOT3_MODEL有burger, waffle或waffle_pi三种
roslaunch turtlebot3_fake turtlebot3_fake.launch

在这里插入图片描述

2.使用键盘控制tb3,另开一个端口

source devel/setup.bash
export TURTLEBOT3_MODEL=burger     ## TURTLEBOT3_MODEL有burger, waffle或waffle_pi三种
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

在这里插入图片描述

3.通过rostopic发送消息控制tb3
(1)查看所有topic

rostopic list

例如我的是:
/clicked_point
/cmd_vel
/initialpose
/joint_states
/move_base_simple/goal
/odom
/rosout
/rosout_agg
/tf
/tf_static
(2)通过rqt_graph查看节点关系图

rosrun rqt_graph rqt_graph

在这里插入图片描述可知是通过名为:/cmd_vel的topic发送速度信息的。
(3)查看消息的具体信息

rostopic type /cmd_vel

得到:
在这里插入图片描述则发布到话题/cmd_vel时要使用的消息的类型为:
geometry_msgs/Twist

rosmsg show geometry_msgs/Twist

如图:
在这里插入图片描述
所以,可以试用rostopic pub [topic] [msg_type] [args]发送消息给tb3

 rostopic pub  /cmd_vel geometry_msgs/Twist -r 1 -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, 1.8]'

具体含义详细见:http://wiki.ros.org/cn/ROS/Tutorials/UnderstandingTopics

在这里插入图片描述至此,完成tb3仿真环境与测试!
ps:学习过程中,一定要多记录、多总结!

这篇关于【ros实践1】turtlebot3仿真环境与测试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/678540

相关文章

Spring WebFlux 与 WebClient 使用指南及最佳实践

《SpringWebFlux与WebClient使用指南及最佳实践》WebClient是SpringWebFlux模块提供的非阻塞、响应式HTTP客户端,基于ProjectReactor实现,... 目录Spring WebFlux 与 WebClient 使用指南1. WebClient 概述2. 核心依

MyBatis-Plus 中 nested() 与 and() 方法详解(最佳实践场景)

《MyBatis-Plus中nested()与and()方法详解(最佳实践场景)》在MyBatis-Plus的条件构造器中,nested()和and()都是用于构建复杂查询条件的关键方法,但... 目录MyBATis-Plus 中nested()与and()方法详解一、核心区别对比二、方法详解1.and()

Spring Boot @RestControllerAdvice全局异常处理最佳实践

《SpringBoot@RestControllerAdvice全局异常处理最佳实践》本文详解SpringBoot中通过@RestControllerAdvice实现全局异常处理,强调代码复用、统... 目录前言一、为什么要使用全局异常处理?二、核心注解解析1. @RestControllerAdvice2

Spring事务传播机制最佳实践

《Spring事务传播机制最佳实践》Spring的事务传播机制为我们提供了优雅的解决方案,本文将带您深入理解这一机制,掌握不同场景下的最佳实践,感兴趣的朋友一起看看吧... 目录1. 什么是事务传播行为2. Spring支持的七种事务传播行为2.1 REQUIRED(默认)2.2 SUPPORTS2

Java中的雪花算法Snowflake解析与实践技巧

《Java中的雪花算法Snowflake解析与实践技巧》本文解析了雪花算法的原理、Java实现及生产实践,涵盖ID结构、位运算技巧、时钟回拨处理、WorkerId分配等关键点,并探讨了百度UidGen... 目录一、雪花算法核心原理1.1 算法起源1.2 ID结构详解1.3 核心特性二、Java实现解析2.

MySQL 中 ROW_NUMBER() 函数最佳实践

《MySQL中ROW_NUMBER()函数最佳实践》MySQL中ROW_NUMBER()函数,作为窗口函数为每行分配唯一连续序号,区别于RANK()和DENSE_RANK(),特别适合分页、去重... 目录mysql 中 ROW_NUMBER() 函数详解一、基础语法二、核心特点三、典型应用场景1. 数据分

SQLite3 在嵌入式C环境中存储音频/视频文件的最优方案

《SQLite3在嵌入式C环境中存储音频/视频文件的最优方案》本文探讨了SQLite3在嵌入式C环境中存储音视频文件的优化方案,推荐采用文件路径存储结合元数据管理,兼顾效率与资源限制,小文件可使用B... 目录SQLite3 在嵌入式C环境中存储音频/视频文件的专业方案一、存储策略选择1. 直接存储 vs

深度解析Spring AOP @Aspect 原理、实战与最佳实践教程

《深度解析SpringAOP@Aspect原理、实战与最佳实践教程》文章系统讲解了SpringAOP核心概念、实现方式及原理,涵盖横切关注点分离、代理机制(JDK/CGLIB)、切入点类型、性能... 目录1. @ASPect 核心概念1.1 AOP 编程范式1.2 @Aspect 关键特性2. 完整代码实

使用Python进行GRPC和Dubbo协议的高级测试

《使用Python进行GRPC和Dubbo协议的高级测试》GRPC(GoogleRemoteProcedureCall)是一种高性能、开源的远程过程调用(RPC)框架,Dubbo是一种高性能的分布式服... 目录01 GRPC测试安装gRPC编写.proto文件实现服务02 Dubbo测试1. 安装Dubb

Python的端到端测试框架SeleniumBase使用解读

《Python的端到端测试框架SeleniumBase使用解读》:本文主要介绍Python的端到端测试框架SeleniumBase使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录SeleniumBase详细介绍及用法指南什么是 SeleniumBase?SeleniumBase