ROS进阶学习手记 10 - 用iRobot Create 2搭建自己的TurtleBot(1)- Introduction

2023-05-16

ROS进阶学习手记 10 - 搭建自己的TurtleBot(1)- Introduction

    时隔一两个月,再次回来继续写自己的ROS学习及应用手记。这一两个月里,我并没有闲着,而是照着《ROS_by_Example_Hydro_Vol1》基本走完了vol1全书所有的例程。但期间所遇到的一些问题,我并没有搞得很清楚。所以回到开始搭建TurtleBot的步骤,来重新梳理如何从攒一个硬件TurtleBot, 到可以执行 SLAM 任务的全过程。

    首先梳理一下手里有的材料:

  • iRobot Create 2 移动机器人驱动平台, 官方链接及资料
  • Mirko Ferrati's irobotCreate2_ROS driver: https://github.com/MirkoFerrati/irobotcreate2ros
  • 基于蓝牙无线通信协议的串口透明传输模块,淘宝链接(及配置用 USB-TTL电平 - RS232协议 串口转换模块)
  • 机器人TurtleBot 控制用 Mini PC,装 ROS Hydro
  • 大容量聚合物锂电池:12V 5.5AH, 用于机器人自带Mini PC的供电
  • 华硕 Xtion Pro Live 三维摄像头
  • 另一台Mini PC及显示器、键鼠
  • 无线路由器,用于组建ROS多机局域网

   系统组成:


    实物照片:

 

    要略过的一些内容:

参考《ROS by Example _ Hydro _ Vol1》书中所述,实现到“7.5  Sending Twist Messages to a Real Robot

中间的过程就按书中来进行即可。涉及到的比如设备驱动、ROS网络配置 等内容可参考本博客前的相关文章。

    ROS网络配置参数:

=--------==----------=---=----
     Log of Configurations:
=--------==----------=---=----

Physical machines:
  PC1 - Black Mini Computer (WLAN Mac: 74:44:01:67:xx:xx)
  PC2 - White Mini Computer (WLAN Mac: a0:21:b7:4e:xx:xx)

Hostname and Hosts file:
  PC1 - my_desktop
  PC2 - my_robot1

The host of ROS (the PC run roscore)
  PC2 - my_robot1

IP Address:
  PC1 - my_desktop - 192.168.1.103
  PC2 - my_robot1  - 192.168.1.102

The Env Vars:
  PC1 	-> $ROS_MASTER_URI = http://my_robot1:11311
	-> $ROS_HOSTNAME = my_desktop

  PC2 	-> $ROS_MASTER_URI = http://my_robot1:11311
	-> $ROS_HOSTNAME = my_robot1

Add the following lines at the end of ~/ .bashrc file:
  PC1: 
	
export ROS_HOSTNAME=my_desktop
	
export ROS_MASTER_URI=http://my_robot1:11311


  PC2:
	
export ROS_HOSTNAME=my_robot1
	
export ROS_MASTER_URI=http://my_robot1:11311



SSH Server:
  PC2:  sudo apt-get install openssh-server
  

    要在这里讨论的问题:

     终于进入正题,和《ROS by Example _ Hydro _ Vol1》(rbx)书中不同的是,这是仿 TurbleBot 的机器人,自己搭建的,所以难免有不兼容问题。

     1. 从《ROS by Example _ Hydro _ Vol1》rbx 书中看来,Turblebot应该是带了一个Gryro Scope 的加速度传感器,并且对它进行了校准,但实际Create2 是通过码盘进行distance的sense.
         在 roslaunch rbx1_bringup turtlebot_minimal_create.launch 这个命令运行时,PC(my_robot1)会通过串口发送所有控制 Create2® 的命令。
         这里调用的顺序是什么?启动了哪些nodes? 参数是如何设置的?

         我们将在下一节讨论:  ROS进阶学习手记 10 - 搭建自己的TurtleBot(2)- 底盘驱动程序, 一个可选的驱动:create_autonomy driver package




本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ROS进阶学习手记 10 - 用iRobot Create 2搭建自己的TurtleBot(1)- Introduction 的相关文章

随机推荐

  • 【无标题】安装ROS E: 无法定位软件包 ros-melodic-desktop-full

    一 遇到问题 二 可能的原因和解决方法 1 源换一下 xff1a xff08 1 xff09 我是看这位大佬的 5条消息 记录 解决Ubuntu安装ros报错E Unable to locate package ros kinetic de
  • 无线通信原理及协议栈(ZigBee、蓝牙等)解析

    1 天线 说起无线电通信 xff0c 不可不提起天线 在无线电设备中 xff0c 用来辐射和接收无线电波的装置称为天线 在发射端 xff0c 发射机产生的已调制的高频振荡电流 xff08 能量 xff09 经馈电 xff08 指被控制装置向
  • 串口Serial连接方式

    串口Serial连接方式 1 协议终端选择Serial 2 会话选项 xff0c 选择 串行 3 进入电脑 设备管理器 xff0c 查看USB Serial Port以及端口设置 串行选项根据端口设置配置 确定并连接即可
  • tcp/ip 协议栈实现2-socket文件系统

    core initcall sock init net socket c static int init sock init void int err Initialize sock SLAB cache sk init Initializ
  • VMware虚拟机安装Windows11(无需设置TPM密码)

    VMware虚拟机安装Windows11 xff08 无需设置TPM密码 xff09 注意 xff1a 需要新版VMware xff0c 目前小白的版本为 16 2 3 一 新建虚拟机向导 1 新建虚拟机 点击菜单栏文件 新建虚拟机 2 配
  • ROS相关:使用rospy 编写ros程序并使用rosbag存储数据

    为什么使用rospy ROS支持C 43 43 和Python xff0c 由于ROS的底层是由C 43 43 编写 xff0c 因此大多数的ROS程序都使用C 43 43 xff0c 但是Python语言接口简单 xff0c 更容易编写
  • C函数调用过程

    这几天在看GCC Inline Assembly xff0c 在C代码中通过asm或 asm 嵌入一些汇编代码 xff0c 如进行系统调用 xff0c 使用寄存器以提高性能能 xff0c 需要对函数调用过程中的堆栈帧 xff08 Stack
  • 【GitHub】Branches和Tags分别是做什么用的?

    在 GitHub 中 xff0c Branches xff08 分支 xff09 和 Tags xff08 标签 xff09 都是用于版本控制的重要工具 Branches xff08 分支 xff09 可以用来创建一个新的开发分支 xff0
  • git clone 指定分支

    我们在有一个工程的权限后 xff0c 按照常规操作去拉代码 xff0c 往往会拉到默认的master分支 若我们担心master分支拉下来后 xff0c 与其他代码有冲突 xff0c 想直接拉某分支的代码 xff0c 则该怎么操作呢 1 我
  • rocketmq的消息msgId和offsetMsgId

    1 rocketmq的消息发送时 xff0c producer客户端 生成msgId xff08 通过 ip 43 进程 43 自增值 43 当前与系统启动时间差值 xff09 xff0c 有另外的一个叫法uniqId 方法入口 xff1a
  • 算法 - 桶排序(Bucket Sort)

    执行流程 xff1a 创建一定数量的桶 xff08 比如用数组 链表作为桶 xff09 按照一定的规制 xff08 不同类型的数据 xff0c 规则不同 xff09 xff0c 将序列中的元素均匀分配到对应的桶分别对每个桶进行单独排序将所有
  • 测试Pangolin是否安装成功

    一 终端输入 cd Pangolin examples HelloPangolin cmake make HelloPangolin 二 显示这个结果则成功 三 顺便放一个 我可终于装完了ORB SLAM3 被内存不够折腾了好久 换个内存条
  • 交叉编译工具 aarch64-linux-gnu-gcc 的介绍与安装

    AArch64 是随 ARMv8 ISA 一起引入的 64 位架构 xff0c 用于执行 A64 指令的计算机 而且在 AArch64 状态下执行的代码只能使用 A64 指令集 xff0c 而不能执行 A32 或 T32 指令 但是 xff
  • 02 机器学习中的评估指标

    机器学习中的评估指标 1 机器学习的目标 根本目标 xff1a 在给定的训练数据上 xff0c 试图训练出能够归纳数据的规律的模型 xff0c 并且能在未知样本上也有好的效果 泛化能力强的模型最好 能很好地适用于未知样本 xff0c 如错误
  • 方便Git提交代码的几个工具

    团队使用git管理代码 xff0c 为了提交方便 xff0c 查看Log方便 xff0c 师傅告诉我先安装几个工具 xff0c 如下 xff1a cola gitk AnyEdit 一 gitk安装 xff08 备注 xff1a 开始我没走
  • git提交 本地分支和远程分支断开连接

    1级标题 当 git push origin branch name时遇到报错如下 xff1a fatal origin does not appear to be a git repository fatal Could not read
  • spring MVC中关于model.addAttribute的使用方法【翻译】

    关于model addAttribute的使用方法 http krams915 blogspot com 2010 12 spring 3 mvc using modelattribute in html 可能要 break the wal
  • ROS进阶学习手记 7 -- RViz仿真实例1

    任务2 xff1a 用simulator RViz 工具 xff0c 完成对小车的建模 xff0c 名字drive RViz 61 dvrv 用 dvrv node 发布topic和数据格式 xff0c 向它发送位置指令 xff0c 使它能
  • 在ROS 使用摄像头 WebCam 完成图像处理(1) -- 获取图像数据

    在ROS 使用摄像头 WebCam 完成图像处理 xff08 1 xff09 获取图像数据 我们要使用摄像头 xff0c 先要能看到摄像头图像 xff1a xff08 见附录 xff09 然后我们这里是参考 ros by example v
  • ROS进阶学习手记 10 - 用iRobot Create 2搭建自己的TurtleBot(1)- Introduction

    ROS进阶学习手记 10 搭建自己的TurtleBot xff08 1 xff09 Introduction 时隔一两个月 xff0c 再次回来继续写自己的ROS学习及应用手记 这一两个月里 xff0c 我并没有闲着 xff0c 而是照着