Giter Club home page Giter Club logo

patbot_self_driving's Introduction

PatrolBot Self Driving main repository.

Autonomous driving for map making of a clutter environments is a complex task due to the robot has to deal with precise measurements of the environment, in other words the robot must have a good field of view of the environment in turn. We mainly present the functioning and description of the ROS package called patbotsd that has to do with the navigation of a PatrolBot in the empty area of a indoor environment while making a 2D map by means of a laser hokuyo and a 3D depth asus sensors.

Package description:

  • patbotsd_slam_gmapping.launch a launch file that runs the gmapping package which in turn launches the laser based on SLAM package that creates a 2D occupancy grid map, [1].
  • patbotsd_asus.launch, a launch file that launches the openni.launch file that runs the asus driver. Also, it launches the pointcloud_to_laserscan file that converts the point_cloud asus readings to laserscan data, [2,3].
  • rosaria, a package that runs the RosAria node that provides a ROS interface for PatrolBot, [4].
  • hokuyo_node, a package that runs the hokuyo_node that provides a ROS interface for the hokuyo laser sensor, [5].
  • patbotsd, a package that runs the following nodes:
    • patbotsd_filter_hokuyo node that has to do with the filtering off some laser readings that are produced by some obstacles in the robot.
    • patbotsd_laser_asus node that has to do with the combination of 2D laser and 2D depth asus readings.
    • patbotsd_map_maker_laser_asus_rotation node that has to do with the self driving of the PatBot in the empty space of the indoor environment while making a 2D map based on the laser and the camera/depth/points readings.
    • patbotsd_map_maker_laser_asus_directions node that has to do also with the safe driving of the robot on the empty space of the area.
    • patbotsd_map_maker_laser_asus_range_cones node that has to do also with the safe driving of the robot on the empty space of the area.
    • patbotsd_asus_groundfloor_remove node that has to do with the removing of the ground_floor of the 3D "/camera/depth/points" PointCloud2 asus topic.

Functionality

The system operates in two different modes:

Mode 1: The main idea is to let the PatrolBot to navigate forward till an obstacle boundary is reached, then the mobile robot (MR) turns to the left with a small angle till it finds space to move forward. It keeps rotating and moving forward till a full rotation takes place. After that, it starts turning to the right and moving forward till a full rotation also takes place. This process repeats constantly and by doing so, the MR covers all the empty space of the area. The mode 1 can be launched by the file roslaunch patbotsd patbotsd_navigation.launch. This mode is suitable for a open area where the robot can move freely in the middle.

IMAGE ALT TEXT HERE

Mode 2: The main idea is to place range cones along the range laser which scans the front part of the robot by 180 degrees. To this end, a total of 5 range cones were placed and distributed in front of the robot. Then the aim is to find whether they are empty to allow the robot to navigate. The mode 2 is launched by the file roslaunch patbotsd patbotsd_directions_navigation.launch. This mode was tested in a bit cluttered corridor and with some people around.

IMAGE ALT TEXT HERE

The mode 2 was modified by adding two more range cones along the range laser making a total of 7 ones. The source code can be found in the node patbotsd_map_maker_laser_asus_range_cones. IMAGE ALT TEXT HERE

In order to extend the functionality of the application, a mapping bagpack solution was mounted on the robot. This solution is able to make a 3D map of the environment by means of two Lidars which are placed on the top with a certain inclination to cover the whole area. For more information about the 3D bagpack refer to GitHub Pages.

IMAGE ALT TEXT HERE

Instalation instructions:

Run simulation:

  • roslaunch patbotsd patbotsd_navigation.launch
  • roslaunch patbotsd patbotsd_directions_navigation.launch

Bibliogrhapy

[1] ROS. gmapping. [Online]. Available: http://wiki.ros.org/gmapping.

[2] ——. openni launch. [Online]. Available: http://wiki.ros.org/openni_launch.

[3] ——. pointcloud to laserscan. [Online]. Available: http://wiki.ros.org/pointcloud_to_laserscan.

[4] ——. RosAria node. [Online]. Available: http://wiki.ros.org/ROSARIA.

[5] ——. hokuyo node. [Online]. Available: http://wiki.ros.org/hokuyo_node.

patbot_self_driving's People

Contributors

acpl00 avatar zdenekm avatar

Watchers

James Cloos avatar Michal Spanel avatar  avatar  avatar

Forkers

acpl00

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.