diff --git a/Code/RK3588/Image/ROS_Using (1).png b/Code/RK3588/Image/ROS_Using (1).png deleted file mode 100644 index 9efd0fc..0000000 Binary files a/Code/RK3588/Image/ROS_Using (1).png and /dev/null differ diff --git a/Code/RK3588/Image/ROS_Using (2).png b/Code/RK3588/Image/ROS_Using (2).png deleted file mode 100644 index eb56465..0000000 Binary files a/Code/RK3588/Image/ROS_Using (2).png and /dev/null differ diff --git a/Code/RK3588/Image/ROS_Using (4).png b/Code/RK3588/Image/ROS_Using (4).png deleted file mode 100644 index 020b39e..0000000 Binary files a/Code/RK3588/Image/ROS_Using (4).png and /dev/null differ diff --git a/Code/RK3588/Image/ROS_Using (3).png b/Code/RK3588/PIBot_ROS/Image/ROS_Using (3).png similarity index 100% rename from Code/RK3588/Image/ROS_Using (3).png rename to Code/RK3588/PIBot_ROS/Image/ROS_Using (3).png diff --git a/Code/RK3588/PIBot_ROS/README.md b/Code/RK3588/PIBot_ROS/README.md index 8c58a8c..70ab732 100644 --- a/Code/RK3588/PIBot_ROS/README.md +++ b/Code/RK3588/PIBot_ROS/README.md @@ -1,31 +1,92 @@ -# PIBOT ROS Workspace v2.0 +# `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`和虚拟机需要用同个网络,远程连接[教程](http://www.autolabor.com.cn/book/ROSTutorials/di-9-zhang-ji-qi-ren-dao-822a28-shi-4f5329/92-vscodeyuan-cheng-kai-fa.html): + +1. `ip`查询方式终端: 在小车终端里输入 `ifconfig`查看小车的ip地址 +2. 将教程里步骤三内容改为: + +3. `ssh -X firefly@ip` (-X 为远程显示图形界面需要) +4. 密码为:`firefly` + +5. 连接上后选择需要打开的文件夹 + + +## 2、小车驱动编译 + +#### 2.1 驱动代码位置 + +​ `PIBot`的ROS支持包的位置在[仓库]([RobotKernal-UESTC](http://logzhan.ticp.io:30000/logzhan/RobotKernal-UESTC))中,其路径为`Code\RK3588\PIbot_ROS`中。我们解压后可以把`PIBot_ROS`移动到`~/`位置,并重新命名为`pibot_ros`(命名可以按照个人习惯),下面的教程以`pibot_ros`为例。 + +#### 2.2 3588上编译问题(主要是全覆盖部分) + +​ `PIBot_ROS/ros_ws/src/ipa_coverage_planning`(全覆盖部分的代码) -## 安装ROS ```shell -cd ~/pibot_ros/ -./pibot_install_ros.sh -source ~/.bashrc +# 进入到ROS的工作空间 +cd pibot_ros/ros_ws +# 在pibot_ros/ros_ws路径下执行catkin_make +# ~:/pibot_ros/ros_ws$ catkin_make +catkin_make ``` -## init environment -for master +#### 2.3 根据出现的报错缺少的库问题解决 + ```shell -cd ~/pibot_ros/ -./pibot_init_env.sh # select board lidar 3dsensor -source ~/.bashrc +# 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-* ``` -for salve +可参考内容: + +> [全覆盖规划算法Coverage Path Planning开源代码ipa_coverage_planning编译-CSDN博客](https://blog.csdn.net/ktigerhero3/article/details/121562049) +> +> [ROS全覆盖规划算法 Coverage Path Planning 采坑-CSDN博客](https://blog.csdn.net/weixin_42179076/article/details/121164350) + +## 3、使用说明 + +#### 3.1 导航的启动 + +​ `PIBot_ROS`的文件解压或重新命名可以按照个人习惯即可,这里以解压后命名为`pibot_ros`为例,介绍命令启动导航 + ```shell -cd ~/pibot_ros/ -./pibot_init_env.sh # select board lidar 3dsensor -source ~/.bashrc +# 进入到pibot_ros的工作空间 +cd ~/pibot_ros/ros_ws +# 配置环境变量 +source ./devel/setup.bash +# 启动导航文件 +roslaunch pibot_navigation nav.launch ``` -## run example -``` -roslaunch pibot_bringup bringup.launch -roslaunch pibot keyboard_teleop.launch +#### 3.2 更改导航地图 + +​ 根据导航需求更改导航地图,地图路径在下图左下角位置`pgm`为地图格式 `yaml`为配置文件: + +Untitled + +#### 3.3 小车控制和可视化 + +​ 小车的控制和可视化功能需要**开启两个新的终端,分别在终端输入命令**: + +```shell +# 小车的键盘控制,在任意路径执行: +pibot_control ``` -then you can control your robot +```shell +# 导航可视化,在任意路径执行: +pibot_view (需要设置从主机 记不清 后面再补充) +``` + +​ 在这上面可以在地图上给出目标点进行单点导航。 + +#### 3.4、全覆盖路径规划的使用 \ No newline at end of file diff --git a/Code/RK3588/PIBot_ROS/README_BAK.md b/Code/RK3588/PIBot_ROS/README_BAK.md new file mode 100644 index 0000000..8c58a8c --- /dev/null +++ b/Code/RK3588/PIBot_ROS/README_BAK.md @@ -0,0 +1,31 @@ +# PIBOT ROS Workspace v2.0 + +## 安装ROS +```shell +cd ~/pibot_ros/ +./pibot_install_ros.sh +source ~/.bashrc +``` + +## init environment +for master +```shell +cd ~/pibot_ros/ +./pibot_init_env.sh # select board lidar 3dsensor +source ~/.bashrc +``` + +for salve +```shell +cd ~/pibot_ros/ +./pibot_init_env.sh # select board lidar 3dsensor +source ~/.bashrc +``` + +## run example +``` +roslaunch pibot_bringup bringup.launch +roslaunch pibot keyboard_teleop.launch +``` + +then you can control your robot diff --git a/Code/RK3588/README.md b/Code/RK3588/README.md index 70ab732..62820ab 100644 --- a/Code/RK3588/README.md +++ b/Code/RK3588/README.md @@ -1,92 +1,8 @@ -# `PIBot_ROS`使用说明 +# 目录说明 -> `pibot`是银星合作时购买的小车底盘。其包含直流电机控制、里程计、IMU和上位机通讯等功能。 +1. `PIBot_ROS` : ROS小车的ROS上层支持包负责`IMU`和`ODM`等数据的读取 +2. `Robot_ROS_Driver` : 定位融合代码 -## 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`和虚拟机需要用同个网络,远程连接[教程](http://www.autolabor.com.cn/book/ROSTutorials/di-9-zhang-ji-qi-ren-dao-822a28-shi-4f5329/92-vscodeyuan-cheng-kai-fa.html): - -1. `ip`查询方式终端: 在小车终端里输入 `ifconfig`查看小车的ip地址 -2. 将教程里步骤三内容改为: - -3. `ssh -X firefly@ip` (-X 为远程显示图形界面需要) -4. 密码为:`firefly` - -5. 连接上后选择需要打开的文件夹 - - -## 2、小车驱动编译 - -#### 2.1 驱动代码位置 - -​ `PIBot`的ROS支持包的位置在[仓库]([RobotKernal-UESTC](http://logzhan.ticp.io:30000/logzhan/RobotKernal-UESTC))中,其路径为`Code\RK3588\PIbot_ROS`中。我们解压后可以把`PIBot_ROS`移动到`~/`位置,并重新命名为`pibot_ros`(命名可以按照个人习惯),下面的教程以`pibot_ros`为例。 - -#### 2.2 3588上编译问题(主要是全覆盖部分) - -​ `PIBot_ROS/ros_ws/src/ipa_coverage_planning`(全覆盖部分的代码) - -```shell -# 进入到ROS的工作空间 -cd pibot_ros/ros_ws -# 在pibot_ros/ros_ws路径下执行catkin_make -# ~:/pibot_ros/ros_ws$ catkin_make -catkin_make -``` - -#### 2.3 根据出现的报错缺少的库问题解决 - -```shell -# 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博客](https://blog.csdn.net/ktigerhero3/article/details/121562049) -> -> [ROS全覆盖规划算法 Coverage Path Planning 采坑-CSDN博客](https://blog.csdn.net/weixin_42179076/article/details/121164350) - -## 3、使用说明 - -#### 3.1 导航的启动 - -​ `PIBot_ROS`的文件解压或重新命名可以按照个人习惯即可,这里以解压后命名为`pibot_ros`为例,介绍命令启动导航 - -```shell -# 进入到pibot_ros的工作空间 -cd ~/pibot_ros/ros_ws -# 配置环境变量 -source ./devel/setup.bash -# 启动导航文件 -roslaunch pibot_navigation nav.launch -``` - -#### 3.2 更改导航地图 - -​ 根据导航需求更改导航地图,地图路径在下图左下角位置`pgm`为地图格式 `yaml`为配置文件: - -Untitled - -#### 3.3 小车控制和可视化 - -​ 小车的控制和可视化功能需要**开启两个新的终端,分别在终端输入命令**: - -```shell -# 小车的键盘控制,在任意路径执行: -pibot_control -``` - -```shell -# 导航可视化,在任意路径执行: -pibot_view (需要设置从主机 记不清 后面再补充) -``` - -​ 在这上面可以在地图上给出目标点进行单点导航。 - -#### 3.4、全覆盖路径规划的使用 \ No newline at end of file +PIBot官方资料:https://gitee.com/pibot/pibot_bringup/blob/master/doc/README.md#1-%E8%AF%B4%E6%98%8E \ No newline at end of file diff --git a/Code/RK3588/Robot_ROS_Driver/Image/main.png b/Code/RK3588/Robot_ROS_Driver/Image/main.png new file mode 100644 index 0000000..69eb482 Binary files /dev/null and b/Code/RK3588/Robot_ROS_Driver/Image/main.png differ diff --git a/Code/RK3588/Robot_ROS_Driver/README.md b/Code/RK3588/Robot_ROS_Driver/README.md index b5c4d27..8a958dc 100644 --- a/Code/RK3588/Robot_ROS_Driver/README.md +++ b/Code/RK3588/Robot_ROS_Driver/README.md @@ -1,6 +1,32 @@ -# Robot ROS Driver +# `UWB`建图指导 -1.如何编译 & 运行 +一、代码编译和运行 + +```shell +# 进入工程目录 +cd Robot_ROS_Driver +# 代码的编译 +catkin_make +# 环境变量引入 +rosrun ros_merge_test ros_merge_test_node +``` + +​ 线程在`main.cpp`中开启: + +image-20231212192507303 +​ 主要功能是 + +uwb接收 uwb_trd + +建图 map_trd + +保存定位数据 align_trd + +建图和保存数据需要哪个用哪个 + +建图:在rosrun之后 出现的图片上按q开始建图,再按一次q停止,可以再同一幅图上重复开始和暂停 + +保存数据:同样在rosrun之后出现的图片上按w开始保存 再按w停止 diff --git a/Docs/UWB建图指导.md b/Docs/UWB建图指导.md new file mode 100644 index 0000000..6905a37 --- /dev/null +++ b/Docs/UWB建图指导.md @@ -0,0 +1,2 @@ +# UWB建图指导 +