# Twist\_mux / teleop\_tools porting to ROS2

**URL:** <https://discourse.openrobotics.org/t/twist-mux-teleop-tools-porting-to-ros2/9448>\
**Category:** ROS General\
**Tags:** ros2\
**Created:** [June 7, 2019, 12:23pm UTC](https://discourse.openrobotics.org/t/twist-mux-teleop-tools-porting-to-ros2/9448 "2019-06-07T12:23:50Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jeremie](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/jeremie/32/1094_2.png) [@Jeremie](https://discourse.openrobotics.org/u/Jeremie)\
**Post date:** [June 7, 2019, 12:23pm UTC](https://discourse.openrobotics.org/t/twist-mux-teleop-tools-porting-to-ros2/9448/1 "2019-06-07T12:23:50Z")

</div>

Hi all,  
is anyone working on porting [twist\_mux](https://github.com/ros-teleop/twist_mux) and/or [teleop\_tools](https://github.com/ros-teleop/teleop_tools) to ROS2 ???  
That’s something I am willing to give a shot at as a ROS2 exercise.

Cheers.

---

<div class="post-metadata">

**Author:** ![Jeremie](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/jeremie/32/1094_2.png) [@Jeremie](https://discourse.openrobotics.org/u/Jeremie)\
**Post date:** [June 10, 2019, 1:50pm UTC](https://discourse.openrobotics.org/t/twist-mux-teleop-tools-porting-to-ros2/9448/2 "2019-06-10T13:50:44Z")

</div>

Posted this question on [twist\_mux repo](https://github.com/ros-teleop/twist_mux/issues/14) as well.

---

<div class="post-metadata">

**Author:** ![NickFragale](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/nickfragale/32/3923_2.png) [@NickFragale](https://discourse.openrobotics.org/u/NickFragale)\
**Post date:** [June 24, 2019, 3:37pm UTC](https://discourse.openrobotics.org/t/twist-mux-teleop-tools-porting-to-ros2/9448/3 "2019-06-24T15:37:34Z")

</div>

@Jeremie, We are interested in working on this with you. From our experience there are a few different teleop stacks out there that do basically the same thing. It would be nice to have one standard one in ROS2

---

<div class="post-metadata">

**Author:** ![Jeremie](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/jeremie/32/1094_2.png) [@Jeremie](https://discourse.openrobotics.org/u/Jeremie)\
**Post date:** [June 25, 2019, 12:51pm UTC](https://discourse.openrobotics.org/t/twist-mux-teleop-tools-porting-to-ros2/9448/4 "2019-06-25T12:51:07Z")

</div>

@NickFragale, that’s great. I have started porting `twist_mux` and was planning on getting started with `teleop_tools` during this week. How would you like to proceed ? I’d propose to open a draft PR on github to which we would push as we go.

---

<div class="post-metadata">

**Author:** ![Jeremie](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/jeremie/32/1094_2.png) [@Jeremie](https://discourse.openrobotics.org/u/Jeremie)\
**Post date:** [June 25, 2019, 1:18pm UTC](https://discourse.openrobotics.org/t/twist-mux-teleop-tools-porting-to-ros2/9448/5 "2019-06-25T13:18:26Z")

</div>

In the meantime I opened a ticket to [teleop\_tools](https://github.com/ros-teleop/teleop_tools/issues/34).

---

<div class="post-metadata">

**Author:** ![NickFragale](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/nickfragale/32/3923_2.png) [@NickFragale](https://discourse.openrobotics.org/u/NickFragale)\
**Post date:** [June 25, 2019, 3:06pm UTC](https://discourse.openrobotics.org/t/twist-mux-teleop-tools-porting-to-ros2/9448/6 "2019-06-25T15:06:15Z")

</div>

Lets move communication over to Slack. We can keep posting updates and general info here like the github repo url.

---

<div class="post-metadata">

**Author:** ![Jeremie](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/jeremie/32/1094_2.png) [@Jeremie](https://discourse.openrobotics.org/u/Jeremie)\
**Post date:** [September 3, 2019, 3:52pm UTC](https://discourse.openrobotics.org/t/twist-mux-teleop-tools-porting-to-ros2/9448/7 "2019-09-03T15:52:38Z")

</div>

All,

I’m glad to announce that [teleop\_tools](https://github.com/ros-teleop/teleop_tools/tree/dashing-devel) now has a ROS 2 Dashing [port](https://github.com/ros-teleop/teleop_tools/pull/35)!  
We’re looking forward for feedback and (hopefully not so many) tickets on github.

Cheers.

---

<div class="post-metadata">

**Author:** ![MartinCornelis](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/martincornelis/32/5069_2.png) [@MartinCornelis](https://discourse.openrobotics.org/u/MartinCornelis)\
**Post date:** [September 4, 2019, 2:11pm UTC](https://discourse.openrobotics.org/t/twist-mux-teleop-tools-porting-to-ros2/9448/8 "2019-09-04T14:11:36Z")

</div>

Thanks for the effort everyone that was involved! We’ll probably be using this soon.

---

<div class="post-metadata">

**Author:** ![Jeremie](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/jeremie/32/1094_2.png) [@Jeremie](https://discourse.openrobotics.org/u/Jeremie)\
**Post date:** [September 16, 2019, 8:12am UTC](https://discourse.openrobotics.org/t/twist-mux-teleop-tools-porting-to-ros2/9448/9 "2019-09-16T08:12:54Z")

</div>

teleop\_tools was released but it’s installation is failing (joy/key\_teleop from ros-testing). While we’re fixing it, what’s the proper channel to make sure it is not moved from testing to main (@dirk-thomas) ?

---

<div class="post-metadata">

**Author:** ![tfoote](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/tfoote/32/3813_2.png) [@tfoote](https://discourse.openrobotics.org/u/tfoote)\
**Post date:** [September 16, 2019, 6:13pm UTC](https://discourse.openrobotics.org/t/twist-mux-teleop-tools-porting-to-ros2/9448/10 "2019-09-16T18:13:27Z")

</div>

If there’s an issue with something the most important part is to ticket it upstream which I see is already done: [installing package from ros-testing broken · Issue #37 · ros-teleop/teleop\_tools · GitHub](https://github.com/ros-teleop/teleop_tools/issues/37)

If there’s something that the release manager should be monitoring you can start a thread in the appropriate subcategory here: [http://discourse.ros.org/c/release](http://discourse.ros.org/c/release) There will be a thread made as we prepare for the release that you can reply to. But you can also preemptively start a thread there too so that the release manager can know it’s an issue before beginning to prepare for the sync.

FYI @nuclearsandwich As dashing release manager expect a thread on this soon.

---

<div class="post-metadata">

**Author:** ![BrightenLee](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/brightenlee/32/2951_2.png) [@BrightenLee](https://discourse.openrobotics.org/u/BrightenLee)\
**Post date:** [March 14, 2020, 8:44am UTC](https://discourse.openrobotics.org/t/twist-mux-teleop-tools-porting-to-ros2/9448/11 "2020-03-14T08:44:44Z")

</div>

Hi @Jeremie, I’m interested in twist\_mux package.  
So I wonder how it’s going.

---

<div class="post-metadata">

**Author:** ![Jeremie](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/jeremie/32/1094_2.png) [@Jeremie](https://discourse.openrobotics.org/u/Jeremie)\
**Post date:** [March 16, 2020, 1:07pm UTC](https://discourse.openrobotics.org/t/twist-mux-teleop-tools-porting-to-ros2/9448/12 "2020-03-16T13:07:59Z")

</div>

Hi @BrightenLee,  
unfortunately I never quite finish porting `twist_mux` to ROS 2. It wasn’t quite the fit I was expecting for my particular project at that time… I have seen that you already [resumed that work from my fork](https://github.com/brightenlee/twist_mux/tree/dashing-devel), I won’t be able to dedicate much time to it currently but let me know if I can help 👍.

---

<div class="post-metadata">

**Author:** ![BrightenLee](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/brightenlee/32/2951_2.png) [@BrightenLee](https://discourse.openrobotics.org/u/BrightenLee)\
**Post date:** [March 16, 2020, 1:32pm UTC](https://discourse.openrobotics.org/t/twist-mux-teleop-tools-porting-to-ros2/9448/13 "2020-03-16T13:32:54Z")

</div>

@Jeremie My work was not difficult because you’ve already port most of it.  
I finished porting, and testing it with a real robot. 😄

---

<div class="post-metadata">

**Author:** ![Jeremie](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/jeremie/32/1094_2.png) [@Jeremie](https://discourse.openrobotics.org/u/Jeremie)\
**Post date:** [March 16, 2020, 2:14pm UTC](https://discourse.openrobotics.org/t/twist-mux-teleop-tools-porting-to-ros2/9448/14 "2020-03-16T14:14:18Z")

</div>

I’m glad to see that you got it working on your robot!  
Feel free to open a PR to the [upstream dashing branch](https://github.com/ros-teleop/twist_mux/tree/dashing-devel) 😉

---

<div class="post-metadata">

**Author:** ![Mario\_R](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/mario_r/32/6338_2.png) [@Mario\_R](https://discourse.openrobotics.org/u/Mario_R)\
**Post date:** [May 6, 2020, 9:54am UTC](https://discourse.openrobotics.org/t/twist-mux-teleop-tools-porting-to-ros2/9448/15 "2020-05-06T09:54:15Z")

</div>

Hello do you have twist\_mux migrated to ROS2 eloquent?  
Kind regards

---

<div class="post-metadata">

**Author:** ![Jeremie](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/jeremie/32/1094_2.png) [@Jeremie](https://discourse.openrobotics.org/u/Jeremie)\
**Post date:** [May 6, 2020, 1:29pm UTC](https://discourse.openrobotics.org/t/twist-mux-teleop-tools-porting-to-ros2/9448/16 "2020-05-06T13:29:48Z")

</div>

Hi @Mario_R,  
there is an open [pull request upstream](https://github.com/ros-teleop/twist_mux/pull/18) but it targets Dashing. I did not try to compile it for Eloquent tho.

---

<div class="post-metadata">

**Author:** ![chrisl8](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/chrisl8/32/208_2.png) [@chrisl8](https://discourse.openrobotics.org/u/chrisl8)\
**Post date:** [August 3, 2020, 2:08pm UTC](https://discourse.openrobotics.org/t/twist-mux-teleop-tools-porting-to-ros2/9448/17 "2020-08-03T14:08:37Z")

</div>

Every time I migrate to a new ROS version, I have had to switch to a new mux package.

Is this the one that will exist in Noetic **and** Foxy?!
