Git Product home page Git Product logo

cob_navigation's Issues

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

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

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!

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.

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.