使用笔记本电脑(Romote PC)远程控制Turtlebot3-Burger运动

本文叙述了如何使用笔记本电脑作为Romote PC远程控制Turtlebot3-Burger运动,涉及到树莓派的镜像烧录、树莓派中安装ROS、SSH远程控制等问题。


1. 在SD卡中烧录镜像

(0)工具准备

#所需软件和文件
链接:https://pan.baidu.com/s/1wsjUHATsOVPzfjFdIG5AxA 
提取码:oa1l 

(1)格式化SD卡
使用SDFormatter工具格式化SD卡
在这里插入图片描述
Dvive处选择SD卡盘符,点击“格式化”即可格式化成功

(2)烧录ubuntu mate镜像
使用Win32DiskImager烧录准备好的ubuntu mate镜像
在这里插入图片描述

#ubuntu mate镜像
链接:https://pan.baidu.com/s/17LOz2kfc-DUHVXRXw3yAiA 
提取码:h4lp 

点击“Write”即可,成功后显示“write successful”窗口

(3)准备远程文件
将ssh文件和wpa_supplicant.conf文件复制到树莓派SD卡中,其中ssh文件为空,wpa_supplicant.conf文件需修改网络账户密码,内容如下:

country=GB
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
	ssid="XXX"
	psk="XXX"
	priority=5
}
network={
	ssid="XXX"
	psk="XXX"
	priority=4
}

随后将SD卡插回树莓派。

2. 在ubuntu mate中安装ROS及其他设置

(0)获取root权限

sudo passwd root

(1)安装源

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

或来自中国的源

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

(2)增加key

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

(3)更新

sudo apt-get update

(4)安装Desktop-Full

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

(5)解决依赖

sudo rosdep init
rosdep update

此处会出现网络问题的报错,参考:
sudo rosdep init 出现 ERROR: cannot download default sources list from:

(6)环境设置

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

(7)安装rosinstall

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

(8)安装Turtlebot3依赖包

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

(9)安装Turtlebot3源码

mkdir -p ~/catkin_ws_turtlebot3/src/
cd ~/catkin_ws/src/
catkin_init_workspace

cd ..
catkin_make

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

cd ..
catkin_make

(10)安装依赖包

sudo apt-get install ros-kinetic-rosserial-python ros-kinetic-tf

(11)添加模型声明

echo "export TURTLEBOT3_MODEL=burger" >> ~/.bashrc

(12)环境设置

echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc

(13)USB设置(以下允许将USB端口用于没有root权限的OpenCR板)

rosrun turtlebot3_bringup create_udev_rules

3. 远程PC激光雷达驱动安装

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

4. 网络配置

(1)时间同步

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

sudo apt-get install chrony

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

sudo apt-get install ntpdate

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

sudo ntpdate ntp.ubuntu.com

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

date

(2)网络配置
将机器人和PC连接同一无线网,使其处于同一局域网下,并都安装ssh

sudo apt-get install openssh-server

机器人端启动ssh

service ssh start

#运行以下命令后出现sshd即已启动ssh
ssh localhost

PC端终端输入:

ssh 树莓派用户名@树莓派ip地址

4. 远程控制Turtlebot3

(1)在PC主机上运行roscore

roscore

(2)启动机器人

roslaunch turtlebot3_bringup turtlebot3_robot.launch

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

(3)键盘远程控制

roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

至此,机器人可正常前后左右运动


参考资料

Turtlebot3-burger入门教程
Turtlebot3入门教程(Burger)

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值