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

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

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
  ![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)

要在这里讨论的问题:

     终于进入正题,和《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

Published At
comments powered by Disqus