ros2 / ros2/geometry2

Coordinate Frames "Pushing Down" with transforms

Open
#308 0 comments 0 reactions 1 assignee View on GitHub

@tfoote is already working on this.

Since Feb 6, 2019.

Dominant language
C++
Stars
153
Forks
256
Avg merge
3d 23h
Merged PRs (30d)
14

Description

Feature request

  • transforms function the same way as namespaces, allowing for pushing down of frame_ids
  • loading in static_tf_params from a yaml file not directly from a launch file
Feature description

With ROS 1.0 namespaces you could "push down" different nodes into unique namespaces so that you could have multiple of the same-named nodes in different namespaces (i.e. /left_arm/hand, /right_arm/hand).

This concept is addressed in the tf2/CommonQuestions page however I don't necessarily agree with the argument here.

When creating a static transform structure for robot A, and you want to create another instance of that same robot but call it robot B - with the current naming structure you are required to rename every single coordinate frame and make it unique instead of just changing the name to robot_B. Why cant we use by default the same structure of pushing down like we do with namespaces?

Also, if we could add a feature to static_tf_params.cpp to load in the xyzrpy values from a yaml it would help a lot too I think. I've had a modified version of static_tf_params.cpp for the last year and it has helped standardize my tf structure and launch files - allowing me to use the same launch file for many different robots.

Implementation considerations
  • follow the same structure as ros namespaces, just for the frame_id by default use the full namespace name
  • add in functionality to static_tf_params.cpp file to load in the xyzrpy values from the parameter server....letting users load in a yaml file at launch to the parameter server using rosparam load

┆Issue is synchronized with this Asana task

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.