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

Ubuntu20.04配置TurtleBot3 Waffle Pi远程控制

这里写目录标题

  • 0. 机器人配置
  • 1. Ubuntu20.04配置TurtleBot3 Waffle Pi远程控制
    • 1.1 TurtleBot3 Waffle Pi端配置
    • 1.2 PC端配置
      • 1.2.1 安装turtlebot3的环境配置
      • 1.2.2 创建项目并安装Turtlebot3
      • 1.2.3 配置环境变量
    • 1.3 PC端与TurtleBot3进行通信
      • 1.3.1 PC端与机器人端互PING和SSH连接
      • 1.3.2 PC端与机器人端运行互联
      • 1.3.3 PC端控制机器人进行运动

0. 机器人配置

机器人名称:TurtleBot3 Waffle Pi
开发板:jetson xavier NX
激光雷达:RPLIDAR A2
深度视觉传感器:RealSense D435i
驱动形式:两轮差速驱动

1. Ubuntu20.04配置TurtleBot3 Waffle Pi远程控制

1.1 TurtleBot3 Waffle Pi端配置

默认为根据基本教程安装完成完机器人端的配置

1.2 PC端配置

默认为已经成功安装好Ubuntu20.04和ROS环境

1.2.1 安装turtlebot3的环境配置

其中的noetic根据自己的Ubuntu版本进行调整,这里使用的是Ubuntu20.04

sudo apt-get install ros-noetic-joy ros-noetic-teleop-twist-joy ros-noetic-teleop-twist-keyboard ros-noetic-laser-proc ros-noetic-rgbd-launch ros-noetic-depthimage-to-laserscan ros-noetic-rosserial-arduino ros-noetic-rosserial-python ros-noetic-rosserial-server ros-noetic-rosserial-client ros-noetic-rosserial-msgs ros-noetic-amcl ros-noetic-map-server ros-noetic-move-base ros-noetic-urdf ros-noetic-xacro  ros-noetic-compressed-image-transport ros-noetic-rqt-image-view ros-noetic-gmapping ros-noetic-navigation  ros-noetic-interactive-markers rviz

1.2.2 创建项目并安装Turtlebot3

mkdir catkin_turtlebot3
cd catkin_turtlebot3
mkdir src
cd src
git clone https://github.com/ROBOTIS-GIT/turtlebot3.git
git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git
git clone https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git
cd ..
catkin_make

1.2.3 配置环境变量

其中turtlebot3_model根据自己的机器人具体类型进行设置(主要有三个选项burger,waffle,waffle_pi),第二行是设置ros的工作环境

echo "export TURTLEBOT3_MODEL=waffle_pi" >> ~/.bashrc
echo "source ~/catkin_turtlebot3/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

在这里插入图片描述

利用以下命令测试是否设置成功

echo $ROS_PACKAGE_PATH

在这里插入图片描述

接下来PC端的基本设置就完成了。

1.3 PC端与TurtleBot3进行通信

1.3.1 PC端与TurtleBot3在同一局域网下,即连接同一WIFI情况下

1.3.1 PC端与机器人端互PING和SSH连接

[TurtleBot端]
通过ifconfig查看对应的IP地址

ifconfig

[PC端]
通过ifconfig查看对应的IP地址

ifconfig

在PC端和机器人端进行测试,分别从机器人端pingPC端的IP地址和在PC端ping机器人端的IP地址,确保机器人端和PC端是可以双向ping通,同时双向测试ssh是否可以直接连上双方,才进行下一步。此操作建议关闭防火墙功能

[TurtleBot端]
在~/.bashrc里面添加对应的远程PC端的IP地址,其中 ROS_MASTER_URI填写的是PC端的IP地址,ROS_HOSTNAME填写的自己的IP地址

sudo vim ~/.bashrc
export ROS_MASTER_URI=http://192.168.31.105:11311
export ROS_HOSTNAME=192.168.31.106
source ~/.bashrc

1.3.2 PC端与机器人端运行互联

[PC端]
运行roscore下面的命令

roscore

在这里插入图片描述
[TurtleBot3端]
运行roslaunch turtlebot3_bringup turtlebot3_robot.launch

roslaunch turtlebot3_bringup turtlebot3_robot.launch

展示如下界面即成功运行
在这里插入图片描述
[PC端]
PC端可以通过rostopic list来查看订阅的话题

rostopic list

在这里插入图片描述

1.3.3 PC端控制机器人进行运动

[PC端]
在PC端运行roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch来控制机器人的运动

roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

通过wadx来控制机器人的前进后退,转向。通过s可以把机器人停下来。
在这里插入图片描述

相关文章:

Ubuntu20.04配置TurtleBot3 Waffle Pi远程控制

这里写目录标题 0. 机器人配置1. Ubuntu20.04配置TurtleBot3 Waffle Pi远程控制1.1 TurtleBot3 Waffle Pi端配置1.2 PC端配置1.2.1 安装turtlebot3的环境配置1.2.2 创建项目并安装Turtlebot31.2.3 配置环境变量 1.3 PC端与TurtleBot3进行通信1.3.1 PC端与机器人端互PING和SSH连…...

SaaS产品和独立部署型产品有什么区别,该怎么选择?

随着云计算和软件服务的多样化,产品形式主要划分SaaS型(开通即用)和独立部署(完整交付)两种模式,那么SaaS产品和独立部署产品有哪些区别,我们在选择产品的时候应该如何去抉择?本文我…...

【Linux】压缩命令——gzip,bzip2,xz

1.压缩文件的用途与技术 你是否有过文件太大,导致无法以正常的E-mail方式发送?又或学校、厂商要求使用CD或DVD来做数据归档之用,但是你的单一文件却都比这些传统的一次性存储媒介还要大,那怎么分成多块来刻录?还有&am…...

【Java13】包

“包”这个机制,类似于分组。主要作用是区分不同组内的同名类。例如,高三三班有一个“王五”,高二八班也有一个“王五”。高三三班和高三八班就是两个不同的包。 Java中的包(package)机制主要提供了类的多层命名空间&…...

从零到一:Python自动化测试的详细指南!

引言: Python是一种功能强大且易于学习和使用的编程语言,它非常适合用于自动化测试。本文将从零开始,通过详细的步骤和规范,介绍如何在Python中实施高质量的自动化测试。我们将探讨测试策略的制定、测试框架的选择、测试用例的编…...

iOS中多个tableView 嵌套滚动特性探索

嵌套滚动的机制 目前的结构是这样的,整个页面是一个大的tableView, Cell 是整个页面的大小,cell 中嵌套了一个tableView 通过测试我们发现滚动的时候,系统的机制是这样的, 我们滑动内部小的tableView, 开始滑动的时候&#xff0c…...

TCP/IP模型和OSI模型的区别

OSI模型, 是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,将计算机网络通信划分为七个不同的层级,每个层级都负责特定的功能。每个层级都构建在其下方的层级之上,并为上方的层级提供…...

(九)绘制彩色三角形

前面的学习中并未涉及到颜色&#xff0c;现在打算写一个例子&#xff0c;在顶点着色器和片元着色器中加入颜色&#xff0c;绘制有颜色的三角形。 #include <glad/glad.h>//glad必须在glfw头文件之前包含 #include <GLFW/glfw3.h> #include <iostream>void …...

短信群发平台适用于哪些行业?

短信群发平台作为一种高效、快速且成本相对较低的通信方式&#xff0c;适用于多个行业。以下是一些主要适用行业的概述&#xff1a; 1. 零售与电商行业 应用场景&#xff1a;零售和电商企业可以利用短信群发进行新品推广、促销信息发布、订单状态更新、物流跟踪通知等。 2. 金…...

1. 倍数

倍数 题目描述 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。 请问在 11 到 20202020 中&#xff0c;有多少个数既是 44 的整数倍&#xff0c;又是 66 的整数倍。 运行限制 最大运行时间&#xff1a;1s最大运行内存: 12…...

C#常用关键字举例

关键字是 C# 编译器预定义的保留字。这些关键字不能用作标识符&#xff0c;但是&#xff0c;如果您想使用这些关键字作为标识符&#xff0c;可以在关键字前面加上 字符作为前缀。 class: public class MyClass {// Class definition }interface: public interface IMyInterfac…...

stm32——外部中断EXTI

上回书说到定时器的级联&#xff0c;今天来谈谈外部中断EXTI。我使用的是STM32F103C8T6的学习板。仅供大家参考。 什么是中断呢&#xff1f;中断是指计算机在执行程序的过程中&#xff0c;当出现某些异常情况或特殊事件&#xff08;例如外部设备请求、定时时间到达、程序错误等…...

Solidity:变量数据存储和作用域 storage/memory/calldata

Solidity中的引用类型​ 引用类型(Reference Type)&#xff1a;包括数组&#xff08;array&#xff09;和结构体&#xff08;struct&#xff09;&#xff0c;由于这类变量比较复杂&#xff0c;占用存储空间大&#xff0c;我们在使用时必须要声明数据存储的位置。 数据位置​ …...

ElementUI中的el-table解决宽度问题 - 根据内容自动撑开

在使用element-ui中&#xff0c;会发现表格组件el-table在未指定宽度情况下&#xff0c;会自动计算并给表格宽度赋值。但实际开发中&#xff0c;有时需要根据内容实际长度自动撑开显示&#xff0c;由内容的多少而决定表格的宽度&#xff0c;而不是默认宽度为100%。在默认情况下…...

react apollo hooks

1、创建ApolloProvider来包装整个程序 <ApolloProvider client{client}><App /> <ApolloProvider> 2、useQuery查询 工作方式usequery将返回一个数组 const {要返回的对象} useQuery(传入参数) 实例 const query gqlquery name {whatever {field}} e…...

Android 10.0 SystemUI启动流程

1、手机开机后&#xff0c;Android系统首先会创建一个Zygote&#xff08;核心进程&#xff09;。 2、由Zygote启动SystemServer。 3、SystemServer会启动系统运行所需的众多核心服务和普通服务、以及一些应用及数据。例如&#xff1a;SystemUI 启动就是从 SystemServer 里启动的…...

洛谷 P1032 [NOIP2002 提高组] 字串变换

P1032 [NOIP2002 提高组] 字串变换 - 洛谷 | 计算机科学教育新生态 题目来源 洛谷 题目内容 [NOIP2002 提高组] 字串变换 题目背景 本题不保证存在靠谱的多项式复杂度的做法。测试数据非常的水&#xff0c;各种做法都可以通过&#xff0c;不代表算法正确。因此本题题目和…...

网络资源模板--Android Studio 外卖点餐App

目录 一、项目演示 二、项目测试环境 三、项目详情 四、完整的项目源码 原创外卖点餐&#xff1a;基于Android studio 实现外卖(点)订餐系统 非原创奶茶点餐&#xff1a;网络资源模板--基于 Android Studio 实现的奶茶点餐App报告 一、项目演示 网络资源模板--基于Android …...

【Linux】网络新手村

欢迎来到 破晓的历程的 博客 ⛺️不负时光&#xff0c;不负己✈️ 引言 今天&#xff0c;我们就开始学习Linux网络相关的内容。这篇博客作为Linux网络板块的第一篇博客看&#xff0c;我们首先要带着大家明白Linux网络的一些名词的概念&#xff0c;为之后的学习扫清障碍。然后我…...

123123

123123...

扑兔AI营销获客:AI文案缺乏人味儿的技术原因与优化路径

AI生成的文案&#xff0c;常表现出语言生硬、段落跳跃、事实信息不准确等问题。根本原因在于&#xff0c;多数AI写作工具基于文本拼接逻辑&#xff0c;而非模拟人类写作的完整思维过程——它们不知道写给谁看、没有逻辑链条、不核实事实。扑兔AI软文生成采用12步真人级创作流程…...

【Proteus 仿真实战】基于51单片机的智能测距与自适应报警系统设计

1. 项目背景与核心功能 最近在做一个基于51单片机的智能测距系统仿真项目&#xff0c;发现很多初学者对如何实现自适应报警功能特别感兴趣。这个项目最吸引人的地方在于它不仅仅是个简单的距离测量装置&#xff0c;而是能根据危险程度自动调整报警策略的智能系统。想象一下&…...

Qwen3-14B私有AI助手搭建:WebUI可视化界面+本地知识库集成指南

Qwen3-14B私有AI助手搭建&#xff1a;WebUI可视化界面本地知识库集成指南 1. 为什么选择Qwen3-14B私有部署 想象一下&#xff0c;你有一个24小时待命的AI助手&#xff0c;不仅能回答各种专业问题&#xff0c;还能根据你的业务需求进行定制化服务。这就是Qwen3-14B私有部署能为…...

鸿蒙游戏:从单设备到全场景

子玥酱 &#xff08;掘金 / 知乎 / CSDN / 简书 同名&#xff09; 大家好&#xff0c;我是 子玥酱&#xff0c;一名长期深耕在一线的前端程序媛 &#x1f469;‍&#x1f4bb;。曾就职于多家知名互联网大厂&#xff0c;目前在某国企负责前端软件研发相关工作&#xff0c;主要聚…...

突破安卓HTTPS抓包困境:Xposed+JustTrustMe框架实战指南

1. 为什么HTTPS抓包在安卓上这么难&#xff1f; 最近几年做安全测试的朋友应该深有体会&#xff0c;安卓应用的HTTPS抓包越来越难搞了。我刚开始接触这块时也踩了不少坑&#xff0c;明明在浏览器里能轻松抓到的HTTPS请求&#xff0c;到了APP里就死活抓不到。后来才发现&#xf…...

ViPER4Windows终极修复指南:让Windows音效神器重获新生

ViPER4Windows终极修复指南&#xff1a;让Windows音效神器重获新生 【免费下载链接】ViPER4Windows-Patcher Patches for fix ViPER4Windows issues on Windows-10/11. 项目地址: https://gitcode.com/gh_mirrors/vi/ViPER4Windows-Patcher 你是否曾为ViPER4Windows在Wi…...

Vue项目发版后用户总看到旧页面?3种缓存清理方案实测(含Vue2/Vue3对比)

Vue项目发版后用户总看到旧页面&#xff1f;3种缓存清理方案实测&#xff08;含Vue2/Vue3对比&#xff09; 每次发版后&#xff0c;总有用户反馈"页面没变化"&#xff0c;这可能是浏览器缓存在作祟。作为前端开发者&#xff0c;我们常遇到这类问题——明明服务端已更…...

CertMagic故障恢复终极指南:如何从证书失效中快速恢复的10个关键步骤

CertMagic故障恢复终极指南&#xff1a;如何从证书失效中快速恢复的10个关键步骤 【免费下载链接】certmagic Automatic HTTPS for any Go program: fully-managed TLS certificate issuance and renewal 项目地址: https://gitcode.com/gh_mirrors/ce/certmagic CertMa…...

QML与QWidget混合开发:实现高效UI集成的实战指南

1. 为什么需要QML与QWidget混合开发 在Qt开发中&#xff0c;QML和QWidget是两种完全不同的UI构建方式。QML凭借其声明式语法和强大的动画效果&#xff0c;在现代UI开发中越来越受欢迎。但现实情况是&#xff0c;很多成熟的功能模块都是基于QWidget开发的&#xff0c;比如一些第…...

React Overdrive核心组件深度解析:从API到实战

React Overdrive核心组件深度解析&#xff1a;从API到实战 【免费下载链接】react-overdrive Super easy magic-move transitions for React apps 项目地址: https://gitcode.com/gh_mirrors/re/react-overdrive React Overdrive是一款专为React应用设计的终极魔法移动过…...