Turtlebot3入门教程(Burger)

说明
随便写写,整理思绪,并无他意

在Ubuntu上远程连接树莓派,可采用如下办法:
ssh [用户名]@[IP]
然后输入密码

一、 PC系统软件安装

(1)安装Ubuntu16.04

(2)安装ROS-kinetic

源码安装
1.安装源:

sudo sh - c ' . /etc/ lsb- release && echo "deb ht tp: / /mi r rors.ustc.edu.cn/ ros/ubuntu/$DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

2.增加key:

sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 0xB01FA116

3.更新:

sudo apt-get update

4.安装,这里介绍Desktop-Full安装:

sudo apt-get install ros-kinetic-desktop-full

5.解决依赖:

sudo rosdep init
rosdep update

6.环境设置:

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

(3)安装TurtleBot3及依赖包:

1.安装turtlebot3依赖包,新建终端(Ctrl+Alt+T),复制输入如下代码:

sudo apt-get install ros-kinetic-joy ros-kinetic-teleop-twist-joy ros-kinetic-teleop-twist-keyboard roskinetic-
laser-proc ros-kinetic-rgbd-launch ros-kinetic-depthimage-to-laserscan ros-kinetic-rosserialarduino
ros-kinetic-rosserial-python ros-kinetic-rosserial-server ros-kinetic-rosserial-client ros-kineticrosserial-
msgs ros-kinetic-amcl ros-kinetic-map-server ros-kinetic-move-base ros-kinetic-urdf roskinetic-
xacro ros-kinetic-compressed-image-transport ros-kinetic-rqt-image-view ros-kinetic-gmapping
ros-kinetic-navigation

2.安装turtlebot3源码:

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

如果catkin_make完成没有任何错误,PC使用TurtleBot3的准备已完成。

二、网络设置

说明
• ROS需要IP地址通过无线在turtlebot3和远程PC之间进行通信。
• 本节介绍如何设置Turtlebot3的主从模式

(1)时间同步

1.分别在turtlebot3和PC,打开终端(Ctrl+Alt+T),执行如下命令安装chrony:

sudo apt-get install chrony

2.分别在turtlebot3和PC,执行如下命令安装ntpdate:

sudo apt-get install ntpdate

3.分别在turtlebot3和PC,执行如下命令同步时间:

sudo ntpdate ntp.ubuntu.com

4.分别在turtlebot3和PC,执行如下命令检测时间是否同步:

date

(2)网络配置

Turtlebot3入门教程(Burger)_第1张图片
1.分别在turtlebot和PC,打开终端(Ctrl+Alt+T),执行如下命令获得对应的IP地址:

ifconfig

2.执行如下命令打开script文档,按照上述图片所给格式修改IP地址:

gedit ~/.bashrc

3.关闭Script⽂文档,执⾏行行如下命令让环境⽣生效:

source ~/.bashrc

三、启动操作测试

说明
启动前请先进行网络设置,确保PC主机与Turtlebot3之间能正确通信。

(1)测试启动TurtleBot3

【我将此处的两条指令称之为启动指令,后面会经常用到】

1.在PC主机上,打开终端(Ctrl+Alt+T),运行ROScore指令:

roscore

2.在TurtleBot3上,打开终端(Ctrl+Alt+T),运⾏行行启动指令:

roslaunch turtlebot3_bringup turtlebot3_robot.launch

若安装及启动成功,则终端进程无报错,LDS激光雷达正常旋转。

【特别注意】
若出现报错:ros “is neither a launch file in package”…
解决办法:

cd catkin_wc/
source devel/setup.bash

(2)远程控制(键盘)

在PC主机上,打开终端(Ctrl+Alt+T),运行键盘控制指令:

roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

运行成功后,W 前进,X 后退,A 左转,D 右转,S 停止

四、SLAM

说明
同步定位与地图构建(Simultaneous localization and mapping)是一种概念:希望机器人从未知环境的未知地点出发,在运动过程中通过重复观测到的地图特征(比如墙角,柱子等)定位自身位置和姿态,再根据自身位置增量式的构建地图,从而达到同时定位和地图构建的目的。

1.先运行 启动指令
2.在PC主机上,新建终端(Ctrl+Alt+T),然后运行SLAM启动文件:

export TURTLEBOT3_MODEL=burger
roslaunch turtlebot3_slam turtlebot3_slam.launch

3.在PC主机上,新建终端(Ctrl+Alt+T),启动Rviz可视化软件观察建图状态:

rosrun rviz rviz -d `rospack find turtlebot3_slam`/rviz/turtlebot3_slam.rviz

4.在PC主机上,新建终端(Ctrl+Alt+T),运行键盘控制指令,控制Turtlebot3移动建图:

roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

5.建图完成后将地图保存至PC主机本地,新建终端,运行下列命令

rosrun map_server map_saver -f ~/map

五、导航

说明
• 导航技术的主要用途是使机器人进入期望的位置。
• 导航中使用的是上一步SLAM建图出的地图数据。

1.先运行 启动指令
2.在PC主机上,新建终端(Ctrl+Alt+T),启动导航文件:

export TURTLEBOT3_MODEL = burger
roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=/home/map.yaml

【注意】map_file 需修改为自己上一步保存的
3.在PC主机上,新建终端(Ctrl+Alt+T),启动Rviz可视化软件:

rosrun rviz rviz -d `rospack find turtlebot3_navigation`/rviz/turtlebot3_nav.rviz

• 在开始导航之前,TurtleBot3应该知道它的位置和姿势,在PC主机上的Rviz可视化软件中,请按照说明进行操作。
• 点击2D Pose Estimate按钮
• 通过单击并拖动地图上的方向来设置地图上的大致位置。

:给出的箭头意味着TurtleBot3的初始位置及⽅方向。激光雷达将在地图上的相对位置进行绘制。如果显示不正确,请重复上述过程。

• 在PC主机上的Rviz可视化软件中发送目标位置,Turtlebot3将自动导航前往:
• 点击 2D Nav Goal按钮
• 点击地图中的目标位置,拖动箭头指向期望Turtlebot3到达位置后朝向的方向。

:若前往目标位置的路径无法规划将导致导航失败。要使机器人立即停止前进,请重新发送TurtleBot3的当前位置为目标位置。

六、 摄像头

(1)树莓派启动摄像头

1.从命令行运行raspi-config 配置软件

sudo raspi-config

2.选择Interface Options
3.选择Camera
4.选择 是 ,然后选择Finish,重启树莓派
5.测试摄像头,运行:

raspistill -o cam.jpg

在当前目录下会保存一张cam.jpg 的照片,检查是否成功。

(2)图像校准

  1. [Remote PC] 新终端,启动roscore
roscore

2.[TurtleBot SBC] 新终端,启动相机

roslaunch turtlebot3_autorace_camera turtlebot3_autorace_camera_pi.launch

3.[Remote PC] 新终端,浏览图像界面

qt_image_view

选择topic:/camera/image/compressed 或/camera/image/ 如果正常则可以看到图像
5. [Remote PC] 新终端,打开配置界面

rosrun rqt_reconfigure rqt_reconfigure

• 选择camera,调整参数值,使相机显示干净,足够明亮的图像。 之后,将每个值覆盖到树莓派上 turtlebot3_autorace_camera/calibration/camera_calibration 文件夹中camera.yaml 里的参数值
• 下次启动即会使用新的参数值,以达到更好的显示效果。
• 若不能正常载入参数,可以尝试修改树莓上的 raspicam_node/cfg 文件夹中的Camera.cfg内的参数值

你可能感兴趣的:(ros,smartcar,linux)