RobotKernal-UESTC/Code/MowingRobot/README.md

2.7 KiB
Raw Permalink Blame History

目录说明

更新2024-03-14 詹力 Review 更新文档

  1. pibot_ros : 机器人硬件底盘控制 & 全覆盖、双目测距、目标检测、UWB融合算法。
  2. test_map : 跃杭测试代码

一、PIbot_ROS说明

PIbot原先淘宝购买的机器人底盘配套的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编译按照顺序和)。

# 进入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 启动全覆盖 & 避障

# 启动机器人和底盘通信连接
./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行