从安装双系统到TurtleBot3入门教程

总览

在这里插入图片描述
TurtleBot
TurtleBot是ROS标准平台机器人。Turtle源自于Turtle机器人,该机器人由1967年教育性计算机编程语言Logo所驱动。此外,最初出现在ROS基础教程中的turtlesim节点是一个模仿Logo turtle命令系统的程序。程序。它还用于创建Turtle图标作为ROS的象征。ROS徽标中使用的九个点源自乌龟的后壳。TurtleBot源自Logo的Turtle,旨在通过TurtleBot轻松地教ROS新手,并使用Logo教计算机编程语言。从那时起,TurtleBot已成为ROS的标准平台,它是开发人员和学生中最受欢迎的平台。

TurtleBot3
TurtleBot系列有3个版本。TurtleBot1由Willow Garage的Tully(Open Robotics的平台经理)和Melonee(Fetch Robotics的首席执行官)开发,位于iRobot基于Roomba的研究机器人Create之上,用于ROS部署。它于2010年开发,自2011年起开始销售。2012年,Yujin Robot在研究机器人iClebo Kobuki的基础上开发了TurtleBot2。2017年,开发了TurtleBot3,其功能可补充其前代产品的不足功能和用户需求。该TurtleBot3采用ROBOTIS智能执行器DYNAMIXEL驱动。有关TurtleBot系列的更多信息,请参见以下链接。

TurtleBot3是一款小型,价格合理,可编程的,基于ROS的移动机器人,用于教育,研究,业余爱好和产品原型制作。TurtleBot3的目标是在不牺牲其功能和质量的情况下,显着减小平台的尺寸并降低价格,同时提供可扩展性。TurtleBot3可以根据您对机械零件的重构方式以及使用可选零件(例如计算机和传感器)的方式进行自定义。此外,TurtleBot3演变为具有成本效益的小型SBC,适用于强大的嵌入式系统,360度距离传感器和3D打印技术。

TurtleBot3的核心技术是SLAM,导航和操纵,使其适用于家庭服务机器人。TurtleBot可以运行SLAM(同时定位和地图绘制)算法来构建地图,并可以在您的房间周围行驶。而且,它可以从笔记本电脑,游戏板或基于Android的智能手机进行远程控制。当他们在房间里走路时,TurtleBot还可跟随人的腿。此外,TurtleBot3可以用作移动操纵器,该操纵器能够通过附加诸如OpenMANIPULATOR的操纵器来操纵对象。该OpenMANIPULATOR具有与TurtleBot3 Waffle和Waffle Pi兼容的优点。通过这种兼容性,可以弥补自由度的不足,并可以作为具有TurtleBot3具备的SLAM和导航功能的服务机器人而具有更高的完整性。
全球最受欢迎的ROS平台
TurtleBot是最受欢迎的用于教育和研究的开源机器人。新一代的TurtleBot3是small,low cost,fully programmable,ROS based mobile robot。它旨在用于教育,研究,爱好和产品原型制作。

负担得起的费用
TurtleBot旨在满足学校,实验室和公司对成本的需求。TurtleBot3是配备SLAM的移动机器人(配备360°激光距离传感器LDS-01)中最实惠的机器人。

小尺寸
TurtleBot3 Burger的尺寸仅为138mm x 178mm x 192mm(长x宽x高)。它的大小约为前任大小的1/4。想象一下将TurtleBot3放在背包中,开发程序并在任何地方进行测试。

ROS标准
TurtleBot品牌由Open Robotics管理,Open Robotics开发和维护ROS。如今,ROS已成为全球所有机器人专家的首选平台。TurtleBot可以与现有的基于ROS的机器人组件集成,但是TurtleBot3可以成为想要开始学习ROS的负担得起的平台。

可扩展性
TurtleBot3鼓励用户使用一些其他选择来定制其机械结构:开源嵌入式板(作为控制板),计算机和传感器。TurtleBot3 Burger是一个两轮差速驱动类型的平台,但可以通过多种方式在结构和机械方面进行定制:汽车,自行车,拖车等。通过可扩展的结构上的各种SBC,传感器和电机,将您的想法扩展到想象之外。

移动机器人模块化执行器
TurtleBot3能够通过在车轮接头中使用2个DYNAMIXEL获得精确的空间数据。DYNAMIXEL XM系列可以通过以下6种操作模式之一进行操作(XL系列:4种操作模式):车轮的速度控制模式,关节的扭矩控制模式或位置控制模式等。DYNAMIXEL甚至可以用于制造可移动的机械手。重量轻,但可以通过速度,扭矩和位置控制进行精确控制。DYNAMIXEL是使TurtleBot3完美的核心组件。它易于组装,维护,更换和重新配置。

ROS开放控制板
控制板在硬件和软件方面都是开源的,用于ROS通信。开源控制板OpenCR1.0具有强大的功能,不仅可以控制DYNAMIXEL的传感器,而且还可以控制ROBOTIS传感器,这些传感器经常以具有成本效益的方式用于基本识别任务。提供各种传感器,例如触摸传感器,红外传感器,颜色传感器以及更多其他传感器。OpenCR1.0的板子内部有一个IMU传感器,因此它可以增强无数应用的精确控制。该板具有3.3V,5V,12V电源,以增强可用的计算机设备阵容。

强大的传感器阵容
TurtleBot3 Burger使用增强的360°LiDAR,9轴惯性测量单元和精确的编码器进行研发。TurtleBot3 Waffle也配备了相同的360°LiDAR,但另外还提出了带有识别SDK的强大的英特尔®实感™。TurtleBot3 Waffle Pi使用高利用率的Raspberry Pi相机。这将是制造移动机器人的最佳硬件解决方案。

开源的
TurtleBot3的硬件,固件和软件是开源的,这意味着欢迎用户下载,修改和共享源代码。TurtleBot3的所有组件均采用注模塑料制造,以实现低成本,但是3D CAD数据也可用于3D打印。通过全云3D CAD编辑器Onshape发布3D CAD数据。用户可以通过台式机,笔记本电脑甚至便携式设备上的Web浏览器进行访问。Onshape允许绘制3D模型并与同事组装。此外,对于想要自己制作OpenCR1.0板的用户,OpenCR1.0板的所有详细信息(如原理图,PCB gerber文件,BOM和固件源代码)均已根据用户和ROS的开源许可完全开放。社区。
技术指标
在这里插入图片描述在这里插入图片描述
硬件规格
在这里插入图片描述

尺寸和质量

TurtleBot3 Burger的数据
在这里插入图片描述
TurtleBot3 Waffle Pi的数据
在这里插入图片描述
组件
在这里插入图片描述
在这里插入图片描述
传感器
在这里插入图片描述
360激光距离传感器LDS-01是一款2D激光扫描仪,能够感应360度,可在机器人周围收集一组数据以用于SLAM(同时定位和制图)和导航。
LDS-01用于TurtleBot3 Burger,Waffle和Waffle Pi模型。
它支持USB接口(USB2LDS),易于安装在PC上。
它支持用于嵌入式baord的UART接口。
基本性能
一般规格
在这里插入图片描述
测量性能
在这里插入图片描述

设定

电脑设定
PC安装程序:在Linux上安装TurtleBot3的Linux或Windows,ROS和应用程序包 Remote PC。

SBC设定
SBC设置:安装Linux或Windows,ROS和与硬件相关的软件包,以在您的计算机上控制TurtleBot3 TurtleBot PC。

OpenCR设置
OpenCR设置:将TurtleBot3的最新固件上传到嵌入式板OpenCR。

硬件设定
硬件设置:TurtleBots3作为未组装的零件包装在包装盒中。请按照说明组装TurtleBot3。此时,准备好的SBC和OpenCR安装在机器人上。

电脑安装ubuntu18.04

安装双系统-ubuntu18.04

建议安装18.04,此版本较为稳定
首先制作启动盘
需要一个8G的 U盘,将镜像文件下载到电脑上
镜像文件可以在官网下载(不推荐,太慢了)另一种是使用第三方镜像源,网上有很多,这里列举一个经过验证的阿里的镜像源
使用UltraISO将镜像文件写入U盘中。具体步骤可以参考这个教程
烧录完后的文件大概是这样的在这里插入图片描述
关于U盘的准备就结束了。
进行电脑的准备工作
1.右键我的电脑---->管理---->存储---->磁盘管理
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里是用20G演示,具体分配大小,要根据你的磁盘决定!
在这里插入图片描述
2.关闭电脑的快速启动
windows设置->系统->电源和睡眠->其他电源设置->选择电源按钮的功能->更改当前不可用的设置->把快速启动前的√去掉 保存即可。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3.关闭Security Boot
先进入BIOS界面(每个电脑的进入方式不一样,具体百度一下,电脑具体型号)
在这里插入图片描述
确保BOOT是UEFI模式,然后将Secure Boot改成disable,保存设置然后退出。
在这里插入图片描述
4.插入U盘从U盘启动,安装Ubuntu
然后就是在bios界面下的UEFI模式下选择U盘启动。
在这里插入图片描述
然后你就可以看到这个界面
在这里插入图片描述
选第二个安装。
出现
在这里插入图片描述
选择中文然后点继续

在这里插入图片描述
什么都别勾,点继续

在这里插入图片描述
选其他选项,然后继续
这时候就可以看到之前我们磁盘中分出来的空闲的分区了
在这里插入图片描述
点+号。
4.出现创建分区,
安装过程中比较重要的就是分区
参照下面进行分区,(分区这部分不懂得可以去CSDN官网找一下教程)

1)EFi区:        主分区、  空间起始位置              4G  (实际使用很少,1G就够用)
2)swap(交换区):逻辑分区、空间起始位置             16G 
3)"/"             逻辑分区、空间起始位置、Ext4   100G   
4)"/home"        逻辑分区、空间起始位置、Ext4   余下所有空间 (我这是320G左右)
 
*重点* **Device for boot loader installation**:选 “EFi”所在区,然后点“install”

分区完成后
在这里插入图片描述
在这里插入图片描述
点继续
选汉语,继续
在这里插入图片描述
在这里插入图片描述
设置密码短一些,(方便使用,一般没有人来黑你)
点继续。然后等待安装
在这里插入图片描述
5.安装完成,拔掉U盘,重启电脑。
再加入BTOS界面,把secure boot打开,也就是改成enable。
在这里插入图片描述
重启电脑,看到这个界面就说明安装成功了。
在这里插入图片描述
第一个是进ubuntu系统,第三个是进Windows系统。
顺利安装完系统后,就可以看到系统界面了,
在这里插入图片描述
输入之前设置的密码即可进入ubuntu

然后进行换源安装ROS

安装ROS

  1. 添加ROS软件源
 sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

2.添加秘钥

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

3.安装ROS

sudo apt update
sudo apt install ros-melodic-desktop-full

4.初始化rosdep

sudo rosdep init
rosdep update

5.设置环境变量

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc

6 安装rosinstall

sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential

使用小海龟验证ROS 是否安装成功。

roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key

出现小海龟图像,并用键盘控制它运动,证明成功
在这里插入图片描述

安装turtlebot3及其依赖项

1.安装turtlebot3及其依赖项

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

2.下载TurtleBot3依赖包(PC端和树莓派都需要编译);

cd ~/catkin_ws/src/
git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git
git clone https://github.com/ROBOTIS-GIT/turtlebot3.git
git clone https://github.com/ROBOTIS-GIT/hls_lfcd_lds_driver.git

cd ~/catkin_ws && catkin_make

树莓派Ubuntu mate+ROS 安装过程

树莓派部分
拿到板子首先确认板子的型号(在板子中间会有标明),最好为树莓派准备一个显示器,Micro SD卡 ≥16G,连接线,键鼠等在这里插入图片描述

1.给树莓派安装linux,要与pc端一致。
官网下载与型号相对应的系统在这里插入图片描述
2.使用先用SDFormatter格式化Micro SD卡
在这里插入图片描述
3.用Win32 Disk Imager将Raspbian系统镜像文件写入Micro SD卡,

1.解压第一步下载的操作系统镜像压缩文件,得到 img 镜像文件。
2.将 SD 使用卡托或者读卡器后,连上电脑。
3.解压并运行 win32diskimager 工具。
4.在软件中选择系统镜像(img 文件),“Device”下选择 SD 的盘符,然后选择 “Write”,期间出现对话框选择是。
在这里插入图片描述
开启SSH及配置无线连接
其实这一步是为了方便在headless(即没有I/O设备,包括显示器)的情况下通过远程连接配置树莓派的。

在boot分区下新建一个空文件,名为ssh,就可以开启SSH。macOS下就以终端运行touch /Volumes/boot/ssh。

再在boot分区下新建wpa_supplicant.conf文件,并写入无线的相关配置。为了不泄漏信息,下面只是示例。可以同时配置多个无线网络。

country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
 
network={
    ssid="wi-fi name here"
    psk="wi-fi password here"
    key_mgmt=WPA-PSK
}
 
network={
    ssid="another wi-fi name here"
    psk="another wi-fi password here"
    key_mgmt=WPA-PSK
}

如果无线网没有密码或者采用WEP加密方式的话,key_mgmt应设为NONE,密码字段由psk改成wep_key0即可。

*安装树莓派系统

在这里插入树莓派3B的GIF图片描述
1.先将安装好系统的SD卡插入树莓派。
2.再将USB接口的键盘和鼠标接上树莓派。
3.用HDMI线连接树莓派和电视或显示器。如果你的显示器是 VGA 接口输出,那么还需要一根 HDMI 转 VGA 线缆。
4.用网线连接树莓派和路由器。(可选)
5.接上电源线,并打开电源。
在这里插入图片描述

启动树莓派

将Micro SD卡插到树莓派背面的卡槽中,接通电源开机。当你看到树莓派主板上红色电源指示灯亮起,绿色指示灯间或闪烁说明系统已经开始启动。如果接了显示器的话,这时会看到树莓派的 Logo,会进入Raspbian系统的桌面,并弹出一个Welcome to Raspberry Pi窗口,作为设置向导,在引导下根据实际情况配置国家、语言、时区,设置好登录密码、WiFi。
在这里插入图片描述

烧录完成后,会看到树莓派的界面

之后是安装ROS,与PC端相似
1.首先进行换源,打开系统源文件

sudo nano /etc/apt/sources.list

2.将里面的初始源#掉,或者直接删掉,将下列源添加

deb http://mirrors.aliyun.com/ubuntu-ports/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu-ports/ bionic main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu-ports/ bionic-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu-ports/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu-ports/ bionic-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu-ports/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu-ports/ bionic-backports main restricted universe multiverse

这一块可以参照博文
详细源可以到阿里巴巴开源镜像站查找
之后进入正常安装

  1. 添加ROS软件源
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

2.添加秘钥

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

3.安装ROS

sudo apt update
sudo apt install ros-melodic-desktop-full

4.初始化rosdep

sudo rosdep init
rosdep update

5.设置环境变量

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc

6 安装rosinstall

sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential

PS:若是第四步初始化rosdep时,显示"website may be down"

sudo rosdep init 
ERROR: cannot download default sources list from:
https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
Website may be down.

先在浏览器里复制粘贴报错信息里面的地址,如果访问不了则为网络问题

sudo gedit /etc/hosts

添加下面内容到hosts文件

199.232.28.133 raw.githubusercontent.com

保存退出,重新在浏览器中访问报错信息里面的地址.

到这里ROS 安装结束。
使用小海龟验证ROS 是否安装成功。
1roscore
2.rosrun turtlesim turtlesim_node
3.rosrun turtlesim turtle_teleop_key
出现小海龟图像,并用键盘控制它运动,证明成功
在这里插入图片描述
1.安装turtlebot3及其依赖项

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

2.下载TurtleBot3依赖包(PC端和树莓派都需要编译);

cd ~/catkin_ws/src/
git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git
git clone https://github.com/ROBOTIS-GIT/turtlebot3.git
git clone https://github.com/ROBOTIS-GIT/hls_lfcd_lds_driver.git

cd ~/catkin_ws && catkin_make

大功告成!

OPEN CR配置

OpenCR 的软件设置这一章节是针对 PC 的,机器人不需要安装 arduino,您可以选择在 ubuntu 下安装,也可以选择在 windows 下安装;都是可以的,凭个人喜好。
1.由于 OpenCR 库是为 32 位平台构建的,64 位 PC 需要用于 Arduino IDE 的 32 位编译器相关内容,需要执行如下命令:

sudo apt-get install libncurses5-dev:i386

2.安装 Arduino IDE,OpenCR 需 Arduino IDE 1.16.0 及之后的版本,可以到官网https://www.arduino.cc/en/Main/Software下载;

3.将下载的文件解压缩到所需的文件夹比如用户的根目录下,并从终端执行安装文件;
也可以用我放在网盘里的链接: https://pan.baidu.com/s/1-ro0x5Rr6iIzGgK8IA-n0g 密码: mdkd

mkdir ~/tools
wget https://www.arduino.cc/download_handler.php?f=/arduino-1.8.12-linux64.tar.xz

cd ~/tools/arduino-1.8.12
sudo ./install.sh

4.执行Arduino最好用sudo arduino打开(root权限);增加 Boards Manager;
运行IDE,点击 File → Preferences,复制下面的内容到 Additional Boards Manager URLs:

https://raw.githubusercontent.com/ROBOTIS-GIT/OpenCR/master/arduino/opencr_release/package_opencr_index.json

在这里插入图片描述
5.通过Board Manager安装OpenCR软件包,点击 Tools → Boards Manager;
在这里插入图片描述
6.OpenCR Board 列在 Tools → Board 中;
在这里插入图片描述
7.设置端口,OpenCR 应通过 USB 端口连接到 PC 和 OpenCR 板;选择 Tools → Port → /dev/ttyACM0;(我的是/dev/ttyACM1大家可以拔掉再插上看看)

在这里插入图片描述
8.选择DFU编译模式
在这里插入图片描述
9.下载机器人OpenCR默认固件;文件的示例中大家会发现有很多示例代码;选择turtle_core;(尝试compile and upload)
Burger汉堡型:点击File → Examples → turtlebot3 → turtlebot_burger → turtlebot3_core

Waffle pi华夫型:点击File → Examples → turtlebot3 → turtlebot_waffle → turtlebot3_core在这里插入图片描述
!!注:如果下载了已损坏或未完成的固件且电路板冻结或无法工作,则必须进入引导加载程序才能下载正常固件:警告:(不满足这种情况不用执行这步!)
1.进入修复固件模式;

1.同时按住 PUSH SW2 按键和 Reset 按钮;
2.释放 Reset 按钮;
3.松开 PUSH SW2按钮。

在这里插入图片描述
重置后,OpenCR将进入引导加载程序。STATUS LED每100ms闪烁一次。
2.下载下载器 opencr_ld https://github.com/ROBOTIS-GIT/OpenCR/tree/master/arduino/opencr_arduino/tools/opencr_tools_1.0.0;
3.打开官方默认固件 turtlebot3_core;另存一下,导出可执行二进制bin文件;
在这里插入图片描述
4.修复固件:

opencr_ld <Communication port> <Baudrate> <Firmware binary> <Firmware execution status [0|1]>

这个就是个示例命令格式,可别直接输进去啊!看下一步就知道了!

Communication port:Linux 的串口名称通常为/dev/ttyACM0,它应与连接到 OpenCR 的串口相同;
Baudrate:以 115,200bps 的速率进行通信和输入的速度;
Firmware binary:固件二进制映像具有 bin 的扩展名;
Firmware execution status:如果为1,则在下载固件后执行固件。为0,则只执行下载固件;

5.如果 OpenCR 连接到 ttyACM0 端口,则将二进制文件 opencrfw.bin 复制到 opencr_ld 目录中;

sudo opencr_ld /dev/ttyACM0 115200 ./turtlebot3_core.ino.openCR.bin 1

6.修复成功后的结果如下:

在这里插入图片描述

标题进行PC与TURTLEBOT3之间的通讯

设置Turtlebot-waffle_pi的主从模式
在这里插入图片描述
时间同步
同步时间,如果时间不同步,容易出现TF变换错误

1.[TurtleBot && Remote PC] 安装chrony

sudo apt-get install chrony

2.[TurtleBot && Remote PC] 安装ntpdate

sudo apt-get install ntpdate

3.[TurtleBot && Remote PC] 分别同步时间

 sudo ntpdate ntp.ubuntu.com

4.[TurtleBot && Remote PC] 检测时间是否同步

date

主从机设置
ROS需要IP地址在turtlebot和远程PC之间进行通信
1.[TurtleBot && Remote PC] 执行如下命令获得对应的IP地址:

 ifconfig

假设PC的IP地址为:192.168.0.5, turtlebot的IP为:192.168.0.6
2.[TurtleBot && Remote PC] 修改根目录下的 .bashrc 文件

 gedit ~/.bashrc

3.TURTLEBOT配置如下:

export ROS_MASTER_URI=http://192.168.0.5:11311
export ROS_HOSTNAME=192.168.0.6

4.PC配置如下:

export ROS_MASTER_URI=http://192.168.0.5:11311
export ROS_HOSTNAME=192.168.0.5

5.ROS_MASTER 运行在远程PC上

 source ~/.bashrc

测试是否配置好主从机
[Remote PC] 启动roscore

roscore

[TurtleBot] 查看是否订阅到主机发布的话题

rostopic list

出现
/rosout
/rosout_agg
即主从机配置成功!
若出现错误 ERROR: Unable to communicate with master! 即说明主从机未配置成功

雷达安装测试

我们提供的turtlebot3上已经安装好雷达驱动,只需要在PC安装即可
1.[Remote PC]安装驱动

sudo apt-get install ros-melodic-hls-lfcd-lds-driver

2.[Remote PC] 启动roscore

roscore

3.[TurtelBot] 启动雷达

roslaunch hls_lfcd_lds_driver hlds_laser.launch

4.[Remote PC] 启动rviz

rosrun rviz rviz -d `rospack find hls_lfcd_lds_driver`/rviz/hlds_laser.rviz

在这里插入图片描述

安装树莓派摄像头

1.[TurtleBot] 在树莓派上进行摄像头设置

sudo raspi-config

在这里插入图片描述
2.选择 3 Interfacing Options

在这里插入图片描述
3.选择 P1 Camera
在这里插入图片描述
4.Enable camera interface
在这里插入图片描述
在这里插入图片描述
[TurtleBot] 设置完之后测试以下是否能正常使用,输入以下以下命令,正常情况下树莓派系统的桌面上会生成一张摄像头捕捉到的图像

raspistill -v -o test.jpg

5.[TurtleBot] 安装ros驱动包

cd ~/catkin_ws/src
git clone https://github.com/UbiquityRobotics/raspicam_node.git
sudo apt-get install ros-melodic-compressed-image-transport ros-melodic-camera-info-manager
sudo apt-get install ros-melodic-cv-bridge
sudo apt-get install ros-melodic-opencv3
vim /etc/ros/rosdep/sources.list.d/30-ubiquity.list
##添加下面这段话到 30-ubiquity.list 后保存:
yaml https://raw.githubusercontent.com/UbiquityRobotics/rosdep/master/raspberry-pi.yaml
rosdep update
cd ~/catkin_ws
rosdep install --from-paths src --ignore-src --rosdistro=melodic -y
cd ~/catkin_ws && catkin_make

6.[TurtleBot] 运行raspicam节点

roslaunch turtlebot3_bringup turtlebot3_rpicamera.launch
##或者执行下面这条命令进行测试
roslaunch raspicam_node camerav2_1280x960.launch

7.[Remote PC] 执行以下命令

rqt_image_view

桌面出现显示摄像头即时内容的gui界面时,说明已成功安装

启动测试

1.[Remote PC] 启动roscore

roscore

2.[TurtleBot] 启动waffle_pi

 roslaunch turtlebot3_bringup turtlebot3_robot.launch

3.[Remote PC] 启动rviz

export TURTLEBOT3_MODEL=waffle_pi
 roslaunch turtlebot3_bringup turtlebot3_model.launch

显示
在这里插入图片描述

键盘控制

1.[Remote PC] 启动roscore

roscore

2.[TurtleBot] 启动waffle_pi

roslaunch turtlebot3_bringup turtlebot3_robot.launch

3.[Remote PC] 启动进行简单远程操作测试

roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

4.[Remote PC] 如果文件成功启动,终端将显示以下内容。

Control Your Turtlebot3!
---------------------------
Moving around:
        w
   a    s    d
        x

w/x : increase/decrease linear velocity
a/d : increase/decrease angular velocity
space key, s : force stop

CTRL-C to quit

w 是增加线速度
x 是降低线速度
a 是增加角速度
d 是降低角速度

扫描建图

1.[Remote PC] 启动roscore

roscore

2.[TurtleBot] 启动waffle_p

 roslaunch turtlebot3_bringup turtlebot3_robot.launch

3.[Remote PC] 打开终端,然后运行SLAM启动文件和rviz

export TURTLEBOT3_MODEL=waffle_pi
roslaunch turtlebot3_slam turtlebot3_slam.launch slam_methods:=gmapping

4.[Remote PC] 启动键盘操作

export TURTLEBOT3_MODEL=waffle_pi
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

5.利用手柄或键盘移动waffle_pi进行建图
6.[Remote PC] 打开终端,然后运行地图保存节点

rosrun map_server map_saver -f ~/map

自主导航

1.[Remote PC] 启动roscore

roscore

2.[TurtleBot] 启动waffle_pi

roslaunch turtlebot3_bringup turtlebot3_robot.launch

3.[Remote PC] 启动导航

export TURTLEBOT3_MODEL=waffle_pi
 roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=$HOME/map.yaml

4.[Remote PC] 在开始导航之前,TurtleBot3应该知道它的位置和姿势。

 要给出初始数据,请按照说明进行操作。
  点击2D Pose Estimate按钮
  通过单击并拖动地图上的方向来设置地图上的大致位置。
  箭头的每个点意味着TurtleBot3的预期姿势。激光扫描仪将在近似位置绘制线条,如地图上的墙 壁。
  如果图形没有显示线条,请重复上述过程。

[Remote PC] 当TurtleBot3已经定位,它将自动计划路径。

  要发送目标位置:
 点击 2D Nav Goal按钮
 点击地图上你想要的TurtleBot驱动和拖动方向TurtleBot应该指向地方
 如果目标位置的路径被阻止,这可能会失败。
 要在机器人到达目标位置之前停止机器人,请发送TurtleBot3的当前位置。
  • 6
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值