Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/MRwangmaomao/semantic_slam_nav_ros
针对带有RGBD相机的服务机器人,物流机器人等。具有:语义地图构建、定位导航、三维重构、重定位、动态物体识别、移动避障、手势识别、人脸识别、语音合成与识别等功能
https://github.com/MRwangmaomao/semantic_slam_nav_ros
Last synced: 27 days ago
JSON representation
针对带有RGBD相机的服务机器人,物流机器人等。具有:语义地图构建、定位导航、三维重构、重定位、动态物体识别、移动避障、手势识别、人脸识别、语音合成与识别等功能
- Host: GitHub
- URL: https://github.com/MRwangmaomao/semantic_slam_nav_ros
- Owner: MRwangmaomao
- Created: 2020-01-02T07:37:40.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2020-01-16T12:53:35.000Z (over 4 years ago)
- Last Synced: 2024-02-10T05:39:35.155Z (4 months ago)
- Language: C++
- Homepage:
- Size: 45.6 MB
- Stars: 384
- Watchers: 15
- Forks: 111
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
Lists
- Awesome-SLAM - orbslam_semantic_nav_ros, RGBD
- awesome-stars - MRwangmaomao/semantic_slam_nav_ros - 针对带有RGBD相机的服务机器人,物流机器人等。具有:语义地图构建、定位导航、三维重构、重定位、动态物体识别、移动避障、手势识别、人脸识别、语音合成与识别等功能 (C++)
README
# orbslam_semantic_nav_ros
> 清华大学 深圳国际研究生院
> > 先进制造学部 精密测控组Have Done:
1. 动态物体检测
2. 视觉建图与定位3. 重定位
4. 稠密点云、面元三维重建
5. 语义地图
6. 手势识别控制
7. 语音唤醒与识别控制
8. 局部避障与DWA控制
9. 语音识别与播放
TODO:
1. 添加基于二维码的全局定位误差矫正功能,该功能可以提高系统稳定性,确保项目落地2. 多个相机slam,增强系统鲁棒性
3. 二维投影地图构建,全局路径规划,智能导航与交互
4. 基于强化学习的自主探索系统
5. 待定
---
演示1:[![Watch the video](image/cover1.png)](https://www.bilibili.com/video/av81958116)
---
演示2:
[![Watch the video](image/cover2.png)](https://www.bilibili.com/video/av81398597)
---
# 安装说明
系统版本要求:
- Linux:ubuntu16
- ros:kinect
已测试硬件:
- KinectV2相机
- realsense D435,D400相机
### (1) 添加Vocabulary
在ros包的下新建Vocabulary文件夹,添加ORBvoc.txt词典。
```
mkdir Vocabulary
add ORBvoc.txt
```### (2) 安装腾讯ncnn库
```
cd Thirdparty/ncnn
mkdir build&&cd build
cmake ..
make
sudo make install
sudo cp Thirdparty/ncnn/build/install/lib/libncnn.a /usr/lib
```### (3) 其他库
vtk 5
pcl 1.7
opencv 3.4
Eigen
[pangolin](https://github.com/stevenlovegrove/Pangolin)
octomap
### (4) 安装科大讯飞语音相关库
- step1 在科大讯飞注册账户,修改setting_file.yaml中的appid参数
- step2 安装相关库
```
sudo apt-get install libasound2-dev #asound库
sudo apt-get install mplayer #mplayer工具
```
- step3 在科大讯飞官网下载SDK,在fileroot/libs/x64中将libmsc.so文件复制到/usr/local/lib中### (5) 安装百度aip相关库
```
sudo apt-get install ros-kinetic-image-view
sudo apt-get install libjsoncpp-dev
sudo apt-get install openssl
sudo apt-get install curl
```修改setting_file.yaml中的中的百度appid,AK,SK
### (6) 开始下载源码进行编译
```
mkdir -p catkin_ws/src
git clone [email protected]:MRwangmaomao/semantic_slam_nav_ros.git
cd ..
catkin_make
```### (7) 修改config文件夹下的setting.yaml文件和对应的相机的配置文件、DWA配置文件
[配置文件说明](config/README.md)
修改所有的rospackage_path参数,设置为自己对应存储的路径。
修改color_img_topic和depth_img_topic
### (8) 相关公开数据集下载
[OpenLORIS-Scene Dataset](https://lifelong-robotic-vision.github.io/dataset/scene)
# 动态环境的ORBSLAM
![merge-map](image/dynamic_pic2.png)![point_feature](image/pointfeature1.png)
# 语义地图
```
roslaunch slam_semantic_nav_ros ORB_Semantic_Nav.launch
```
![merge-map](image/ssd_map1.png)![ssd_detect](image/ssd_detect1.png)
# 三维重构
![三维重构](image/3d_restructure1.png)# 代价地图与导航
![costmap](image/costmap1.png)# 语音对话
```
roslaunch slam_semantic_nav_ros gesture_speak.launch
```# 手势识别
![手势1](image/gesture1.png) ![手势2](image/gesture2.png)
Five手势: 空闲状态,可以由其他节点发送/cmd_vel速度指令进行控制
Ok手势: 前进,只受手势控制,需要手势解锁
Fist手势: 停止状态,只受手势控制,需要手势解锁
```
roslaunch slam_semantic_nav_ros gesture_speak.launch
```# 参考
[ORBSLAM](https://github.com/raulmur/ORB_SLAM2)
[ORB_SLAM2_SSD_Semantic](https://github.com/Ewenwan/ORB_SLAM2_SSD_Semantic)
[百度AI开放平台](https://ai.baidu.com/)
[科大讯飞语音](https://www.xfyun.cn/)