diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/README.md b/Code/MowingRobot/PIBot_ROS/ros_ws/src/README.md new file mode 100644 index 0000000..23fe7be --- /dev/null +++ b/Code/MowingRobot/PIBot_ROS/ros_ws/src/README.md @@ -0,0 +1,6 @@ +## ROS包功能说明: + +> 更新时间:2024/02/04@詹力 + +`ipa_coverage_planning` :新添加的全覆盖路径规划算法,这部分代码是原来`pibot`没有的。详细内容见包里面的`README.md`文档。 + diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/README.md b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/README.md index eae5963..62ee1ac 100644 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/README.md +++ b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/README.md @@ -1,11 +1,17 @@ # ipa_coverage_planning -Algorithms for floor plan segmentation and systematic coverage driving patterns. +> 更新 : 林跃杭、詹力 2024/02/04 +> +> 更新日志:2024/01/31@林跃杭: 在代码中订阅小车控制服务,通过摄像头结点传输的障碍物信息,执行简单的90°的避障行为。 -If you find this software useful in your work, please cite our corresponding papers: -- R. Bormann, F. Jordan, W. Li, J. Hampp, and M. Hägele. Room Segmentation: Survey, Implementation, and Analysis. In Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), 2016. https://ieeexplore.ieee.org/abstract/document/7487234 , https://publica.fraunhofer.de/entities/publication/0bf23149-75d5-4601-bfce-992d91698862/details -- R. Bormann, F. Jordan, J. Hampp, and M. Hägele. Indoor coverage path planning: Survey, implementation, analysis. In Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), pages 1718–1725, May 2018. https://ieeexplore.ieee.org/abstract/document/8460566 , https://publica.fraunhofer.de/entities/publication/f537c15d-4cbe-4672-9d86-6e756a9ce71b/details +### 一、概述 -## ROS Distro Support +#### 1.1 代码功能 + +​ 机器人全覆盖路径规划算法,这个算法的来源仓库地址: [GitHub](https://github.com/ipa320/ipa_coverage_planning)。机器人的全覆盖算法可以用于割草机器人的草坪全覆盖,这个路径规划库在`pibot_ros`的原始仓库是没有提供的。 + +​ 全路径规划算法分为服务端和客户端,服务端可以理解为一个路径规划器,我们把地图提供给服务端,服务端给出全覆盖规划的结果。服务端有一个地图读取数据功能,如果这部分读取的修改为固定值,那么实际上是不需要客户端的。 + +#### 1.3 ROS 版本支持 | | Indigo | Jade | Kinetic | Melodic | Noetic | |:-------:|:------:|:----:|:-------:|:-------:|:-------:| @@ -13,25 +19,24 @@ If you find this software useful in your work, please cite our corresponding pap | Status | not supported | not supported | EOL | supported | supported | | Version | [version](http://repositories.ros.org/status_page/ros_indigo_default.html?q=ipa_coverage_planning) | [version](http://repositories.ros.org/status_page/ros_jade_default.html?q=ipa_coverage_planning) | [version](http://repositories.ros.org/status_page/ros_kinetic_default.html?q=ipa_coverage_planning) | [version](http://repositories.ros.org/status_page/ros_melodic_default.html?q=ipa_coverage_planning) | [version](http://repositories.ros.org/status_page/ros_noetic_default.html?q=ipa_coverage_planning) -## Travis - Continuous Integration -Status: [![Build Status](https://travis-ci.org/ipa320/ipa_coverage_planning.svg?branch=indigo_dev)](https://travis-ci.org/ipa320/ipa_coverage_planning) +## 二、快速开始 +1. 初始化机器人并启动`turtlebot3`的仿真。在使用`pibot`底盘时 -## Quick start +1. 开始房间探索行为服务端 -1. Bring up your robot or launch the turtlebot3 simulation - -1. Start the room exploration action server: - - ``` + ```shell roslaunch ipa_room_exploration room_exploration_action_server.launch ``` +​ 3.开始房间探索行为客户端 -1. Start the room exploration action client: +```shell +roslaunch ipa_room_exploration room_exploration_client.launch robot_env:=your-robot-env use_test_maps:=false +``` - ``` - roslaunch ipa_room_exploration room_exploration_client.launch robot_env:=your-robot-env use_test_maps:=false - ``` +### 三、参考文献 +- R. Bormann, F. Jordan, W. Li, J. Hampp, and M. Hägele. Room Segmentation: Survey, Implementation, and Analysis. In Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), 2016. https://ieeexplore.ieee.org/abstract/document/7487234 , https://publica.fraunhofer.de/entities/publication/0bf23149-75d5-4601-bfce-992d91698862/details +- R. Bormann, F. Jordan, J. Hampp, and M. Hägele. Indoor coverage path planning: Survey, implementation, analysis. In Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), pages 1718–1725, May 2018. https://ieeexplore.ieee.org/abstract/document/8460566 , https://publica.fraunhofer.de/entities/publication/f537c15d-4cbe-4672-9d86-6e756a9ce71b/details diff --git a/Code/MowingRobot/README.md b/Code/MowingRobot/README.md index 1a36657..61791db 100644 --- a/Code/MowingRobot/README.md +++ b/Code/MowingRobot/README.md @@ -11,21 +11,20 @@ PIBot官方资料:https://gitee.com/pibot/pibot_bringup/blob/master/doc/README > 注意:`build`文件夹是编译生成,不需要纳入git管理 -### 一、启动全覆盖 & 避障 - -#### 1.1 启动双目测距节点 +### 启动全覆盖 & 避障 ```shell -# -------------------------- 目标检测和测距节点 -------------------------------- -# 进入工作目录 -cd ~/obj_dec -# 编译 -catkin_make -# 引入环境变量 -source ./devel/setup.bash -# 启动ros核心节点 -roscore -# 运行 -rosrun rknn_yolov5_demo main +# 启动机器人和底盘通信连接 +./runBringUp.sh +# 启动目标检测和测距节点 +./runStereo.sh +# 可选: 启动UWB融合定位 +./runCarLocation.sh +# 启动全覆盖地图服务端 +./runRoomExplorationServer.sh +# 启动全覆盖地图客户端 +./runRoomExplorationClient.sh ``` + + diff --git a/Code/MowingRobot/UPbot_Script/runBringUp.sh b/Code/MowingRobot/UPbot_Script/runBringUp.sh new file mode 100644 index 0000000..7e8b3d2 --- /dev/null +++ b/Code/MowingRobot/UPbot_Script/runBringUp.sh @@ -0,0 +1,4 @@ +#!/bin/bash +cd ~/pibot_ros/ros_ws/ +source ./devel/setup.bash +roslaunch pibot_bringup bringup_with_imu.launch diff --git a/Code/MowingRobot/UPbot_Script/runCarLocation.sh b/Code/MowingRobot/UPbot_Script/runCarLocation.sh new file mode 100644 index 0000000..df3e3d8 --- /dev/null +++ b/Code/MowingRobot/UPbot_Script/runCarLocation.sh @@ -0,0 +1,4 @@ +#!/bin/bash +cd ~/project/projectCarLocation +source ./devel/setup.bash +rosrun ros_merge_test ros_merge_test_node diff --git a/Code/MowingRobot/UPbot_Script/runPDR.sh b/Code/MowingRobot/UPbot_Script/runPDR.sh new file mode 100644 index 0000000..e6ba4e6 --- /dev/null +++ b/Code/MowingRobot/UPbot_Script/runPDR.sh @@ -0,0 +1,4 @@ +#!/bin/bash +cd ~/project/projectPDR +source ./devel/setup.bash +rosrun ros_merge_test ros_merge_test_node diff --git a/Code/MowingRobot/UPbot_Script/runRoomExplorationClient.sh b/Code/MowingRobot/UPbot_Script/runRoomExplorationClient.sh new file mode 100644 index 0000000..5ff12fd --- /dev/null +++ b/Code/MowingRobot/UPbot_Script/runRoomExplorationClient.sh @@ -0,0 +1,4 @@ +#!/bin/bash +cd ~/pibot_ros/ros_ws/ +source ./devel/setup.bash +roslaunch ipa_room_exploration room_exploration_client.launch diff --git a/Code/MowingRobot/UPbot_Script/runRoomExplorationServer.sh b/Code/MowingRobot/UPbot_Script/runRoomExplorationServer.sh new file mode 100644 index 0000000..ef1b740 --- /dev/null +++ b/Code/MowingRobot/UPbot_Script/runRoomExplorationServer.sh @@ -0,0 +1,4 @@ +#!/bin/bash +cd ~/pibot_ros/ros_ws/ +source ./devel/setup.bash +roslaunch ipa_room_exploration room_exploration_action_server.launch diff --git a/Code/MowingRobot/UPbot_Script/runStereo.sh b/Code/MowingRobot/UPbot_Script/runStereo.sh new file mode 100644 index 0000000..7fa928d --- /dev/null +++ b/Code/MowingRobot/UPbot_Script/runStereo.sh @@ -0,0 +1,4 @@ +#!/bin/bash +cd ~/obj_dec/ +source ./devel/setup.bash +rosrun rknn_yolov5_demo main