RobotKernal-UESTC/Code/MowingRobot/README.md

90 lines
2.7 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 目录说明
> 更新2024-03-14 詹力 Review 更新文档
>
> 1. `pibot_ros` : 机器人硬件底盘控制 & 全覆盖、双目测距、目标检测、UWB融合算法。
> 2. `test_map` : 跃杭测试代码
>
### 一、PIbot_ROS说明
[PIbot](https://gitee.com/pibot/pibot_bringup/blob/master/doc/README.md#1-%E8%AF%B4%E6%98%8E)原先淘宝购买的机器人底盘配套的ROS驱动代码能够实现ROS和底盘的控制以及传感器数据的读取。
#### 1.1 Pibot的作用
#### 1.2 相关算法目录
PIbot_ROS是一个ROS的工作空间工作空间的介绍见`Docs/ROS工作目录介绍`。割草机器人项目的相关算法包在`pibot_ros\ros_ws\src\`下。
ipa_coverage_planning : 全覆盖路径规划算法,主要是跃杭在开发
upbot_following 割草机器人UWB跟随算法包
upbot_location : 割草机器人UWB融合定位
upbot_vision : 割草机器人视觉包,负责目标检测和双目测距
#### 1.3 PIbot编译
`pibot_ros`的编译如下相关支持功能包的安装以及PIbot使用的各种细节坑见`Docs\PIbot-ROS安装.md`。编译的时一定需要先编译pibot_msgs包(目前未彻底解决无法准确控制catkin编译按照顺序和)。
```shell
# 进入home目录
cd ~
# 下载代码
git clone http://logzhan.ticp.io:30000/logzhan/RobotKernal-UESTC.git
# 把PIBot_ROS移动到Home目录下
mv RobotKernal-UESTC/Code/MowingRobot/pibot_ros ~/pibot_ros
# 要运行pibot还得安装相关支持包
#导航相关
sudo apt-get install ros-noetic-navigation
#定位相关
sudo apt-get install ros-noetic-robot-pose-ekf
# 编译代码
# 1.先编译pibot_msgs生成对应的头文件
# 这是因为catkin_make编译顺序不可控虽然参照网上的写法控制顺序但是没有起到作用。这回导致自# 定义的msg还没有生成头文件就被引用导致编译不通过。
catkin_make --pkg pibot_msgs
# 2.编译全部Package
catkin_make
```
### 二、实验测试
#### 2.1 启动全覆盖 & 避障
```shell
# 启动机器人和底盘通信连接
./runBringUp.sh
# 启动目标检测和测距节点
./runStereo.sh
# 可选: 启动UWB融合定位
./runCarLocation.sh
# 启动全覆盖地图服务端
./runRoomExplorationServer.sh
# 启动全覆盖地图客户端
./runRoomExplorationClient.sh
#自己建图(画圈)、地图的优化、跑全覆盖
#建图
UWB的
#地图优化
cd test_map
./main input_map_name output_map_name
#全覆盖客户端路径
cd pibot_ros/ros_ws
source ./devel/setup.bash
roslaunch ipa_room_exploration room_exploration_client.launch robot_env:=map_name
#修改地图路径
#优化地图
test_map 的main.cpp
#全覆盖
room_exploration_action_client.cpp 下面77行
```