# Is "/" necessary for naming frames in ROS Noetic

**URL:** <https://get-help.theconstruct.ai/t/is-necessary-for-naming-frames-in-ros-noetic/15088>\
**Category:** TF ROS 101\
**Created:** [January 30, 2022, 9:43am UTC](https://get-help.theconstruct.ai/t/is-necessary-for-naming-frames-in-ros-noetic/15088 "2022-01-30T09:43:41Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Joseph1001](https://get-help.theconstruct.ai/user_avatar/get-help.theconstruct.ai/joseph1001/32/7077_2.png) [@Joseph1001](https://get-help.theconstruct.ai/u/Joseph1001)\
**Post date:** [January 30, 2022, 9:43am UTC](https://get-help.theconstruct.ai/t/is-necessary-for-naming-frames-in-ros-noetic/15088/1 "2022-01-30T09:43:41Z")

</div>

In **ROS TF** , **Unit 3, Subscribe and Publish to TF** , program **model1\_to\_model2\_listener.py** , the goal is to listen to TF data and get one turtle to follow another turtle.

In the code, while naming the **frames** , **we add “/” before the frame name** as shown below:

```auto
follower_model_frame = "/"+follower_model_name
model_to_be_followed_frame = "/"+model_to_be_followed_name

```

I got the same result when I ran the code **without the “/”** , as shown below:

```auto
# follower_model_frame = "/"+follower_model_name
# model_to_be_followed_frame = "/"+model_to_be_followed_name

follower_model_frame = follower_model_name
model_to_be_followed_frame = model_to_be_followed_name

```

If the code works without the “/”, then why add it in the first place?

---

<div class="post-metadata">

**Author:** ![duckfrost2](https://get-help.theconstruct.ai/user_avatar/get-help.theconstruct.ai/duckfrost2/32/9365_2.png) [@duckfrost2](https://get-help.theconstruct.ai/u/duckfrost2)\
**Post date:** [February 1, 2022, 9:21am UTC](https://get-help.theconstruct.ai/t/is-necessary-for-naming-frames-in-ros-noetic/15088/2 "2022-02-01T09:21:20Z")

</div>

Hi,

Good question. So in theory the “/” in front states that you want that TF to have that name, no matter if it has a robot Namespace.

But namespaces in ROS1 are quite a buggy topic and in some systems, this works and some others doesn’t.

In the end it’s just to state that the name has to be /whatever, without the namespace

---

<div class="post-metadata">

**Author:** ![Joseph1001](https://get-help.theconstruct.ai/user_avatar/get-help.theconstruct.ai/joseph1001/32/7077_2.png) [@Joseph1001](https://get-help.theconstruct.ai/u/Joseph1001)\
**Post date:** [February 1, 2022, 9:28am UTC](https://get-help.theconstruct.ai/t/is-necessary-for-naming-frames-in-ros-noetic/15088/3 "2022-02-01T09:28:59Z")

</div>

@duckfrost2

> [@duckfrost2](#):
>
> But namespaces in ROS1 are quite a buggy topic and in some systems, this works and some others doesn’t.

When you say that its buggy in some systems, what do you mean by systems specifically? is it the Distro like Melodic or specific programs ?

---

<div class="post-metadata">

**Author:** ![duckfrost2](https://get-help.theconstruct.ai/user_avatar/get-help.theconstruct.ai/duckfrost2/32/9365_2.png) [@duckfrost2](https://get-help.theconstruct.ai/u/duckfrost2)\
**Post date:** [February 4, 2022, 8:52am UTC](https://get-help.theconstruct.ai/t/is-necessary-for-naming-frames-in-ros-noetic/15088/4 "2022-02-04T08:52:49Z")

</div>

I mean in ROS in general, some packages process correctly the namespacing and others don’t, to avoid that or at least be consistent we use this “/”.
