Git Product home page Git Product logo

cob_navigation's Introduction

cob_navigation

ROS Distro Support

Indigo Jade Kinetic
Branch indigo_dev indigo_dev indigo_dev
Status supported not supported supported
Version version version version

Travis - Continuous Integration

Status: Build Status

ROS Buildfarm

Indigo Source Indigo Debian Jade Source Jade Debian Kinetic Source Kinetic Debian
cob_navigation not released not released not released not released not released not released

The cob_navigation repository provides configuration and launch files for running the navigation stack on the Fraunhofer IPA robots Care-O-bot and rob@work in a number of common configurations. For example, the cob_navigation_local package holds files that configure the move_base node to operate in an odometric frame, and the ’cob_mapping_slam’ package holds files that configure the robot for SLAM. These configuration files are intended for use as building blocks for applications that wish to use autonomous navigation as a component.

The naming of the packages as well as the documentation is kept close to the one of pr2_navigation for ease of use for experienced ROS users. However, changes are made to suit our needs.

For more information, check out the ROS Wiki page

cob_navigation's People

Contributors

aravindadp avatar benmaidel avatar destogl avatar floweisshardt avatar fmessmer avatar fmessmer0711 avatar hannesbachter avatar ipa-cpc avatar ipa-fez avatar ipa-flg avatar ipa-flg-pb avatar ipa-foj avatar ipa-josh avatar ipa-jsf avatar ipa-nhg avatar ipa-raw3-3 avatar ipa-raw3-4 avatar ipa-rmb avatar ipa-svn avatar ipa-taj avatar ipr-sr2 avatar kettj avatar lucalattanzi avatar markselias avatar mgruhler avatar simonebner avatar squirrel-ci avatar supo-agentti avatar uh-klk avatar uh-reza avatar

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

Watchers

 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

cob_navigation's Issues

Fixed velocity thresholds in cob_linear_nav NodeClass::notMovingDueToObstacle()

cob_linear_nav uses hardcoded and tight velocity tolerances in detecting not moving due to obstacle.

https://github.com/ipa320/cob_navigation/blob/indigo_dev/cob_linear_nav/src/cob_linear_nav.cpp#L475

While it may not be intended for using outside cob family of robots, I have been successfully using this package as a generic package on different other robots. However above fixed and tight velocity tolerances causes problems where robot's odometer have inherent noise (e.g. Visual/Inertial only odometer)

I suggest setting above tolerance based on a ros param value (or two in case linear and angular thresholds need to be different) I'm glad to provide a PR if it is a welcome enhancement.

Hardcoded frame name base_footprint in odometryCB function

cob_linear_nav uses hardcoded robot specific tf frame in following locations.

https://github.com/ipa320/cob_navigation/blob/indigo_dev/cob_linear_nav/src/cob_linear_nav.cpp#L284

https://github.com/ipa320/cob_navigation/blob/indigo_dev/cob_linear_nav/src/cob_linear_nav.cpp#L293

This prevents from using this package in a multi robot environment. Following is my current tf tree. There could be multiples of such tree with different tf prefix (scout_1_tf, scout_2_tf etc) All ultimately connected by either static transform between /odom frames or through a parent map frame (world fixed). (On other hand why we need transforming odom vector to robot relative tf frame? Can't we just use raw value of odom without transforming?)

frames.pdf

Probably I might have setup all these in incorrect way or misunderstanding on how to use this package. But I believe if above two lines used a configurable value through rosparams I could get it to work. (Or robot_twist_linear_robot_ and robot_twist_angular_robot_ were simply assigned from odometry->twist.twist without any transform)

Thanks for your time

Obstacle layer and Inflated obstacle layer

Do we publish the obstacle information to the obstacle layer and the inflated obstacle layer during cob_navigation_slam? I saw the blue and red obstacles at http://wiki.ros.org/cob_tutorials/Tutorials/Navigation%20%28slam%29.

But I cannot see any of them with my robot - raw3-6. I tried to check rostopic info /move_base/local_costmap/obstacles and rostopic info /move_base/local_costmap/inflated_obstacles while I am doing https://github.com/ipa320/cob_navigation/blob/indigo_dev/cob_navigation_slam/launch/2dnav_ros_dwa.launch. But the publishers are None.

Does this have anything to do with

- {name: obstacle_layer, type: "costmap_2d::VoxelLayer"}
? I am using raw3-6 which doesn't have voxel layer.

Thank you!

review costmap settings

Due to PR #66 some misconfigured costmap settings has been identified.
This will, however, be tackled in a seperate PR and should contain:

  • Parameter map_type is outdated, needs to be removed. Is now configured in the plugins parameter via the ObstacleLayer or VoxelLayer. Maybe we need to change how/where this is configured...
  • Adapt parameter for costmap scaling: inscribed_radius <= circumscribed_radius <= inflation_radius && cost_scaling_factor
  • Check publish_voxel_map: this should only be true if we use a VoxelLayer
  • Should we comment out the Voxel parameters if we don't use a VoxelLayer or configure them correctly for each robot?

@fmessmer FYI

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.