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

基于ros2与gazebo的导航仿真案例


文章目录

  • 前言
  • 操作
    • 1、创建docker容器
    • 2、安装ROS2
    • 3、Gazebo安装
    • 4、Nav2安装
    • 5、测试

前言

导航的入门小案例

在这里插入图片描述

参考:

  • Ubuntu24.04 + ROS2 Jazzy + Gazebo Harmonic安装教程
  • Docs / Gazebo Harmonic 注意选择版本
  • ROS 2 documentation

操作

1、创建docker容器

sudo docker run -it -p 6792:22 --device=/dev/dri --group-add video --volume=/tmp/.X11-unix:/tmp/.X11-unix  --env="DISPLAY=$DISPLAY"  --name=learn_gazebo ubuntu:24.04  /bin/bash

2、安装ROS2

locale  # check for UTF-8

sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8

locale  # verify settings

sudo apt install software-properties-common
sudo add-apt-repository universe

sudo apt update && sudo apt install curl -y
curl http://repo.ros2.org/repos.key | sudo apt-key add -
sudo mv /etc/apt/trusted.gpg /usr/share/keyrings/ros-archive-keyring.gpg

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
# you could reboot now!

3、Gazebo安装

sudo apt-get update
sudo apt-get install curl lsb-release gnupg
sudo curl https://packages.osrfoundation.org/gazebo.gpg --output /usr/share/keyrings/pkgs-osrf-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg] http://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gazebo-stable.list > /dev/null
sudo apt-get update
sudo apt-get install gz-harmonic

测试一下

gz sim

在这里插入图片描述

4、Nav2安装

sudo apt install ros-jazzy-navigation2
sudo apt install ros-jazzy-nav2-bringup

5、测试

在终端输入以下代码

export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:/opt/ros/jazzy/share/turtlebot3_gazebo/models # Iron and older only with Gazebo Classic

ros2 launch nav2_bringup tb3_simulation_launch.py headless:=False slam:=True

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

http://www.dtcms.com/a/30871.html

相关文章:

  • 在 Flutter 中实现文件读写
  • 51单片机-8X8LED点阵
  • 01背包,完全背包,多重背包
  • vue,vue3 keepalive没有效果,无法缓存页面include无效,keep-alive
  • 【Git】五、多人协作
  • 鸿蒙-自定义相机拍照
  • 了解string
  • Apache Spark 的主要特点
  • 工厂车辆排队系统
  • 关于解决springcloud 创建bean失败的问题
  • 【python】解析自动化脚本文件并按照=测试周期=存储记录
  • react hook useReducer
  • 如何解决服务器被黑客爬虫攻击:全面防护与优化策略
  • Android TabLayout 实现随意控制item之间的间距
  • rk3588/3576板端编译程序无法运行视频推理
  • vue-element-admin 打包部署到SpringBoot
  • Linux Python 调试/堵塞/性能分析与定位工具
  • 【Cesium学习(十三)】Cesium学习主要优秀资源资料总结
  • python用 PythonNet 从 Python 调用 WPF 类库 UI 用XAML
  • 支持向量机 (Support Vector Machine, SVM)
  • ProfiNet转EtherNet/IP罗克韦尔PLC与监控系统通讯案例
  • hydra docker版本
  • 云原生监控体系建设:Kubernetes架构下的全面监控策略
  • DeepSeek R1本地Linux服务器Docker部署<实现网页访问/本地终端访问>完整教程
  • vxe-grid 通过配置式给单元格字段格式化树结构数据,转换树结构节点
  • CentOS7设置静态IP
  • 细分数字货币钱包的不同种类
  • CSS文本属性
  • 网工项目实践2.4 北京公司安全加固、服务需求分析及方案制定
  • CSS基础(浮动、相对定位、绝对定位、固定定位、粘性定位、版心、重置默认样式)