# PIPER single-arm simulation and control on Genesis

**URL:** <https://discourse.openrobotics.org/t/piper-single-arm-simulation-and-control-on-genesis/51444>\
**Category:** ros-controls General\
**Created:** [December 18, 2025, 8:04am UTC](https://discourse.openrobotics.org/t/piper-single-arm-simulation-and-control-on-genesis/51444 "2025-12-18T08:04:21Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Agilex\_Robotics](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/agilex_robotics/32/10554_2.png) [@Agilex\_Robotics](https://discourse.openrobotics.org/u/Agilex_Robotics)\
**Post date:** [December 18, 2025, 8:04am UTC](https://discourse.openrobotics.org/t/piper-single-arm-simulation-and-control-on-genesis/51444/1 "2025-12-18T08:04:21Z")

</div>

### Introduction

This guide aims to help users complete the simulation and control of the PIPER single arm on the Genesis Simulation Platform. It details environment deployment, dependency installation, simulator configuration, and how to achieve visualization and control of the PIPER robotic arm via ROS and RViz. Please follow the steps below to ensure a smooth simulation and control process.

### Deployment

1.setup piper\_kinematics

```auto
sudo apt install libeigen3-dev
sudo apt install ros-noetic-eigen-conversions 

git clone https://github.com/vanstrong12138/agilex_genesis_demos.git
cd agilex_genesis_demos
catkin_make

```

2.setup genesis simulator

```auto
# install genesis simulator
conda create -n genesis python=3.10
pip install genesis-world # Requires Python>=3.10,<3.14;

```

### genesis ros control

```auto
source devel/setup.bash
# this step is only for piper inverse kinematics
roslaunch piper_kinematics piper_ik.launch

# this step is only for visualizing piper in rviz
roslaunch piper_description my_display_urdf_ik.launch

# this step is for start up piper genesis simulation
conda activate genesis
python3 ./scripts/control_piper.py

```

### Control Piper in using rviz visualized marker

 ![](https://us1.discourse-cdn.com/flex022/uploads/ros/original/3X/e/0/e095bce945f55be7b2a038608a0c457ba53c3cf0.jpeg)

---

<div class="post-metadata">

**Author:** ![chfritz](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/chfritz/32/26180_2.png) [@chfritz](https://discourse.openrobotics.org/u/chfritz)\
**Post date:** [December 18, 2025, 3:47pm UTC](https://discourse.openrobotics.org/t/piper-single-arm-simulation-and-control-on-genesis/51444/2 "2025-12-18T15:47:12Z")

</div>

Thanks for sharing. Is there a version of this that works in ROS2? ([Noetic is EOL](https://www.ros.org/blog/noetic-eol/))

---

<div class="post-metadata">

**Author:** ![Agilex\_Robotics](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/agilex_robotics/32/10554_2.png) [@Agilex\_Robotics](https://discourse.openrobotics.org/u/Agilex_Robotics)\
**Post date:** [December 22, 2025, 10:20am UTC](https://discourse.openrobotics.org/t/piper-single-arm-simulation-and-control-on-genesis/51444/3 "2025-12-22T10:20:48Z")

</div>

We are working on it!
