Reachy 2021 grpc always inactive

Hello everyone,

After a long time of not using Reachy, my students and I have tried bringing him back to life, however, we haven’t had much success…

When putting him back on, updating the Ubuntu version and setting up the long awaited AP for Reachy, we tried running some of our old Python projects.

Because we’re using Reachy 2021 without mobile base, we decided to use reachy_sdk==0.5.3.

When trying to create an instance of Reachy, we get the gRPC Inactive call.

When we turn off the reachy_sdk_server, perform the pyluos discovery, we can confirm everything is how it should look like. USB-TTY0-2, with 3 neck disks and both arms have all motors.
Note. We did remove the cable from the sensors, as it always falls out because it’s too short.
I recall configuring it somewhere to disable the sensors in both hands, as was suggested on Discord years ago.

We try putting everything back on, and it doesn’t get solved. We checked all the cables by putting them all back in again, and rebooting several times.

Could something have gone wrong with updating pip packages and/or Ubuntu versions?

How can we fix it?
Many thanks, I look forward to creating cool demo’s with Reachy once more :wink:

With kind regards,
Nathan Segers (Howest, Belgium)

Hi @NathanSegers :slight_smile:

I apologize for the delay in my response! First, could you please confirm that you are still using Ubuntu 20.04?
If so, please stop the services and then manually restart them with the following command:
ros2 launch reachy_sdk_server run_everything.launch.py

Then, please provide me with a screenshot or a text file of the logs so that I can study them more closely.

Thank you in advance!

Hi @AnnaelleS

I have tried your command, and it worked on Reachy the first time I did it.
I wanted to see if the updated of Ubuntu would conflict anything, and I’m not sure if it’s related, but after the reboot, the command gave me following error this time.
I make sure to execute service reachy_sdk_server stop before running the ros2 command.

I have added the errors logs in here. After this, it starts repeating issues with the “Failed to get frame”.

Are we doing something wrong regarding the camera’s?
Last week, we already unscrewed the head and validated that everything is connected in there.

Show the logs
reachy@reachy:~$ ros2 launch reachy_sdk_server run_everything.launch.py
[INFO] [launch]: All log files can be found below /home/reachy/.ros/log/2024-06-11-15-41-07-560307-reachy-4536
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [robot_state_publisher-1]: process started with pid [4538]
[INFO] [orbita_kinematics_service-2]: process started with pid [4540]
[INFO] [arm_kinematics_service-3]: process started with pid [4542]
[INFO] [joint_state_controller-4]: process started with pid [4544]
[INFO] [camera_publisher-5]: process started with pid [4546]
[INFO] [camera_focus-6]: process started with pid [4548]
[INFO] [camera_zoom_service-7]: process started with pid [4550]
[INFO] [reachy_sdk_server-8]: process started with pid [4561]
[INFO] [camera_server-9]: process started with pid [4564]
[robot_state_publisher-1] [WARN] [1718113267.654586455] [robot_state_publisher]: No robot_description parameter, but command-line argument available.  Assuming argument is name of URDF file.  This backwards compatibility fallback will be removed in the future.
[robot_state_publisher-1] Parsing robot urdf xml string.
[robot_state_publisher-1] Link torso had 6 children
[robot_state_publisher-1] Link l_shoulder had 1 children
[robot_state_publisher-1] Link l_shoulder_x had 1 children
[robot_state_publisher-1] Link l_upper_arm had 1 children
[robot_state_publisher-1] Link l_forearm had 1 children
[robot_state_publisher-1] Link l_wrist had 1 children
[robot_state_publisher-1] Link l_wrist2hand had 1 children
[robot_state_publisher-1] Link l_gripper_thumb had 2 children
[robot_state_publisher-1] Link l_gripper_finger had 0 children
[robot_state_publisher-1] Link left_tip had 0 children
[robot_state_publisher-1] Link bottom_orbita_arm had 0 children
[robot_state_publisher-1] Link middle_orbita_arm had 0 children
[robot_state_publisher-1] Link head_x had 1 children
[robot_state_publisher-1] Link head_y had 1 children
[robot_state_publisher-1] Link head_z had 1 children
[robot_state_publisher-1] Link head had 4 children
[robot_state_publisher-1] Link l_antenna had 0 children
[robot_state_publisher-1] Link left_camera had 0 children
[robot_state_publisher-1] Link r_antenna had 0 children
[robot_state_publisher-1] Link right_camera had 0 children
[robot_state_publisher-1] Link top_orbita_arm had 0 children
[robot_state_publisher-1] Link r_shoulder had 1 children
[robot_state_publisher-1] Link r_shoulder_x had 1 children
[robot_state_publisher-1] Link r_upper_arm had 1 children
[robot_state_publisher-1] Link r_forearm had 1 children
[robot_state_publisher-1] Link r_wrist had 1 children
[robot_state_publisher-1] Link r_wrist2hand had 1 children
[robot_state_publisher-1] Link r_gripper_thumb had 2 children
[robot_state_publisher-1] Link r_gripper_finger had 0 children
[robot_state_publisher-1] Link right_tip had 0 children
[robot_state_publisher-1] [INFO] [1718113267.658696210] [robot_state_publisher]: got segment bottom_orbita_arm
[robot_state_publisher-1] [INFO] [1718113267.658746420] [robot_state_publisher]: got segment head
[robot_state_publisher-1] [INFO] [1718113267.658756442] [robot_state_publisher]: got segment head_x
[robot_state_publisher-1] [INFO] [1718113267.658764488] [robot_state_publisher]: got segment head_y
[robot_state_publisher-1] [INFO] [1718113267.658771984] [robot_state_publisher]: got segment head_z
[robot_state_publisher-1] [INFO] [1718113267.658779023] [robot_state_publisher]: got segment l_antenna
[robot_state_publisher-1] [INFO] [1718113267.658786481] [robot_state_publisher]: got segment l_forearm
[robot_state_publisher-1] [INFO] [1718113267.658793552] [robot_state_publisher]: got segment l_gripper_finger
[robot_state_publisher-1] [INFO] [1718113267.658801181] [robot_state_publisher]: got segment l_gripper_thumb
[robot_state_publisher-1] [INFO] [1718113267.658808382] [robot_state_publisher]: got segment l_shoulder
[robot_state_publisher-1] [INFO] [1718113267.658815742] [robot_state_publisher]: got segment l_shoulder_x
[robot_state_publisher-1] [INFO] [1718113267.658823454] [robot_state_publisher]: got segment l_upper_arm
[robot_state_publisher-1] [INFO] [1718113267.658830494] [robot_state_publisher]: got segment l_wrist
[robot_state_publisher-1] [INFO] [1718113267.658837385] [robot_state_publisher]: got segment l_wrist2hand
[robot_state_publisher-1] [INFO] [1718113267.658844434] [robot_state_publisher]: got segment left_camera
[robot_state_publisher-1] [INFO] [1718113267.658852492] [robot_state_publisher]: got segment left_tip
[robot_state_publisher-1] [INFO] [1718113267.658859919] [robot_state_publisher]: got segment middle_orbita_arm
[robot_state_publisher-1] [INFO] [1718113267.658867263] [robot_state_publisher]: got segment pedestal
[robot_state_publisher-1] [INFO] [1718113267.658874751] [robot_state_publisher]: got segment r_antenna
[robot_state_publisher-1] [INFO] [1718113267.658882475] [robot_state_publisher]: got segment r_forearm
[robot_state_publisher-1] [INFO] [1718113267.658889727] [robot_state_publisher]: got segment r_gripper_finger
[robot_state_publisher-1] [INFO] [1718113267.658896937] [robot_state_publisher]: got segment r_gripper_thumb
[robot_state_publisher-1] [INFO] [1718113267.658904799] [robot_state_publisher]: got segment r_shoulder
[robot_state_publisher-1] [INFO] [1718113267.658912305] [robot_state_publisher]: got segment r_shoulder_x
[robot_state_publisher-1] [INFO] [1718113267.658919573] [robot_state_publisher]: got segment r_upper_arm
[robot_state_publisher-1] [INFO] [1718113267.658927387] [robot_state_publisher]: got segment r_wrist
[robot_state_publisher-1] [INFO] [1718113267.658934648] [robot_state_publisher]: got segment r_wrist2hand
[robot_state_publisher-1] [INFO] [1718113267.658941635] [robot_state_publisher]: got segment right_camera
[robot_state_publisher-1] [INFO] [1718113267.658949510] [robot_state_publisher]: got segment right_tip
[robot_state_publisher-1] [INFO] [1718113267.658969702] [robot_state_publisher]: got segment top_orbita_arm
[robot_state_publisher-1] [INFO] [1718113267.658976161] [robot_state_publisher]: got segment torso
[reachy_sdk_server-8] Traceback (most recent call last):
[reachy_sdk_server-8]   File "/home/reachy/reachy_ws/install/reachy_sdk_server/lib/reachy_sdk_server/reachy_sdk_server", line 11, in <module>
[reachy_sdk_server-8]     load_entry_point('reachy-sdk-server==0.0.0', 'console_scripts', 'reachy_sdk_server')()
[reachy_sdk_server-8]   File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 490, in load_entry_point
[reachy_sdk_server-8]     return get_distribution(dist).load_entry_point(group, name)
[reachy_sdk_server-8]   File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2854, in load_entry_point
[reachy_sdk_server-8]     return ep.load()
[reachy_sdk_server-8]   File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2445, in load
[reachy_sdk_server-8]     return self.resolve()
[reachy_sdk_server-8]   File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2451, in resolve
[reachy_sdk_server-8]     module = __import__(self.module_name, fromlist=['__name__'], level=0)
[reachy_sdk_server-8]   File "/home/reachy/reachy_ws/install/reachy_sdk_server/lib/python3.8/site-packages/reachy_sdk_server/reachy_sdk_server.py", line 49, in <module>
[reachy_sdk_server-8]     orbita_kinematics_pb2_grpc.OrbitaKinematicsServicer,
[reachy_sdk_server-8] AttributeError: module 'reachy_sdk_api.orbita_kinematics_pb2_grpc' has no attribute 'OrbitaKinematicsServicer'
[arm_kinematics_service-3] [INFO] [1718113269.174789135] [arm_kinematics_service]: Retrieving URDF from "/robot_description"...
[orbita_kinematics_service-2] [INFO] [1718113269.210768139] [orbita_kinematics_service]: Starting service "orbita/kinematics/inverse".
[arm_kinematics_service-3] [INFO] [1718113269.211187091] [arm_kinematics_service]: Starting service "/left_arm/kinematics/forward".
[camera_server-9] [INFO] [1718113269.211282037] [camera_server]: Launching sub/srv...
[arm_kinematics_service-3] [INFO] [1718113269.213041675] [arm_kinematics_service]: Starting service "/left_arm/kinematics/inverse".
[arm_kinematics_service-3] [INFO] [1718113269.214894262] [arm_kinematics_service]: Starting service "/right_arm/kinematics/forward".
[arm_kinematics_service-3] [INFO] [1718113269.216438594] [arm_kinematics_service]: Starting service "/right_arm/kinematics/inverse".
[orbita_kinematics_service-2] [INFO] [1718113269.216867402] [orbita_kinematics_service]: Starting service "orbita/kinematics/look_vector_to_quaternion".
[arm_kinematics_service-3] [INFO] [1718113269.217084782] [arm_kinematics_service]: Node ready!
[orbita_kinematics_service-2] [INFO] [1718113269.217584127] [orbita_kinematics_service]: Node ready!
[ERROR] [reachy_sdk_server-8]: process has died [pid 4561, exit code 1, cmd '/home/reachy/reachy_ws/install/reachy_sdk_server/lib/reachy_sdk_server/reachy_sdk_server --ros-args'].
[joint_state_controller-4] INFO:root:Looking for ['l_shoulder_pitch', 'l_shoulder_roll', 'l_arm_yaw', 'l_elbow_pitch', 'l_forearm_yaw', 'l_wrist_pitch', 'l_wrist_roll', 'l_gripper', 'l_shoulder_fan', 'l_elbow_fan', 'l_wrist_fan'] on ['/dev/ttyUSB2', '/dev/ttyUSB1', '/dev/ttyUSB0'].
[camera_server-9] [INFO] [1718113270.261888285] [camera_server]: service get_camera_zoom_level not available, waiting again...
[camera_server-9] [INFO] [1718113271.265829322] [camera_server]: service get_camera_zoom_level not available, waiting again...
[camera_server-9] [INFO] [1718113272.270052683] [camera_server]: service get_camera_zoom_level not available, waiting again...
[camera_server-9] [INFO] [1718113273.274099071] [camera_server]: service get_camera_zoom_level not available, waiting again...
[camera_server-9] [INFO] [1718113274.278465150] [camera_server]: service get_camera_zoom_level not available, waiting again...
[camera_server-9] [INFO] [1718113275.282421946] [camera_server]: service get_camera_zoom_level not available, waiting again...
[camera_server-9] [INFO] [1718113276.286591327] [camera_server]: service get_camera_zoom_level not available, waiting again...
[camera_server-9] [INFO] [1718113277.290816733] [camera_server]: service get_camera_zoom_level not available, waiting again...
[camera_server-9] [INFO] [1718113278.295516983] [camera_server]: service get_camera_zoom_level not available, waiting again...
[camera_server-9] [INFO] [1718113279.299849136] [camera_server]: service get_camera_zoom_level not available, waiting again...
[camera_server-9] [INFO] [1718113280.304643683] [camera_server]: service get_camera_zoom_level not available, waiting again...
[camera_server-9] [INFO] [1718113281.309100223] [camera_server]: service get_camera_zoom_level not available, waiting again...
[camera_server-9] [INFO] [1718113282.313156872] [camera_server]: service get_camera_zoom_level not available, waiting again...
[camera_server-9] [INFO] [1718113283.317057098] [camera_server]: service get_camera_zoom_level not available, waiting again...
[camera_publisher-5] [INFO] [1718113284.152193525] [camera_publisher]: Launching "/left_image" publisher.
[camera_publisher-5] [INFO] [1718113284.153086755] [camera_publisher]: Launching "/right_image" publisher.
[camera_publisher-5] [INFO] [1718113284.153423640] [camera_publisher]: Node ready!
[camera_publisher-5] [WARN] [1718113284.171272070] [camera_publisher]: Failed to grab frame!
[camera_publisher-5] [WARN] [1718113284.186731278] [camera_publisher]: Failed to grab frame!
[camera_publisher-5] [WARN] [1718113284.204757391] [camera_publisher]: Failed to grab frame!
[camera_publisher-5] [WARN] [1718113284.220926119] [camera_publisher]: Failed to grab frame!
[camera_publisher-5] [WARN] [1718113284.237955879] [camera_publisher]: Failed to grab frame!
[camera_publisher-5] [WARN] [1718113284.253292403] [camera_publisher]: Failed to grab frame!
[camera_focus-6] [INFO] [1718113284.258411003] [camera_focus]: Waiting for an image from /right_image...
[camera_focus-6] [INFO] [1718113284.258580882] [camera_focus]: Waiting for an image from /left_image...
[camera_publisher-5] [WARN] [1718113284.271318376] [camera_publisher]: Failed to grab frame!
[camera_publisher-5] [WARN] [1718113284.287859453] [camera_publisher]: Failed to grab frame!
[camera_publisher-5] [WARN] [1718113284.306093104] [camera_publisher]: Failed to grab frame!
[camera_publisher-5] [WARN] [1718113284.321765242] [camera_publisher]: Failed to grab frame!
[camera_server-9] [INFO] [1718113284.321792417] [camera_server]: service get_camera_zoom_level not available, waiting again...
[camera_publisher-5] [WARN] [1718113284.339374711] [camera_publisher]: Failed to grab frame!
[camera_publisher-5] [WARN] [1718113284.354806579] [camera_publisher]: Failed to grab frame!

Best regards,
Nathan

Hi @NathanSegers !

Thank you for the detailed update.

For Reachy 2021, you should be using API version 0.6.0 and SDK version 0.5.4. Please check the versions you have installed and, if necessary, use the following commands to install the correct versions:

pip3 install reachy-sdk==0.5.4
pip3 install reachy-sdk-api==0.6.0

Also, note that ROS 2 Foxy is supported on Ubuntu 20.04. We have never tested it on Ubuntu 22.04, so this could potentially be causing some issues.

If the above steps do not resolve the issues, I can provide instructions on how to recreate the ISO from scratch for the 2021 version.

Best regards,

Annaëlle