forked from ray/RobotKernal-UESTC
90 lines
2.7 KiB
Markdown
90 lines
2.7 KiB
Markdown
# 目录说明
|
||
|
||
> 更新: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行
|
||
|
||
```
|
||
|