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可以把机器人停下来。
在这里插入图片描述

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

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

相关文章

【Axure视频教程】控制其他页面元件——动态面板案例

今天教大家在Axure制作控制其他页面元件--动态面板案例模板,我们可以在一个页面中控制另外一个页面的元件,案例中是通过点击不同的按钮,进入其他页面后显示对应的动态面板的状态页。该教程从0开始制作,手把手教学,无论…

pgrouting使用

pgRouting是一个为PostgreSQL和PostGIS提供路由功能的开源库,它支持复杂的图论算法,用于在地理网络中进行最短路径搜索。以下是pgRouting的一些应用实例。 注意事项: 1、路网表中的id、source、target必须是int类型,否则创建拓扑…

【论文解读】Multiagent Multitraversal Multimodal Self-Driving: Open MARS Dataset

Open MARS Dataset 摘要引言Dataset CurationVehicle SetupData CollectionDataset Statistics Benchmark Task and ModelPlace RecognitionNeural Reconstruction Experimental ResultsVisual Place RecognitionNeural Reconstruction Opportunities and Challenges结论 摘要 …

Python的列表list(与C++的vector对比学习)

一、前言 Python的列表list与C的vector很像,但也有很多不同之处,接下来我们将会通过C的vector对比学习列表list 二、相同点 都支持动态扩容,可以随时随地添加和删除元素下标访问时,第一个元素下标为0 三、不同点 Python的 list…

centos安装打包工具fpm

安装ruby环境 yum -y install ruby-devel gcc make rpm-build rubygems ruby安装fpm RubyGems是Ruby的一个包管理器,功能上类似于apt-get、yum等,所以我们需要通过RubyGems来安装fpm。 由于国外的源很慢,或者直接不能访问,需要将Ruby Gems源更换为国内的源。 添加阿里云…

vivado联合modelsim仿真

一. 编译Vivado仿真库 打开Vivado,Tools -> Compile Simulation Libraries 二. 设置仿真工具和库路径 因为新建工程的默认仿真工具是Vivado Simulator,所以要使用Modelsim仿真,每个新工程都要设置一次,方法如下: …

上海小程序开发需要进行定制开发吗?

随着互联网技术与移动设备的不断成熟,小程序也已普及到人们日常生活的方方面面。随着企业与互联网联结的愈发深入,小程序的开发可以为企业带来更高效的经营模式,降本增效。那么,上海小程序作为无需安装且开发门槛较低的应用&#…

【Python】Python中的常量与变量

常量与变量 导读一、新建项目二、常量2.1 字面常量2.2 特殊常量 三、变量3.1 变量的定义3.2 变量的命名3.2.1 关键字 结语 导读 大家好,很高兴又和大家见面啦!!! 在上一篇内容中我们详细介绍了Python环境的搭建过程,…

关于甲床过短如何养甲床的一些方法与建议

要使甲床变长,需要根据甲床短的具体原因来采取相应的措施。以下是一些常见的方法和建议: 一、针对先天性因素 无法改变:如果甲床短是由于先天性因素(如遗传、环境影响)导致的,一般无法直接改变其长度&…

AI目标检测算法详解

引言 目标检测(Object Detection)是计算机视觉中的一项重要任务,旨在识别和定位图像或视频中的物体。近年来,随着深度学习的发展,AI目标检测算法取得了显著的进展,被广泛应用于自动驾驶、智能监控、医疗影…

【等保2.0是什么意思?等保2.0的基本要求有哪些? 】

一、等保2.0是什么意思? 等保2.0又称“网络安全等级保护2.0”体系,它是国家的一项基本国策和基本制度。在1.0版本的基础上,等级保护标准以主动防御为重点,由被动防守转向安全可信,动态感知,以及事前、事中…

Redis 的过期策略

Redis有几种不同的过期策略,用于管理键的过期和自动删除: 定时删除(TTL): 最常见的过期策略是设置键的过期时间(TTL,Time To Live)。当键设置了过期时间后,Redis会在键过…

【Python基础篇】一篇文章入门Python,进入Python的世界

文章目录 0.前言1.打印(Hello,World)2.创建变量3.打印升级3.1 打印一句话中间加变量3.2 sep设置分隔符3.3 end和换行 4. 注释 0.前言 大家好,我是小辰,前几天做了个重大的决定,学习python。 首先&#xff0…

Docker部署ETCD 3.5.14(保姆级图文教程)

系列文章目录 Docker部署Nginx 1.21.5(保姆级图文教程) Docker部署MySQL 8.3.0(保姆级图文教程) Docker部署ETCD 3.5.14(保姆级图文教程) 文章目录 一、环境二、拉取镜像2.1 查找 Docker Hub 上的 ETCD 镜像…

人工智能在软件开发中的角色:助手还是替代者?

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

【FDTD Solutions(时域有限差分)仿真技术与应用】

FDTD Solutions(时域有限差分)是一种基于时域有限差分方法的电磁场仿真技术。它是一种数值计算方法,用于解决Maxwell方程组,能够模拟电磁波的传播和相互作用。 FDTD Solutions的原理是将空间分割成网格,并在每个网格点…

Figma 被爆出它剽窃了苹果的设计后撤下了AI工具Make Designs

Figma是一款流行的界面设计工具,最近它推出了一个名为Make Designs的新功能,这个功能利用人工智能帮助用户快速设计应用程序界面。但是,这个工具生成的设计竟然和苹果公司的iOS天气应用非常相似,这让外界怀疑Figma是否剽窃了苹果的…

MySQL视图教程(04):显示视图

文章目录 MySQL显示视图语法使用场景示例 MySQL显示视图 MySQL 是一种流行的关系型数据库管理系统,可以用于创建和管理数据库中的表、视图等对象。视图是一种虚拟表,可以从一个或多个实际表中检索数据,并根据特定的需求进行过滤、排序和计算…

Shiro框架1

入门概述 1 权限的管理 1.1 什么是权限管理 基本上涉及到用户参与的系统都要进行权限管理,权限管理属于系统安全的范畴,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户可以访问而且只能访问自己被授权(被赋予权限)的…

Python--线程基础

相关概念 线程是"轻量级进程",是计算机中CPU进行任务调度的最小单位。 线程属于进程的一部分,一个线程只能属于一个进程,而一个进程可以有多个线程,且至少有一个线程。 每个进程开始的创建的时候,都会随之创建一个主线程。 进程负责分配和隔离资源(CPU, 内存…