TurtleBot3使用课程-第一节b(北京智能佳)
目录
1.1 ROS安装和设置2
1.2真实机器人与仿真交叉开发 8
1.2.1目标 8
1.2.1.1网络配置 8
1.2.1.2网络设置方案1 8
1.2.1.3网络设置方案2 11
1.2.2 ROS网络设置 13
1.2.3其他设置 14
1.2.4 Turtlebot3,如何运行模拟转换 16

1.模拟运行TurtleBot
Turtlebot3支持一个可以通过仿真在虚拟环境中编程和开发机器人的环境。 有两种开发环境可供选择:使用假节点和RViz可视化工具或使用3D模拟器Gazebo。 使用假节点适合于测试机器人的模型和运动,但它具有无法使用传感器的缺点。 Gazebo推荐使用SLAM导航,因为它允许模拟各种传感器,如IMU、LIDAR和相机。

1.1ROS安装和设置
要使用turtlebot3_fake_node,需要安装turtlebot3_simulation元包。 要使用turtlebot3_simulation元包,必须安装turtlebot3元包和turtlebot3_msgs包。
[远程PC]使用以下命令安装包。

[远程PC]要运行虚拟机器人,请运行turtlebot3_fake的.launch文件,如下所示。
turtlebot3_fake是一个简单的节点,可以在不使用真正的机器人的情况下进行模拟。 在RViz中,您可以使用远程控制节点控制虚拟Turtle Bot3。
您必须首先指定turtlebot3的模型名称。 在下面的命令中指定模型的名称(汉堡、华夫、waffle_pi)到与${TB3_MODEL}对应的部分。

1.1.1 turtlebot3 在Gazebo中模拟
使用Gazebo有两种模拟方法,一种使用ROS中的turtlebot3_gazebo包,另一种使用没有ROS的turtlebot3_gazebo_plugin。在这里,我们将使用使用ROS和turtlebot3_gazebo的方法。
1.1.1.1用于Gazebo的ROS包装
当第一次在远程PC上运行Gazebo时,程序可能需要一段时间才能启动。
A.虚拟世界的例子
[远程PC]Turtle Bot3可以使用下面的命令加载到Gazebo上的一个空空间中。

B.turtlebot3 世界例子
[远程PC]Turtle Bot3可以使用下面的命令加载到基于turtle Bot符号的地图中。


C.turtlebot3房子示例
[远程PC]Turtle Bot3可以使用下面的命令加载到虚拟建筑中。


1. 1. 1. 2. turtlebot3运行
[远程PC]打开一个新的终端窗口并使用下面的命令运行turtlebot3_teleop_key节点

1. 1. 1. 3. 避免碰撞
[远程PC]要自动移动turtlebot3世界中的turtlebot3,请关闭所有操作终端,并在新的终端窗口中输入以下命令。

[远程PC]打开一个新的终端窗口并运行下面的避免碰撞模拟节点。

1. 1. 1. 4. 运行 RViz
[远程 PC]RViz在模拟运行时可视化发布主题的数据。
您可以通过在新的终端窗口中输入以下命令来运行RViz。

1.2真实机器人与仿真交叉开发
1.2.1目标
提出了一个环境,使20个Turtlebot3点和40个模拟之间的无缝交叉开发,并提出了一个网络配置计划。
提出了交叉开发的实现方法。
1.2.1.1 网络配置
假设
所有TB3和用户PC(模拟)都有一个静态IP。
虽然用户PC即使不是静态IP也可以操作,但建议用户使用静态IP来方便ROS网络设置。
每个用户都知道用户应该使用的TB3的IP地址。
1.备选案文1
使用多个路由器(5个):4个TB3和8个人(包括模拟器)使用一个路由器(推荐)
2.备选案文2
连接到高性能路由器的40人和20TB3
1.2.1.2 网络设置(方案1)
1.路由器设置
SSID和路由器IP(IP带):每个路由器都有不同的设置方法,因此省略了详细的解释

2.turtlebot3网络设置
IP地址示例(在Turtlebot_Server_1的情况)
[Turtlebot3]IP:4个单元
10.17.1.11
10.17.1.12
10.17.1.13
10.17.1.14
[用户个人电脑]IP:8
10.17.1.22
10.17.1.23
10.17.1.24
10.17.1.25
10.17.1.26
10.17.1.27
10.17.1.28
设置Turtlebot3的IP和用户PC连接到其余4台服务器,地址与上面的方法相同。
网络设置
[Turtlebot3](10.17.1.11)
1.将键盘、鼠标和监视器连接到Turtlebot,然后启动RaspberryPI。
2.打开终端窗口,更改
3.添加下面的内容

4.保存文件后重新启动

5.配置网络管理器如下图所示

6.连接到路由器,检查IP地址

1.2.1.3网络设置(方案2)
1.路由器设置
SSID和路由器IP(IP带):每个路由器都有不同的设置方法,因此省略了详细的解释。
Turtlebot_Server:10.17.1.1(10.17.1.x)
- Turtlebot3机器人网络设置(使用静态IP方便)IP地址示例
IP地址示例
IP:20个单位
10.17.1.11~30-[用户个人电脑]IP:40台
10.17.1.1.101~140-网络设置-[Turtlebot3](10.17.1.11)
1.将键盘,鼠标和监视器连接到Turtlebot,然后启动RaspberryPI
2.打开终端窗口,更改 一部分 文件。

3.添加下面的内容

4.保存文件后重新启动

5.连接到路由器,检查IP地址。 打开一个终端,输入如下。

[用户个人电脑](10.17.1.101)

1.在网络管理器中设置后保存,如下图所示。

2.连接到路由器,检查IP地址

1.2.2 ROS网络设置
这里的ROS网络设置是一种不同于以前使用的方法的新方法。
通过应用此方法,无需执行

连接到后的命令TurtleBot SBC从远程PC在未来
完成设置后,您可以运行连接到网络的TurtleBot3
在远程PC上直接输入带有TurtleBot3的IP地址的命令。

1.[Turtlebot3]
不需要额外的ROS网络设置。
2.[用户个人电脑]
参考资料:e手册
用户PC IP示例:10.17.1.101
检查用户PC的IP(当输入下面的命令时,上面设置的用户PC的静态IP将被输出)

编辑 文件:修改下面的文本,如果缺少文本,则添加文本。

1.2.3其他设置
1.[Turtlebot3]
创造 使用机器标签(文件位置:)在启动文件中使用的文件:(
/home/pi)

添加执行权限

2.[用户个人电脑]
生成要连接的Turtlebot3的ssh键,使用下面要创建的脚本
创建keygen脚本:使用ssh键扫描Create脚本的各种算法进行密钥生成
创建脚本

添加执行权限

运行脚本(ex。 如果TB3的IP为10.17.3.11~30,则在将静态IP设置为20TB3单元后,命令应在TB3打开后执行)

创造turtlebot3_robot_machine.发行
1.机器标记是针对节点的,因此它不能与包含标记一起工作。 turtlebot3_robot.launch文件需要修改。
2.[Turtlebot3]turtlebot3_robot.launch的候补。 不需要直接连接到3.Turtlebot,也不需要在运行时更改Turtlebot3的ROS网络设置。
在turtlebot3/turtlebot3_bringup/Launch文件夹中创建下面的文件


1.2.4 Turtlebot3,如何运行模拟转换
所有执行都在[远程PC]上执行]
1.运行TB3
roscore打开roscore终端并输入下面的命令

Turtlebot遥控器:turtlebot3_robot_machine.launch
打开另一个终端并输入下面的命令(假设连接turtlebot3的IP地址为10.17.1.11)


1.当出现SSH错误时,输入以下命令并再次运行

2.如果另一个用户正在使用Turtlebot,则在启动启动文件时会出现以下消息

打开另一个终端,输入下面的命令

Rviz
打开一个新终端,输入以下命令(如果使用WafflePI,输入waffle_pi而不是${TB3_MODEL}

2.运行模拟(Gazebo)参考:roscoree手册
打开一个终端,输入下面的命令

运行Gazebo打开另一个终端,并输入下面的命令(如果使用WafflePI,则输入waffle_pi而不是${TB3_MODEL})

Rviz
打开一个新终端,输入以下命令(如果使用WafflePI,输入waffle_pi而不是${TB3_MODEL})


3.使用切换
实时切换:凉亭在使用/use_sim_time参数的实时切换(切换使用同时保持roscore)方面存在困难。
切换方法
关闭所有节点,包括roscore(按下 
采用上述方法切换Turtlebot3真实机器人和仿真比较。

TurtleBot3使用课程-第一节b(北京智能佳)的更多相关文章
- TurtleBot3使用课程-第一节a(北京智能佳)
目录 1.ROS设置(远程PC) 2 1.1 ROS安装和设置 2 1.1.1 设置source.list 2 1.1.2 键设置 2 1.1.3 ROS安装 2 1.1.4安装包构建的依赖关系 2 ...
- TurtleBot3使用课程-第二节b(北京智能佳)
目录 1.导航 2 1.1 运行导航节点 3 1.1.1 [远程PC]运行roscore 3 1.1.2 [turtlebot3 SBC]运行提出turtlebot3 3 1.1.3[远程PC]运行导 ...
- TurtleBot3使用课程-第二节a(北京智能佳)
目录 1.[第3类]LRF(LDS)传感器 2 1.1 传感器包安装 2 1.1.1 传感器端口访问设置 2 1.1.2 运行hlds_laser_publisher节点 2 1.1.3 在RViz中 ...
- android课程第一节(TextView控件使用)
TextView控件使用 一.TextView基本使用(创建方式) 1.在程序中创建TextView对象 如下代码: @Override protected void onCreate(Bundle ...
- 第二部分 实习操作课程 第一节 ArcGIS Online的基本功能
- 火云开发课堂 - 《使用Cocos2d-x 开发3D游戏》系列 第一节:3D时代来临!
<使用Cocos2d-x 开发3D游戏>系列在线课程 第一节:3D时代来临.Cocos2d-x程序猿的机遇和挑战! 视频地址:http://edu.csdn.net/course/deta ...
- 第一节 课程简介与HTML5概述
第一节 课程简介与HTML5概述 *********************************************************** 1.1课程简介 教学目的: 从基础入手到能够运 ...
- 我的第一节Android课
我的第一节安卓课程,今天非比寻常的一天,我开始了我程序猿之路的第一节安卓课程,安卓课程只是我的一个兴趣班,我的本专业是java开发,因为喜欢做一个属于自己的一个手机APP,就选多个一样技能,毕竟十八般 ...
- 大道至简第一章和java理论学时第一节。感受。
这周上了本学期的第一节java课程.课件上说了一些学习java的基本思想.举了个“愚公移山”的例子.这可能就像刚接触一门新的语言,来练习输出“HelloWorld”一样,已成惯例. “愚公移山”的这个 ...
随机推荐
- 强大的拉姆表达式转Sql 类库 - SqlSugar 隐藏功能之Lambda
使用场景 1.Lambda to sql 一直是ORM中最难的功能之一,如果有现成的解析库那么自已写一个ORM难度将大大降低 2.通过Lambda作为KEY进行缓存操作,特别是仓储模式想要拿到表达式进 ...
- 第8.14节 Python类中内置方法__str__详解
一. object类内置方法__str__和函数str 类的内置方法__str__和内置函数str实际上实现的是同一功能,实际上str调用的就是__str__方法,只是调用方式不同,二者的调用语法如下 ...
- 第10.7节 Python包和子包的定义步骤
一. 包的定义步骤 按照包名创建或使用一个已有目录,目录名就是包名,必须注意包的目录必须位于Python加载模块的搜索路径中(具体请参考<第10.1节 Python的模块及模块导入>关于模 ...
- PyQt(Python+Qt)学习随笔:QListView的flow属性
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QListView的flow属性用于控制视图中的数据排列方向,其类型为枚举类型QListView.F ...
- Android夜神模拟器
夜神安卓模拟器 NOX,是一个可以让手机应用程序运行在电脑上的软件,也是电脑玩手游的新一代神器, 与传统安卓模拟器相比,基于基于Android5.1.1,兼容X86/AMD,在性能.稳定性.兼容性等方 ...
- 理解js浅拷贝和深拷贝
理解深拷贝和浅拷贝之前先了解下js中的基本类型和引用类型 1.基本类型: 在js中,数据的基本类型undefined,null,string,number,boolean,在变量中赋的实际值,基本类型 ...
- 从.NET转GO了
前言 近几个月刚从.NET转到GO,入职了一个使用GO微服务的互联网公司.因为需要熟悉公司的微服务架构和适应新公司的节奏,所以最近没时间写博客,现在简单做个总结. 转GO的经历 自学GO 上一年的八月 ...
- 题解-FJOI2014 树的重心
FJOI2014 树的重心 \(Q\) 组测试数据.给一棵树大小为 \(n\),求有多少个子树与其重心相同.重心可能有多个. 数据范围:\(1\le Q\le 50\),\(1\le n\le 200 ...
- 把演讲人的桌面、头像、声音合成后推送到 指定的直播流平台上; 录制电脑桌面、摄像头头像、声音保存为本地视频; 适用于讲课老师、医生等演讲内容保存为视频; 提供PPT嵌入Winform/WPF解决方案,Winform/WPF 中嵌入 office ppt 解决方案
提供PPT嵌入Winform/WPF解决方案,Winform/WPF 中嵌入 office ppt 解决方案 Winform/WPF 中嵌入 office ppt(powerpoint)解决方案示: ...
- vue+ springboot 分页(两种方式:sql分页 & PageHelper 分页)
方法一:sql分页 思路:使用数据库进行分页 前端使用element-ui的分页组件,往后台传第几页的起始行offest 以及每页多少行pageSize,后台根据起始行数和每页的行数可以算出该页的 ...
