Coder Social home page Coder Social logo

mrwangmaomao / semantic_slam_nav_ros Goto Github PK

View Code? Open in Web Editor NEW
407.0 15.0 116.0 46.72 MB

针对带有RGBD相机的服务机器人,物流机器人等。具有:语义地图构建、定位导航、三维重构、重定位、动态物体识别、移动避障、手势识别、人脸识别、语音合成与识别等功能

CMake 0.47% C++ 91.69% C 7.37% Python 0.47%

semantic_slam_nav_ros's Introduction

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


演示2:

Watch the video


安装说明

系统版本要求:

  • 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

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配置文件

配置文件说明

修改所有的rospackage_path参数,设置为自己对应存储的路径。

修改color_img_topic和depth_img_topic

(8) 相关公开数据集下载

OpenLORIS-Scene Dataset

动态环境的ORBSLAM

merge-map

point_feature

语义地图

roslaunch slam_semantic_nav_ros ORB_Semantic_Nav.launch

merge-map

ssd_detect

三维重构

三维重构

代价地图与导航

costmap

语音对话

roslaunch slam_semantic_nav_ros gesture_speak.launch 

手势识别

手势1 手势2

Five手势: 空闲状态,可以由其他节点发送/cmd_vel速度指令进行控制

Ok手势: 前进,只受手势控制,需要手势解锁

Fist手势: 停止状态,只受手势控制,需要手势解锁

roslaunch slam_semantic_nav_ros gesture_speak.launch

参考

ORBSLAM

ORB_SLAM2_SSD_Semantic

百度AI开放平台

科大讯飞语音

semantic_slam_nav_ros's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

semantic_slam_nav_ros's Issues

请问如何运行数据集啊?

您好,我对您的工作很感兴趣,可是身边并没有传感器,请问都可与用什么数据集进行测试?修改哪个文件来配置?

运行错误

大佬,我编译没有错误,但是运行的时候会报kinect_node的内存错误,请问一下,这是为什么呢
我把重建和语音部分都注释掉了 这会有影响吗?
这是我的错误和截图
载入模型参数: /home/ian/catkin_ws/src/semantic_slam_nav_ros/Thirdparty/ncnn/model/mobilenetv2_ssdlite_voc.param
*** Error in `/home/ian/catkin_ws/devel/lib/slam_semantic_nav_ros/kinect_camera_node': malloc(): memory corruption: 0x0000000010dfb380 ***

1

关于surfel mapping

大神,你好。请问这个项目里的surfel mapping除了三微重建可视化,还有啥其他用途么?

地图保存

你好,有个疑问希望解答一下。 :)

我看map.cc的代码里save()并没有保存KeyFrameDataBase里的数据。
想问一下没有这个数据,在后续加载完地图后,是如何进行重定位的?

动态物体检测

大佬!
请问您的动态物体检测方法是什么啊?如何运行呢?

运行时出错

您好,当我使用您的office1-1,和market数据集时,运行roslaunch slam_semantic_nav_ros ORB_Semantic_Nav.launch。出现了以下情况,导致运行中断,请问这是什么原因。
2020-03-14 09-30-21屏幕截图

不能显示检测目标边框

您好,无使用TUM数据集运行您的程序时,别的可以正常的显示,但是我在 pangolin 中点击 show object 不能显示检测物体的边框是什么原因呢?而且在终端中一直显示 :find_blob_index_by_name detection_out failed
find_blob_index_by_name data failed
谢谢

src/Node.cc line:122

while (orb_slam_->LocalMappingStopped()) { void(); }中,
请问 void(); 是什么含义,语法是怎样的?感谢

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.