# Stretch2 - Gazebo + MoveIt?

**URL:** <https://forum.hello-robot.com/t/stretch2-gazebo-moveit/787>\
**Category:** Ask\
**Created:** [August 18, 2023, 4:04pm UTC](https://forum.hello-robot.com/t/stretch2-gazebo-moveit/787 "2023-08-18T16:04:43Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![ebeowulf](https://avatars.discourse-cdn.com/v4/letter/e/96bed5/32.png) [@ebeowulf](https://forum.hello-robot.com/u/ebeowulf)\
**Post date:** [August 18, 2023, 4:04pm UTC](https://forum.hello-robot.com/t/stretch2-gazebo-moveit/787/1 "2023-08-18T16:04:43Z")

</div>

We recently got the stretch 2. I’d like students to develop solutions in simulation before trying to port to the real robot. But it looks like moveit support for Ros1 has been discontinued (stretch\_moveit\_config removed from the repo, and no support for the real robot). We would switch to Ros2, but it also looks like Gazebo support for Ros2 is also non-functional. Can anyone recommend a reasonable workaround to support initial simulation development before porting to the hardware? We are starting fresh, so if there is an alternate simulator or manipulation package that we can use, that would be ok - so long as the simulator is close to real performance.

---

<div class="post-metadata">

**Author:** ![roboor](https://avatars.discourse-cdn.com/v4/letter/r/3bc359/32.png) [@roboor](https://forum.hello-robot.com/u/roboor)\
**Post date:** [September 6, 2023, 8:18am UTC](https://forum.hello-robot.com/t/stretch2-gazebo-moveit/787/2 "2023-09-06T08:18:17Z")

</div>

Hi Ebeowulf,

Welcome to the forum!

I am also interested in your described problem. I hope we get a follow-up from the developers soon!

---

<div class="post-metadata">

**Author:** ![bshah](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.hello-robot.com/bshah/32/55_2.png) [@bshah](https://forum.hello-robot.com/u/bshah)\
**Post date:** [September 6, 2023, 1:45pm UTC](https://forum.hello-robot.com/t/stretch2-gazebo-moveit/787/3 "2023-09-06T13:45:33Z")

</div>

Hi @roboor, thanks for following up here. @ebeowulf and I chatted over video call about his question, and I’ll try to summarize our conversation here. To the question about Stretch simulators, there are a few available:

- Hello Robot maintains a Gazebo Classic simulation of Stretch [in this ROS 1 package](https://github.com/hello-robot/stretch_ros/tree/noetic/stretch_gazebo). The experience of interfacing with Gazebo’s Stretch is different than with a real Stretch. There’s a few reasons for this, including difference in drivers and simulation quirks, but the result is that the ROS API is different and the behavior of the simulated Stretch doesn’t perfectly match a real Stretch. Despite this, this simulation is certainly a good way to get started, and @ebeowulf plans to use this option.
- There’s a fork of the Stretch Gazebo package that does better match the APIs and behavior of a real Stretch. To achieve this, I believe they had to create Gazebo Classic plugins to better emulate the real robot. The fork is [available here](https://github.com/hcrlab/hcrl_gazebo), however, I’m not sure if it is still supported.
- One of the earliest simulations that included Stretch was called [assistive-gym](https://github.com/Healthcare-Robotics/assistive-gym). It uses the Pybullet simulator under the hood, and I believe it focused on simulating and training reinforcement learning models for robotic care-giving tasks.
- One of the most recent simulations (released yesterday!) of Stretch is part of the [Mujoco Menagerie](https://github.com/deepmind/mujoco_menagerie/tree/main/hello_robot_stretch), which is a collection of high quality robot models for the Mujoco simulator. I believe their simulation of Stretch has one of the closest models to how the real gripper opens & closes.
- HomeRobot, which is a high level API for deep learning research, includes a simulation of Stretch that is used to train RL policies for [open vocabulary mobile manipulation](https://aihabitat.org/challenge/2023_homerobot_ovmm/). Their simulator is [available here](https://github.com/facebookresearch/home-robot/tree/main/src/home_robot_sim).

I’m certain that the list above isn’t comprehensive. If anyone knows of others, please feel free to add them. To the question about the ROS1 package called stretch\_moveit\_config, we did deprecate it because of the confusion it caused for those wanting to use it with a real Stretch. Since the package was created, it only ever supported experimenting in simulation via Gazebo Classic. For manipulation on real Stretchs, we recommend checking out planners like [FUNMAP](https://github.com/hello-robot/stretch_ros/tree/noetic/stretch_funmap). However, if your use-case involves simulated manipulation, you might find the stretch\_moveit\_config package useful.

I hope this information is useful. Since Gazebo Classic will be deprecated January 2025, we will likely switch to another simulator going forward.

---

<div class="post-metadata">

**Author:** ![roboor](https://avatars.discourse-cdn.com/v4/letter/r/3bc359/32.png) [@roboor](https://forum.hello-robot.com/u/roboor)\
**Post date:** [September 7, 2023, 8:53am UTC](https://forum.hello-robot.com/t/stretch2-gazebo-moveit/787/4 "2023-09-07T08:53:59Z")

</div>

Hi @bshah,

Thanks for your detailed response!  
This will help me going forward in my project.

---

<div class="post-metadata">

**Author:** ![allib](https://avatars.discourse-cdn.com/v4/letter/a/b77776/32.png) [@allib](https://forum.hello-robot.com/u/allib)\
**Post date:** [February 12, 2025, 7:59pm UTC](https://forum.hello-robot.com/t/stretch2-gazebo-moveit/787/5 "2025-02-12T19:59:30Z")

</div>

Hi! I am new to Stretch and am trying to play around with it on the gazebo simulator before moving to the physical robot. I am attempting to follow the [stretch\_gazebo - Stretch Documentation](https://docs.hello-robot.com/0.2/stretch-ros/stretch_gazebo/) tutorial. I am able to execute everything fine up until the  
$ roslaunch stretch\_moveit\_config demo\_gazebo.launch  
command, at which I get an error saying that stretch\_moveit\_config is not a launch file name. I have been following the tutorial to set it all up and am not sure what I am missing.  
Additionally to what effect has the simulator and/or documentation tutorials been effecting with the deprecation of Gazebo Classic in January (if it has taken place). I am very new to this so any and all info would be appreciated.

---

<div class="post-metadata">

**Author:** ![bshah](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.hello-robot.com/bshah/32/55_2.png) [@bshah](https://forum.hello-robot.com/u/bshah)\
**Post date:** [February 12, 2025, 8:17pm UTC](https://forum.hello-robot.com/t/stretch2-gazebo-moveit/787/6 "2025-02-12T20:17:42Z")

</div>

Hey @allib, welcome to the Stretch community! So in ROS1 Melodic, the Gazebo simulation came with a MoveIt configuration that enabled simulated use of MoveIt1. We deprecated Melodic a while ago, but if motivated, you can install Ubuntu 18.04, set up [Stretch ROS1 for Melodic](https://github.com/hello-robot/stretch_ros/tree/melodic), and use the simulator with MoveIt.

Recently (in Jan 2025), support for the last ROS1 distribution, Noetic, was deprecated. With ROS2, I’d point you to try out [Samuel’s implementation](https://forum.hello-robot.com/t/porting-gazebo-to-ros2/849/18) of an Ignition simulation for Stretch. Gazebo Ignition has replaced the Gazebo classic simulator from ROS1.

Also, if you’re getting started on Stretch hardware, I recommend going through the [Getting Started tutorials](https://docs.hello-robot.com/0.3/getting_started/hello_robot/).
