Ubuntu18.04使用turblebot3

news2025/7/18 8:38:55

一、安装和测试

1、下载资源包

mkdir -p ~/turtlebot3_ws/src/
cd ~/turtlebot3_ws/src/
git clone https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git
git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git
git clone https://github.com/ROBOTIS-GIT/turtlebot3.git

如果超时,可以在window下面用ssh连接虚拟机进行下载

2、编译

cd ~/turtlebot3_ws
catkin_make

3、启动仿真环境,并打开RVIZ

export TURTLEBOT3_MODEL=burger
source ~/turtlebot3_ws/devel/setup.bash
roslaunch turtlebot3_fake turtlebot3_fake.launch

4、新建Terminal(Ctrl+Shft+T),打开键盘控制

export TURTLEBOT3_MODEL=burger
source ~/turtlebot3_ws/devel/setup.bash
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

 可以通过键盘控制小车运动了

 5、打开Gazebo

先把模型移动到一个文件夹

mkdir -p ~/.gazebo/models/
cp -r ~/turtlebot3_ws/scr/turtlebot3_simulations/turtlebot3_gazebo/worlds ~/.gazebo/models/

然后打开模型

export TURTLEBOT3_MODEL=burger
source ~/turtlebot3_ws/devel/setup.bash 
roslaunch turtlebot3_gazebo turtlebot3_empty_world.launch

 如果打开自动关闭,那么关机,然后修改虚拟机设置。

处理器多加几个核,显示器那个√去掉

二、建图

1、启动地图,选择自己想测试的地图即可

source ~/turtlebot3_ws/devel/setup.bash 
export TURTLEBOT3_MODEL=burger
roslaunch turtlebot3_gazebo turtlebot3_world.launch
export TURTLEBOT3_MODEL=burger
source turtlebot3_ws/devel/setup.bash 
roslaunch turtlebot3_gazebo turtlebot3_house.launch

2、打开键盘控制

source ~/turtlebot3_ws/devel/setup.bash 
export TURTLEBOT3_MODEL=burger
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

3、创建栅格地图 

source ~/turtlebot3_ws/devel/setup.bash 
export TURTLEBOT3_MODEL=burger
roslaunch turtlebot3_slam turtlebot3_slam.launch

此时就可以通过控制键盘移动来完成建图了

4、保存地图

source /opt/ros/melodic/setup.bash
mkdir -p ~/worldmap
rosrun map_server map_saver -f ~/worldmap/worldmap

如果没安装则需要安装

sudo apt-get update
sudo rosdep init
rosdep update
sudo apt-get install ros-melodic-map-server

5、导航

加载地图

source /opt/ros/melodic/setup.bash
rosrun map_server map_server worldmap/worldmap.yaml

 打开rviz

rviz

 添加map

 启动Gazebo

source ~/turtlebot3_ws/devel/setup.bash 
export TURTLEBOT3_MODEL=burger
roslaunch turtlebot3_gazebo turtlebot3_world.launch

打开导航文件

source ~/turtlebot3_ws/devel/setup.bash 
export TURTLEBOT3_MODEL=burger
roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=/home/worldmap/worldmap.yaml

使用2D Pose Estimate设定好小车起始地点,再使用2D Nav Goal设定小车目标地点,小车会规划好路径,自动运行到目标位置,实现自主导航功能

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

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

相关文章

Mac系统每次更改vscode中的文件都提示权限不足

开发过程中遇到一个问题 当我在vscode修改文件 保存的时候vscode 右下角弹出 Failed to save index.jsx: Insufficient permissions. Select Retry as Sudo to retry as superuser.翻译成中文的意思就是 文件无法保存, 无权限, 请用超级管理员身份进行修改 其实我很纳闷 我已…

怎么查找Linux服务器是否有后门账户

在Linux系统里植入账户后门是一个极其简单高效的管理权限维持办法。hack在获得目标系统权限的情况下,利用建立一个操作系统账户当做持久化的聚集点,如此一来随时都可以利用工具链接到目标操作系统,实现对目标服务器进行长期操控的目的。依据获…

python基于PHP+MySQL的教学资源管理平台

随着时代发的发展,仅仅通过课堂上知识的传授,已经不能够满足当代大学生对知识的需求。现在很多大学都有了配套的在线教学资源和在线教育平台。通过这些平台可以帮助大学生更好的继续学习从而获取更多的知识。 PHP教学资源管理平台发分为前台和后台两部分,前台部分主要是让学生…

linux内核中听过就能记住的概念

前沿 1 内核中的内存都不分页,所以要珍惜每一个字节。同时可以想到,内核的栈是固定大小的。不能动态分配(用户进程的栈是可以控制和动态增长的,因为无论如何他都是虚拟内存) 2 linux内核必须使用自旋锁或者信号量来保…

【Java编程进阶】运算符与表达式

推荐学习专栏:Java 编程进阶之路【从入门到精通】 文章目录1. Java运算符1.1 算数运算符1.2 关系运算符1.3 位运算符1.4 逻辑运算符1.5 赋值运算符1.6 其他运算符2. 表达式3. Java运算符优先级1. Java运算符 计算机诞生的初衷是为了进行数学的运算,Java …

工业领域:PLC和SCADA的区别和关系

对于控制工程领域的新手来说,一个常见的问题是:“PLC和SCADA有什么区别? 它们之间的区别在于PLC是基于硬件的,而SCADA是基于软件的。PLC和SCADA都用于监测和控制许多不同行业的过程自动化设备,如电信、水和废物控制、能…

实验六 高层绘图操作(matlab)

实验六 高层绘图操作 1.1实验目的 1.2实验内容 1.3流程图 1.4程序清单 1.5运行结果及分析 1.6实验的收获与体会 1.1实验目的 1,掌握绘制二维图形的常用函数; 2,掌握绘制三维图形的常用函数; 3,掌握绘…

39、Spring AMQP

1、什么是Spring AMQP 2、Spring AMQP hello world 3、完成案例 4、总结分析 1、什么是AMQP 应用间消息通信的一种协议,与语言平台无关。 2、什么是SpringAMQP 它是基于AMQP的具体实现,并定义了自己的API标准。 Spring amqp 源代码https://download.c…

[附源码]java毕业设计基于的旅游信息管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

实战一次完整的博彩渗透测试

0x01 信息收集 1.以下由tfxxx来代替域名 锁定网站:tfxxx.com 2.查看服务器ip以及判断是否有cdn 这个没有cdn,很nice 3.目录扫描 总体来说,并没有得到什么有用的价值 4.二级域名扫描 不错,得到了一个后台 admin.tfxxx.com&#…

git仓库的基本使用

首发自:本然道软件:git仓库的基本使用 前言 在软件研发的过程中,我们如何将自己的代码管理起来,其实是一个很重要的话题。这里的管理往往包含了这样几个方面: 如何共享代码?我们一般不是一个人在研发&am…

Kafka 消息队列 ( 二 ) 安装

3.安装kafka 3.1下载 Kafka官网下载安装包 http://kafka.apache.org/downloads.html 安装前提(zookeeper安装) 参考 http://www.cnblogs.com/qingyunzong/p/8634335.html#_label4_0 3.2.分步安装 此处使用版本为kafka_2.11-0.8.2.0.tgz 3.2.1 上…

计算机毕业设计之java+springboot基于vue的大学生体质测试管理系统

项目介绍 大学生体质测试管理系统提供给用户一个简单方便体质测试管理信息,通过留言区互动更方便。本系统采用了B/S体系的结构,使用了java技术以及MYSQL作为后台数据库进行开发。系统主要分为系统管理员、教师和用户三个部分,系统管理员主要功能包括首页、个人中心、用户管理、…

Visual Studio 2022 版本 17.5 预览版 正式上线,有你期待的功能吗?

目录 此次发布的 Visual Studio 2022 版本 17.5 预览版中的新增功能摘要 C 代码搜索和导航 Git 工具 Markdown 调试和诊断 一元搜索汇报 集成终端中的 ASP.NET 输出 按正则表达式着色制表符 编辑 Markdown 文件 快速添加新文件 在没有 Dockerfile 的情况下生成容器…

XSS跨站脚本攻击原理与实践

目录预备知识实验目的实验环境实验步骤一实验步骤二实验步骤三预备知识 跨站脚本攻击(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets,CSS)的缩写混淆,故将跨站脚本攻击缩写…

基于STM32结合CubeMX学习Free-RT-OS的源码之事件集(event-group)

关于cubeMX配置及事件集概述 用cubemx使用事件集时只有使用了cmisis v2 才能使用事件集这个数据结构。 创建一个事件集的高8位不用,低24位用做标记(事件位)。每一个位可相当于裸机开发时的flag,同时,每一位都可以当做二值信号量…

FPGA实现千兆/百兆自适应以太网UDP传输

0、前言 笔者最近在项目中需要使用到ZYNQ中PL端做以太网UDP传输并且需要支持100M/1000M自适应切换。使用的PHY型号为RTL8211。以下分享的主要为利用已有的1000M协议栈修改为100M并且实现二者自适应切换,IP核主要实现以下功能 1、实现100M/1000M自适应 2、回环测试…

基于微信小程序的青少年素质教育培训系统设计与实现-计算机毕业设计源码+LW文档

小程序开发说明 开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Mav…

高性能计算和并行计算的关系

高性能计算 百度百科的定义为: 高性能计算(High performance computing, 缩写HPC) 指通常使用很多处理器(作为单个机器的一部分)或者某一集群中组织的几台计算机(作为单个计 算资源操作)的计算系统和环境…

windows环境CLion调试SRS流媒体服务器源码

环境介绍: SRS支持JetBrains的CLion,它是基于cmake编译的,在windows环境使用CLion,通过SSH远程调试SRS,调试环境安装在CentOS 7虚拟机上。 资源下载: CLion官网下载地址:https://www.jetbrains.…