Code Monkey home page Code Monkey logo

zhangfaquan / blind-guiding-mobile-robot-project-based-on-pioneer3-dx Goto Github PK

View Code? Open in Web Editor NEW

This project forked from donaldmyshen/blind-guiding-mobile-robot-project-based-on-pioneer3-dx

0.0 0.0 0.0 128.14 MB

It's the senior design project I did in University of Detroit Mercy from 2017 to 2018, based on Pioneer3-DX robot platform with Kinect2, Hokuyo. This project conclude some open-spurce algorithm I found in github contains SLAM-gmapping, pocketsphinx and so on. Thanks for the providers! The robot contain basic mapping and navigation functions, with addtional model in simulation software, voice control and voie feedback, set tarket with coordinate and so on. Finally, thanks for my teamates, Hao Lan, Yuchen Luo, Diwen Miao and Wuxin Shen. I roughly upload the whole workspace and I think you will be clear with how it work if you are already familar with ROS. And if not, maybe it is a good idea for you to check the catkin_ws/src/hunter/lacunh first. And I will add more description in README. I know it is not so clear, if youn need help ,feel free to contact with me, my email is [email protected]!

CMake 21.42% C 0.60% C++ 10.94% Makefile 57.26% Python 5.48% Shell 0.15% Common Lisp 2.82% Rich Text Format 1.33%

blind-guiding-mobile-robot-project-based-on-pioneer3-dx's Introduction

Blind-Guiding-Mobile-Robot-Project-based-on-Pioneer3-DX

It's the research project I did in University of Detroit Mercy from 2017 to 2018, based on Pioneer3-DX robot platform with Kinect2, Hokuyo. This project conclude some open-spurce algorithm I found in github contains SLAM-gmapping, pocketsphinx and so on. Thanks for the providers!(I will try to find the source and add the link.) The robot contain basic mapping and navigation functions, with addtional model in simulation software, voice control and voie feedback, set tarket with coordinate and so on. Finally, thanks for my teamates, Hao Lan, Yuchen Luo, Diwen Miao and Wuxin Shen. The memory with you I spent on this project is the best period of time of my undergraduate life.

I roughly upload the whole workspace and I think you will be clear with how it work if you are already familar with ROS. And if not, maybe it is a good idea for you to check the catkin_ws/src/hunter/lacunh first. And I will add more description in README later. I know it is not so clear, if youn need help ,feel free to contact with me, my email is [email protected]!

You can go to catkin_ws/src/hunter/launch find most of the idea of my project.

a. Basic requirement packages and nodes: 1. ROS aria, is a interface to build the connection with the wheel of the robot. It's the most bisic node. http://wiki.ros.org/ROSARIA
2. urg_node(with urg_c), the interface required for connecting the lidar, Hokuyo to your robot. When you finish downloading the urg_node and try to compile it, you may find that you still lack something and that's why you need urg_c. http://wiki.ros.org/urg_node http://wiki.ros.org/urg_c
3.telelop twist keyboard, is a node that allow you use the keyboard to control the robot moving. It will need ROS aria node installed. It will be used when you hope to test the robot basical moving and mapping in the future. http://wiki.ros.org/teleop_twist_keyboard
Additional 1: pioneer model: It's a node that add a pioneer3-dx robot model to RVIZ when your simulation. It will help a lot when you test and make the simulation more interesting. See my launch file in the hunter document.

b. key packages: mapping and navigation
1. SLAM_Gmapping: most popular open source mapping package, there are a lot of source you can find on internet.
2. P3dx_navigation https://github.com/DavidHan008/p3dx_navigation
3. Hunter_navigation_goals: Set the target by coordinate, you can change the frame to choose the local coordinate or global coordinate.

c. Featured function:
1. Audio control 2. Audio feedback 3. Skeleton tracker Waiting.

Part of the implementation command:

All the command need to be run in the workspace, our workspace is:

$~/catkin_ws 

And you’d better run the following command before use run the ros nodes or packages:

$. devel/setup.bash 

Gmapping:

$ roslaunch hunter Hunter_gmapping.launch 
$ roslaunch hunter Hunter_gmapping_rviz.launch  

Save the map:

$ rosrun map_server map_server –f  <name> 

Keyboard Control:

$ rosrun teleop_twist_keyboard teleop_twist_keyboard.py 

Voice Control:

$ roslaunch hunter_navigatino_goal voice_cmd.launch 

Navigation:

$ roslaunch hunter Hunter_navigation.launch 
$ roslaunch hunter Hunter_navigation_rviz.launch  

Reset localization:

$ rosservice call /global_localization 

Send goal Directly send goal:

$ roslaunch hunter_navigation_goals Hunter_navigation_goals.launch 

Send goal by voice control:

$ roslaunch hunter_navigation_goals SendGoal.launch 

Voice feedback

$ roslaunch ‘/home/hunter/catkin_ws/src/pioneer3at_ETSIDI/pioneer_utils/voice_audio/launch/voice_cmd.launch 

Check output:

$ rostopic echo recognizer/output 

Voice recognize

$ rosrun pocketsphinx recognizer.py 

Kinect test

$ cd catkin_ws/src/libfreenect2/build/bin         
$ . Pronect 

Skeleton tracker

$ cd NiTE-Linux-x64-2.2/Samples/Bin 
$ . UserViewer

blind-guiding-mobile-robot-project-based-on-pioneer3-dx's People

Contributors

donaldmyshen avatar

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.