Coder Social home page Coder Social logo

seaun163 / cloudrobot-semantic-map Goto Github PK

View Code? Open in Web Editor NEW

This project forked from liyiying/cloudrobot-semantic-map

0.0 2.0 0.0 26 KB

Robot builds a semantic map on object level based on hybrid cloud

License: MIT License

Python 64.63% CMake 4.55% C++ 30.82%

cloudrobot-semantic-map's Introduction

cloudrobot-semantic-map

Robot can build a semantic map on object level based on a hybrid cloud(mission cloud & public cloud). The mission cloud can deal with the work specific to the robot or the robot is familiar with. If the task is beyond the robot's capability, the mission cloud will seak help from the public cloud, because the public cloud has more knowledge from the Internet and so on. For example, robot can build a semantic map of a room via recognizing the objects to realize the scene understanding. The mission cloud can recognize the objects it has been trained in advance, however, when the object is beyond its knowledge, it may transfer the object image to the public cloud, like CloudSight. This work is an implementation of robot semantic map buiding based on a hybrid cloud architecture. The object recognition engine on the mission cloud is based on Faster R-CNN and the public cloud uses the Internet open object recognition service CloudSight. This work is a fusion of the object recognition and geometry map to build the semantic map of a room. BTW, the only hybrid cloud object recognition work is also available(https://github.com/liyiying/py-faster-rcnn) and can be used in many aspects not only the semantic map.

Requirements:cloud server

The requirements is the same as Faster R-CNN requirements. (Because the clous server should run Faster R-CNN on it)

Requirements:robot

We work this based on Turtlebot robot.

How to use:

On TurtleBot:

  • Put turtlebot_follower package to your own ROS workspace(~/catkin_ws/src).Then build the package. See Building a ROS Package for details.

  • Modify gmapping_demo.launch

sudo gedit /opt/ros/indigo/share/turtlebot_navigation/launch/gmapping_demo.launch

remove codes below

<include file="$(find turtlebot_bringup)/launch/3dsensor.launch">
    <arg name="rgb_processing" value="false" />
    <arg name="depth_registration" value="false" />
    <arg name="depth_processing" value="false" />
    
    <!-- We must specify an absolute topic name because if not it will be prefixed by "$(arg camera)".
         Probably is a bug in the nodelet manager: https://github.com/ros/nodelet_core/issues/7 --> 
    <arg name="scan_topic" value="/scan" />
  </include>
  • Set ROS workspace in ~/.bashrc
sudo gedit ~/.bashrc

add this

source ~/catkin_ws/devel/setup.bash
  • Bringup Turtlebot
roslaunch turtlebot_bringup minimal.launch
  • Calculate Turtlebot's pose
cd $semantic_map_robot
python quat_to_angle_xy.py
  • Calculate the distance from Turtlebot to object points
roslaunch turtlebot_follower follower.launch
  • Build SLAM map
roslaunch turtlebot_navigation gmapping_demo.launch

the map can be seen on Turtlebot or cloud server

roslaunch turtlebot_rviz_launchers view_navigation.launch

On Cloud Server:

cd $semantic_map_cloud
rosrun image_view image_saver image:=/camera/rgb/image_raw _save_all_image:=false _filename_format:=foo.jpg __name:=image_saver
  • Calculate the object's position on the map
cd $semantic_map_cloud
python object_position4.py
  • Control Turtlebot by keyboard to build semantic map
ssh $TurtlebotName@ <Turtlebot_IP>
roslaunch turtlebot_teleop keyboard_teleop.launch

cloudrobot-semantic-map's People

Contributors

liyiying avatar

Watchers

 avatar  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.