Ubuntu20.04配置TurtleBot3 Waffle Pi远程控制

发布于:2024-07-03 ⋅ 阅读:(17) ⋅ 点赞:(0)

0. 机器人配置

机器人名称:TurtleBot3 Waffle Pi
开发板:jetson xavier NX
激光雷达:RPLIDAR A2
深度视觉传感器:RealSense D435i
驱动形式:两轮差速驱动

1. Ubuntu20.04配置TurtleBot3 Waffle Pi远程控制

1.1 TurtleBot3 Waffle Pi端配置

默认为根据基本教程安装完成完机器人端的配置

1.2 PC端配置

默认为已经成功安装好Ubuntu20.04和ROS环境

1.2.1 安装turtlebot3的环境配置

其中的noetic根据自己的Ubuntu版本进行调整,这里使用的是Ubuntu20.04

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

1.2.2 创建项目并安装Turtlebot3

mkdir catkin_turtlebot3
cd catkin_turtlebot3
mkdir src
cd src
git clone https://github.com/ROBOTIS-GIT/turtlebot3.git
git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git
git clone https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git
cd ..
catkin_make

1.2.3 配置环境变量

其中turtlebot3_model根据自己的机器人具体类型进行设置(主要有三个选项burger,waffle,waffle_pi),第二行是设置ros的工作环境

echo "export TURTLEBOT3_MODEL=waffle_pi" >> ~/.bashrc
echo "source ~/catkin_turtlebot3/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

在这里插入图片描述

利用以下命令测试是否设置成功

echo $ROS_PACKAGE_PATH

在这里插入图片描述

接下来PC端的基本设置就完成了。

1.3 PC端与TurtleBot3进行通信

1.3.1 PC端与TurtleBot3在同一局域网下,即连接同一WIFI情况下

1.3.1 PC端与机器人端互PING和SSH连接

[TurtleBot端]
通过ifconfig查看对应的IP地址

ifconfig

[PC端]
通过ifconfig查看对应的IP地址

ifconfig

在PC端和机器人端进行测试,分别从机器人端pingPC端的IP地址和在PC端ping机器人端的IP地址,确保机器人端和PC端是可以双向ping通,同时双向测试ssh是否可以直接连上双方,才进行下一步。此操作建议关闭防火墙功能

[TurtleBot端]
在~/.bashrc里面添加对应的远程PC端的IP地址,其中 ROS_MASTER_URI填写的是PC端的IP地址,ROS_HOSTNAME填写的自己的IP地址

sudo vim ~/.bashrc
export ROS_MASTER_URI=http://192.168.31.105:11311
export ROS_HOSTNAME=192.168.31.106
source ~/.bashrc

1.3.2 PC端与机器人端运行互联

[PC端]
运行roscore下面的命令

roscore

在这里插入图片描述
[TurtleBot3端]
运行roslaunch turtlebot3_bringup turtlebot3_robot.launch

roslaunch turtlebot3_bringup turtlebot3_robot.launch

展示如下界面即成功运行
在这里插入图片描述
[PC端]
PC端可以通过rostopic list来查看订阅的话题

rostopic list

在这里插入图片描述

1.3.3 PC端控制机器人进行运动

[PC端]
在PC端运行roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch来控制机器人的运动

roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

通过wadx来控制机器人的前进后退,转向。通过s可以把机器人停下来。
在这里插入图片描述