ROS2测试仿真

devtools/2025/1/22 17:47:01/

电脑配置:R7-7840H 核显
结论:turtlebot3 运行失败。
turtlebot4 可以进入仿真环境,但是无法操作。
现在在用 ign gazebo 驱动简单的差分机器人

ign gazebo

采用ign gazebo 打开简单的差分机器人

安装

sudo apt-get install ros-${ROS_DISTRO}-ros-gz
sudo apt install ros-humble-gazebo-ros-pkgs # 桥接器 用于 ros2与gazebo Transport 之间交换信息
sudo apt-get install ros-humble-ros-ign-bridge# 接受键盘信息并转为 twist
sudo apt-get install ros-humble-teleop-twist-keyboard

运行

# 运行仿真
ign gazebo -v 4 -r visualize_lidar.sdf# 查看话题
ign topic -l# 为/model/vehicle_blue/cmd_vel 创建桥接器
ros2 run ros_gz_bridge parameter_bridge /model/vehicle_blue/cmd_vel@geometry_msgs/msg/Twist]ignition.msgs.Twist# 键盘控制节点
ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args -r /cmd_vel:=/model/vehicle_blue/cmd_vel# lidar创建桥接器
ros2 run ros_gz_bridge parameter_bridge /lidar2@sensor_msgs/msg/LaserScan[ignition.msgs.LaserScan --ros-args -r /lidar2:=/laser_scan

turtlebot

安装

参考链接:https://turtlebot.github.io/turtlebot4-user-manual/software/turtlebot4_robot.html

git clone 慢
添加
https://ghfast.top/

git clone https://github.com/turtlebot/turtlebot4_robot.git  -b humble
git clone https://ghfast.top/https://github.com/turtlebot/turtlebot4_robot.git  -b humble

turtlebot3

gazebo 启动问题
export SVGA_VGPU10=0export GAZEBO_MODEL_PATH=${GAZEBO_MODEL_PATH}:/home/ly/.gazebo/models# 设置TurtleBot3模型
export TURTLEBOT3_MODEL=burger# 启动TurtleBot3 World环境
ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py

turtlebot4

gazebo 启动问题
export SVGA_VGPU10=0# 仿真launch
ros2 launch turtlebot4_ignition_bringup turtlebot4_ignition.launch.py # 键盘控制节点
ros2 run teleop_twist_keyboard teleop_twist_keyboard

虚拟机打不开共享文件夹

sudo mount -t fuse.vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other

http://www.ppmy.cn/devtools/152649.html

相关文章

【HarmonyOS NAPI 深度探索12】创建你的第一个 HarmonyOS NAPI 模块

【HarmonyOS NAPI 深度探索12】创建你的第一个 HarmonyOS NAPI 模块 在本篇文章中,我们将一步步走过如何创建一个简单的 HarmonyOS NAPI 模块。通过这个模块,你将能够更好地理解 NAPI 的工作原理,并在你的应用中开始使用 C 与 JavaScript 的…

Elixir语言的语法

Elixir 语言简介与实践 1. 引言 在现代软件开发中,选择合适的编程语言对于项目的成功至关重要。Elixir作为一种功能强大的并发编程语言,近年来逐渐走入开发者的视野。本文将通过Elixir的基本语法、特性和实践案例,帮助读者深入了解这种语言…

MySQL篇之对MySQL进行参数优化,提高MySQL性能

1. MySQL参数优化说明 MySQL 参数调优是提高数据库性能的重要手段之一。通过调整 MySQL 的配置参数,可以优化查询速度、提升并发处理能力、减少资源消耗等。 MySQL 的性能优化涉及到多个方面,包括内存管理、磁盘 I/O、查询优化、连接管理、复制配置等。…

2.6 聚焦:Word Embedding

聚焦:Word Embedding Word Embedding(词嵌入) 是一种将词语转化为低维向量表示的技术,使得词语在数学空间中具有语义上的相似性。它是自然语言处理(NLP)中不可或缺的一部分,为文本数据提供了强大的表示能力。与传统的基于词频的词袋模型(Bag-of-Words)相比,Word Emb…

Java面试专题——面向对象

面向过程和面向对象的区别 面向过程:当事件比较简单的时候,利用面向过程,注重的是事件的具体的步骤/过程,注重的是过程中的具体的行为,以函数为最小单位,考虑怎么做。 面向对象:注重找“参与者…

leetcode215.数组中的第K个最大元素

标签:计数排序 给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1: 输…

【个人学习记录】软件开发生命周期(SDLC)是什么?

软件开发生命周期(Software Development Life Cycle,SDLC)是一个用于规划、创建、测试和部署信息系统的结构化过程。它包含以下主要阶段: 需求分析(Requirements Analysis) 收集并分析用户需求定义系统目标…

【大模型系列篇】Vanna-ai基于检索增强(RAG)的sql生成框架

简介 Vanna是基于检索增强(RAG)的sql生成框架 Vanna 使用一种称为 LLM(大型语言模型)的生成式人工智能。简而言之,这些模型是在大量数据(包括一堆在线可用的 SQL 查询)上进行训练的,并通过预测响应提示中…