# DynamixelHelloXL430 Ping failed... wrist\_pitch

**URL:** <https://forum.hello-robot.com/t/dynamixelhelloxl430-ping-failed-wrist-pitch/914>\
**Category:** Ask\
**Created:** [February 15, 2024, 5:11pm UTC](https://forum.hello-robot.com/t/dynamixelhelloxl430-ping-failed-wrist-pitch/914 "2024-02-15T17:11:32Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Januxes](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.hello-robot.com/januxes/32/686_2.png) [@Januxes](https://forum.hello-robot.com/u/Januxes)\
**Post date:** [February 15, 2024, 5:11pm UTC](https://forum.hello-robot.com/t/dynamixelhelloxl430-ping-failed-wrist-pitch/914/1 "2024-02-15T17:11:32Z")

</div>

Hi,

I have been following [this tutorial](https://docs.hello-robot.com/0.3/stretch-install/docs/robot_install/) to install a ubuntu 22.04 system alongside the existing 20.04 system and performed a robot-level install.  
However, everything worked fine until I ran the shell script: `./stretch_new_robot_install.sh`. I got an error during the creation process for `ament_ws` , probably due to the poor internet environment (I was not using a cable connection for internet but only wi-fi):

```auto
ERROR: the following rosdeps failed to install
  pip: command [sudo -H pip3 install -U torch] failed

```

So I tried to create the `ament_ws` again according to [this tutorial](https://github.com/hello-robot/stretch_install/blob/master/docs/ros_workspace.md):

```auto
cd ~\stretch_install
./factory/22.04/stretch_create_ament_workspace.sh -w ~/ament_ws

```

And this worked. I have successfully created the `ament_ws` which can be built and sourced. Then I did the firmware update `REx_firmware_updater.py --install` without any error. I also commented out the following in `~/stretch_user/stretch-re2-xxxx/stretch_configuration_params.yaml` to prevent deprecated warning:

```auto
#params:
#- stretch_tool_share.stretch_dex_wrist.params

```

But when I moved on to setup the stretch dex wrist, I got the following error when running `REx_calibrate_guarded_contact.py --arm`:

```auto
For use with S T R E T C H (R) from Hello Robot Inc.
---------------------------------------------------------------------

Joint not calibrated. Exiting.

```

Then I tried to perform the calibration first, but the `stretch_robot_home.py` returns:

```auto
For use with S T R E T C H (R) from Hello Robot Inc.
---------------------------------------------------------------------

[ERROR] [wrist_pitch]: DynamixelCommError. Mismatched baud rate. Expected 115200 but servo is set to -1.
[WARNING] [wrist_pitch]: DynamixelHelloXL430 Ping failed... wrist_pitch
DynamixelHelloXL430 Ping failed... wrist_pitch
Dnamixel Com error: 
[ERROR] [robot]: Failed to startup connection to robot

```

Did I miss anything after the creation of ament workspace in `./stretch_new_robot_install.sh`? How can I solve the communication error and could a calibration solve the `Joint not calibrated ` error in `REx_calibrate_guarded_contact.py --arm`?

---

<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 15, 2024, 5:49pm UTC](https://forum.hello-robot.com/t/dynamixelhelloxl430-ping-failed-wrist-pitch/914/2 "2024-02-15T17:49:31Z")

</div>

Hi @Januxes, welcome to the forum! You’re likely correct about a poor internet connection causing the issue initially. I’m glad you were able to create another `ament_ws`. It looks like the reason `stretch_robot_home.py` is failing is because the wrist pitch joint isn’t communicating on the correct baud rate. Let’s start by asking the hardware what baud rate it’s currently using:

```auto
REx_dynamixel_id_scan.py /dev/hello-dynamixel-wrist

```

Would you run the above command and share the output here? Additionally, would you tell me the robot’s serial number.

---

<div class="post-metadata">

**Author:** ![Januxes](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.hello-robot.com/januxes/32/686_2.png) [@Januxes](https://forum.hello-robot.com/u/Januxes)\
**Post date:** [February 15, 2024, 6:35pm UTC](https://forum.hello-robot.com/t/dynamixelhelloxl430-ping-failed-wrist-pitch/914/3 "2024-02-15T18:35:43Z")

</div>

Thanks! The serial number is 2031, and this is the output from the scan:

```auto
REx_dynamixel_id_scan.py /dev/hello-dynamixel-wrist
For use with S T R E T C H (R) from Hello Robot Inc.
---------------------------------------------------------------------

Scanning bus /dev/hello-dynamixel-wrist
Checking ID 0
Checking ID 1
Checking ID 2
Checking ID 3
Checking ID 4
Checking ID 5
Checking ID 6
Checking ID 7
Checking ID 8
Checking ID 9
Checking ID 10
Checking ID 11
Checking ID 12
Checking ID 13
[Dynamixel ID:013] ping Succeeded. Dynamixel model : XC430-W240. Baud 115200
Checking ID 14
[Dynamixel ID:014] ping Succeeded. Dynamixel model : XL430-W250. Baud 115200
Checking ID 15
Checking ID 16
Checking ID 17
Checking ID 18
Checking ID 19
Checking ID 20
Checking ID 21
Checking ID 22
Checking ID 23
Checking ID 24
Found 2 servos on bus /dev/hello-dynamixel-wrist

```

I also tried `stretch_params.py | grep baud`, which gives 115200 for all devices:

```auto
stretch_body.robot_params.nominal_params param.tool_stretch_dex_wrist.baud 115200                        
stretch_body.robot_params.nominal_params param.tool_stretch_gripper.baud 115200                        
stretch_body.robot_params.nominal_params param.tool_none.baud 115200                        
stretch_body.robot_params.nominal_params param.eoa_wrist_dw3_tool_nil.baud 115200                        
stretch_body.robot_params.nominal_params param.eoa_wrist_dw3_tool_sg3.baud 115200                        
stretch_body.robot_params.nominal_params param.end_of_arm.baud 115200                        
stretch_body.robot_params.nominal_params param.head.baud 115200                        
stretch_body.robot_params.nominal_params param.head_pan.baud 115200                        
stretch_body.robot_params.nominal_params param.head_tilt.baud 115200                        
stretch_body.robot_params.nominal_params param.stretch_gripper.baud 115200                        
stretch_body.robot_params.nominal_params param.wrist_pitch.baud 115200                        
stretch_body.robot_params.nominal_params param.wrist_roll.baud 115200                        
stretch_body.robot_params.nominal_params param.wrist_yaw.baud 115200        

```

---

<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 15, 2024, 6:56pm UTC](https://forum.hello-robot.com/t/dynamixelhelloxl430-ping-failed-wrist-pitch/914/4 "2024-02-15T18:56:52Z")

</div>

Hi @Januxes, it looks like from the output that the wrist pitch and wrist roll joints aren’t present. This might be because your robot doesn’t have the Dex Wrist tool, which was an optional accessory for Stretch 2. Could you take a picture of the tool at the end of the robot’s arm?

If your Stretch doesn’t have the Dex Wrist tool, it likely has the Standard Gripper tool. Let me know if you had mistakenly run the `stretch_new_dex_wrist_install.sh` script.

---

<div class="post-metadata">

**Author:** ![Januxes](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.hello-robot.com/januxes/32/686_2.png) [@Januxes](https://forum.hello-robot.com/u/Januxes)\
**Post date:** [February 15, 2024, 7:19pm UTC](https://forum.hello-robot.com/t/dynamixelhelloxl430-ping-failed-wrist-pitch/914/5 "2024-02-15T19:19:19Z")

</div>

Here is the picture:

 ![image](https://canada1.discourse-cdn.com/flex030/uploads/hello_robot2/original/1X/3c0e43c054541e75e396e569cc82107c15ad0462.jpeg)  
I just noticed that on the side of the wrist there is an LED blinking yellow light:  
 ![image](https://canada1.discourse-cdn.com/flex030/uploads/hello_robot2/original/1X/2a3af829c0d01bf962736b2a28a3ad1c339a3bb3.jpeg)

---

<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 15, 2024, 9:53pm UTC](https://forum.hello-robot.com/t/dynamixelhelloxl430-ping-failed-wrist-pitch/914/6 "2024-02-15T21:53:05Z")

</div>

Hi @Januxes, thanks, that tool is called the “Standard Gripper”. The blinking yellow LED on the side of the wrist is innocuous.

Here are instructions to change the tool your robot is configured to use:

1. Edit `stretch_configuration_params.yaml` in your robot data directory to change the `robot.tool` parameter. It should look like this:

```yaml
robot:
    tool: tool_stretch_gripper

```

2. Create a URDF that includes the standard gripper tool using [these instructions](https://github.com/hello-robot/stretch_ros2/tree/humble/stretch_description#changing-the-tool).

You should be able to home the robot now. Let me know if you have any questions.

---

<div class="post-metadata">

**Author:** ![Januxes](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.hello-robot.com/januxes/32/686_2.png) [@Januxes](https://forum.hello-robot.com/u/Januxes)\
**Post date:** [February 15, 2024, 11:13pm UTC](https://forum.hello-robot.com/t/dynamixelhelloxl430-ping-failed-wrist-pitch/914/7 "2024-02-15T23:13:10Z")

</div>

Thanks! I changed the tool setting in the .xacro file, built the workspace again and it worked! Sorry I mistaken the standard gripper for Dex Wrist. Now I finally can home the robot and calibrate it correctly.

---

<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 15, 2024, 11:15pm UTC](https://forum.hello-robot.com/t/dynamixelhelloxl430-ping-failed-wrist-pitch/914/8 "2024-02-15T23:15:46Z")

</div>

No worries @Januxes! Glad you got it all working!
