RobotKernal-UESTC/Docs/2.PIbot-ROS安装.md

5.4 KiB
Raw Blame History

PIBot_ROS使用说明

PIbot是银星合作时购买的小车底盘。其包含直流电机控制、里程计、IMU和上位机通讯等功能。PIBot_ROS是其和ROS通信交互的软件包。

1、远程连接RK3588板子

我们是通过RK3588 & RK3566等高性能的主板控制PIBot下位机(STM32控制板)。如果直接采用HDMI线和USB鼠标和键盘进行控制非常的不便; 采用VNC等远程桌面的方式对性能的损耗较大所以采用远程ssh连接一种较好的方式。这里我们采用的vscode进行ssh远程连接, 其具有远程图形显示功能以及其他强大的功能。

ssh连接需要知道目标机器的ip地址。理论上如果知道开发板的外网IP地址,那么就可以在任意位置连接开发板。由于外网固定IP难以获取,所以这里我们采用局域网ssh连接。由于windows平台的渲染窗口和linux不兼容,所以windows平台的vscode是不支持ssh窗口显示的需要开启虚拟机或者linux主机下面的vscode才可以显示窗口。我们在虚拟机ubuntu里面使用vscode远程ssh连接RK3588和虚拟机需要用同个网络,远程连接教程

  1. ip查询方式终端: 在小车终端里输入 ifconfig查看小车的ip地址

  2. 将教程里步骤三内容改为:

  3. ssh -X firefly@ip -X 为远程显示图形界面需要)

  4. 密码为:firefly

  5. 连接上后选择需要打开的文件夹

2、编译和配置PIBot_ROS

2.1 下载 PIBot_ROS代码

PIBot的ROS支持包的位置在仓库中其路径为Code\RK3588\PIbot_ROS中。我们解压后可以把PIBot_ROS移动到~/位置,并重新命名为pibot_ros(命名可以按照个人习惯),下面的教程以pibot_ros为例。

# 进入到home目录下
cd ~
# clone代码
git clone http://logzhan.ticp.io:30000/logzhan/RobotKernal-UESTC
# 把PIBot_ROS移动到Home目录下
mv RobotKernal-UESTC/Code/MowingRobot/PIBot_ROS ~/

2.2 在RK3588上编译PIbot_ROS主要是全覆盖部分

PIBot_ROS/ros_ws/src/ipa_coverage_planning(全覆盖部分的代码)

# 安装相关的软件包,如果没有安装会导致下面的编译步骤无法通过
# 下面是ubuntu20.04的命令其他ubuntu需要对应ros的版本替换noetic
sudo apt-get install ros-noetic-opengm
sudo apt-get install ros-noetic-libdlib
sudo apt-get install ros-noetic-cob-navigation
sudo apt-get install coinor-*

# 进入到Pibot的ROS的工作空间
cd ~/PIBot_ROS/ros_ws
# 编译代码
catkin_make

可参考内容:

全覆盖规划算法Coverage Path Planning开源代码ipa_coverage_planning编译-CSDN博客

ROS全覆盖规划算法 Coverage Path Planning 采坑-CSDN博客

2.3 初始化配置PIBot_ROS

由于PIBot_ROS支持不同的智能小车的底盘以及不同的传感器,所以需要执行初始化的脚本对设备的类型以及对支持的传感器进行配置。

# 进入PIBot_ROS
cd PIBot_ROS
# 给脚本添加可执行的权限
chmod +x pibot_init_env.sh
# 执行脚本
./pibot_init_env.sh

pibot_init_env.sh执行过程中,他会将部分串口的设备创建名为pibot的软链接。测试的过程如下:

## 重新拔插USB口或者重启RK3566、RK3588、树莓派等主机
# 列出/dev/pibot的详细信息
ls /dev/pibot -l
# 如果执行成功会看到类似下面的信息, 这个时候主机就可以和下位机通信、控制、交流
lrwxrwxrwx l root root 7 12月 20 10:47 /dev/pibot -> ttyACM0

2.4 功能测试

  • 树莓派/RK356/RK3588 运行 pibot_bringup roslaunch pibot_bringup bringup.launch
  • 在用户主机运行 pibot_configurerosrun rqt_reconfigure rqt_reconfigure 可以查看和修改内置的配置信息
  • 运行 pibot_control roslaunch pibot keyboard_teleop.launch 即可通过键盘控制小车运动
  • 支持小米等手柄的接入,运行 roslaunch pibot joystick.launch 即可

3、使用说明

3.1 导航的启动

PIBot_ROS的文件解压或重新命名可以按照个人习惯即可,这里以解压后命名为pibot_ros为例,介绍命令启动导航。

# 进入到pibot_ros的工作空间
cd ~/PIBot_ROS/ros_ws
# 配置环境变量
source ./devel/setup.bash
# 启动导航文件
# 格式 roslaunch package_name launch_file_name
roslaunch pibot_navigation nav.launch

3.2 更改导航地图

根据导航需求更改导航地图,地图路径在下图左下角位置pgm为地图格式 yaml为配置文件:

Untitled

3.3 小车控制和可视化

小车的控制和可视化功能需要开启两个新的终端,分别在终端输入命令

# 小车的键盘控制,在任意路径执行:
pibot_control
# 导航可视化,在任意路径执行:
pibot_view (需要设置从主机  记不清 后面再补充)

在这上面可以在地图上给出目标点进行单点导航。

3.4、全覆盖路径规划的使用