合并瑞瑞提交 |
||
|---|---|---|
| .. | ||
| pibot_upstart | ||
| pypibot | ||
| ros_package | ||
| ros_ws | ||
| rules | ||
| runtime | ||
| third_party | ||
| .gitignore | ||
| .pibot_init_env.sh.swp | ||
| README.md | ||
| pibot_add_upstart.sh | ||
| pibot_ap.sh | ||
| pibot_clear_rosproc.sh | ||
| pibot_create_swap.sh | ||
| pibot_init_env.sh | ||
| pibot_install_ros.sh | ||
| pibot_remove_upstart.sh | ||
| pibot_view_env.sh | ||
| runBringUp.sh | ||
| runCarLocation.sh | ||
| runRoomExplorationClient.sh | ||
| runRoomExplorationServer.sh | ||
| runStereo.sh | ||
README.md
PIBot_ROS使用说明
pibot是银星合作时购买的小车底盘。其包含直流电机控制、里程计、IMU和上位机通讯等功能。
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和虚拟机需要用同个网络,远程连接教程:
-
ip查询方式终端: 在小车终端里输入ifconfig查看小车的ip地址 -
将教程里步骤三内容改为:
-
ssh -X firefly@ip(-X 为远程显示图形界面需要) -
密码为:
firefly -
连接上后选择需要打开的文件夹
2、小车驱动编译
2.1 驱动代码位置
PIBot的ROS支持包的位置在仓库中,其路径为Code\RK3588\PIbot_ROS中。我们解压后可以把PIBot_ROS移动到~/位置,并重新命名为pibot_ros(命名可以按照个人习惯),下面的教程以pibot_ros为例。
2.2 3588上编译问题(主要是全覆盖部分)
PIBot_ROS/ros_ws/src/ipa_coverage_planning(全覆盖部分的代码)
# 进入到ROS的工作空间
cd pibot_ros/ros_ws
# 在pibot_ros/ros_ws路径下执行catkin_make
# ~:/pibot_ros/ros_ws$ catkin_make
catkin_make
2.3 根据出现的报错缺少的库问题解决
# noetic 是ubuntu20.04版本名,其他版本需要更换名字
sudo apt-get install ros-noetic-xxx
# 例如: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-*
可参考内容:
全覆盖规划算法Coverage Path Planning开源代码ipa_coverage_planning编译-CSDN博客
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为配置文件:
3.3 小车控制和可视化
小车的控制和可视化功能需要开启两个新的终端,分别在终端输入命令:
# 小车的键盘控制,在任意路径执行:
pibot_control
# 导航可视化,在任意路径执行:
pibot_view (需要设置从主机 记不清 后面再补充)
在这上面可以在地图上给出目标点进行单点导航。