智能语音:旭日X3派板端运行hobot_audio pkg 报错, librclpy_common.so: cannot open shared object file

用户您好,请详细描述您所遇到的问题:

参考地平线机器人平台用户手册

https://developer.horizon.ai/api/v1/fileData/TogetherROS/box/box\_adv/hobot\_audio.html

  1. 系统软件版本: 2.0.0
  2. 问题涉及的技术领域: 语音算法,驱动
  3. 问题描述:智能语音:旭日X3派板端运行hobot_audio pkg 报错

sunrise@ubuntu:~$ i2cdetect -r -y 0

0 1 2 3 4 5 6 7 8 9 a b c d e f

00: – – – – – 08 – – – – – – –

10: – – – – – – – – – – – – – – – –

20: – – – – – – – – – – – – – – – –

30: – – – – – – – – – – – – – – – –

40: 40 – 42 – – – – – – – – – – – – –

50: – – – – – – – – – – – – – – – –

60: – – – – – – – – – – – – – – – –

70: – – – – – – – –

sunrise@ubuntu:~$ source /opt/tros/setup.bash

sunrise@ubuntu:~$ cp -r /opt/tros/lib/hobot_audio/config/ .

sunrise@ubuntu:~$ bash config/audio.sh

mount: only root can use “–options” option

config/audio.sh: line 3: /proc/sys/kernel/printk: Permission denied

config/audio.sh: line 5: /sys/class/gpio/gpio112/direction: Permission denied

config/audio.sh: line 6: /sys/class/gpio/gpio112/value: Permission denied

config/audio.sh: line 8: /sys/class/gpio/gpio118/direction: Permission denied

config/audio.sh: line 9: /sys/class/gpio/gpio118/value: Permission denied

modprobe: FATAL: Module snd_card=5 not found.

modprobe: ERROR: could not insert ‘es7210’: Operation not permitted

modprobe: ERROR: could not insert ‘es8156’: Operation not permitted

modprobe: ERROR: could not insert ‘hobot_i2s_dma’: Operation not permitted

modprobe: ERROR: could not insert ‘hobot_cpudai’: Operation not permitted

modprobe: ERROR: could not insert ‘hobot_snd_7210’: Operation not permitted

sunrise@ubuntu:~$ sudo bash config/audio.sh

config/audio.sh: line 4: echo: write error: Device or resource busy

config/audio.sh: line 7: echo: write error: Device or resource busy

modprobe: FATAL: Module snd_card=5 not found.

sunrise@ubuntu:~$ ros2 launch hobot_audio hobot_audio.launch.py

[INFO] [launch]: All log files can be found below /home/sunrise/.ros/log/2023-07-10-16-25-00-183991-ubuntu-4011

[INFO] [launch]: Default logging verbosity is set to INFO

Task exception was never retrieved

future: <Task finished name=‘Task-2’ coro=<LaunchService._process_one_event() done, defined at /opt/tros/lib/python3.8/site-packages/launch/launch_service.py:226> exception=InvalidLaunchFileError(‘py’)>

Traceback (most recent call last):

File “/opt/tros/lib/python3.8/site-packages/launch/launch_description_sources/any_launch_file_utilities.py”, line 53, in get_launch_description_from_any_launch_file

return loader(launch_file_path)

File “/opt/tros/lib/python3.8/site-packages/launch/launch_description_sources/python_launch_file_utilities.py”, line 62, in get_launch_description_from_python_launch_file

launch_file_module = load_python_launch_file_as_module(python_launch_file_path)

File “/opt/tros/lib/python3.8/site-packages/launch/launch_description_sources/python_launch_file_utilities.py”, line 37, in load_python_launch_file_as_module

loader.exec_module(mod)

File “<frozen importlib._bootstrap_external>”, line 848, in exec_module

File “<frozen importlib._bootstrap>”, line 219, in _call_with_frames_removed

File “/opt/tros/share/hobot_audio/launch/hobot_audio.launch.py”, line 18, in

from launch_ros.actions import Node

File “/opt/tros/lib/python3.8/site-packages/launch_ros/__init__.py”, line 17, in

from . import actions

File “/opt/tros/lib/python3.8/site-packages/launch_ros/actions/__init__.py”, line 17, in

from .composable_node_container import ComposableNodeContainer

File “/opt/tros/lib/python3.8/site-packages/launch_ros/actions/composable_node_container.py”, line 25, in

from .node import Node

File “/opt/tros/lib/python3.8/site-packages/launch_ros/actions/node.py”, line 57, in

from rclpy.validate_namespace import validate_namespace

File “/opt/tros/lib/python3.8/site-packages/rclpy/validate_namespace.py”, line 16, in

from rclpy.impl.implementation_singleton import rclpy_implementation as _rclpy

File “/opt/tros/lib/python3.8/site-packages/rclpy/impl/implementation_singleton.py”, line 31, in

rclpy_implementation = _import(‘._rclpy’)

File “/opt/tros/lib/python3.8/site-packages/rclpy/impl/__init__.py”, line 28, in _import

return importlib.import_module(name, package=‘rclpy’)

File “/usr/lib/python3.8/importlib/__init__.py”, line 127, in import_module

return _bootstrap._gcd_import(name[level:], package, level)

ImportError: librclpy_common.so: cannot open shared object file: No such file or directory

The C extension ‘/opt/tros/lib/python3.8/site-packages/rclpy/_rclpy.cpython-38-aarch64-linux-gnu.so’ failed to be imported while being present on the system. Please refer to ‘https://index.ros.org/doc/ros2/Troubleshooting/Installation-Troubleshooting/#import-failing-even-with-library-present-on-the-system’ for possible solutions

The above exception was the direct cause of the following exception:

Traceback (most recent call last):

File “/opt/tros/lib/python3.8/site-packages/launch/launch_service.py”, line 228, in _process_one_event

await self.__process_event(next_event)

File “/opt/tros/lib/python3.8/site-packages/launch/launch_service.py”, line 248, in __process_event

visit_all_entities_and_collect_futures(entity, self.__context))

File “/opt/tros/lib/python3.8/site-packages/launch/utilities/visit_all_entities_and_collect_futures_impl.py”, line 45, in visit_all_entities_and_collect_futures

futures_to_return += visit_all_entities_and_collect_futures(sub_entity, context)

File “/opt/tros/lib/python3.8/site-packages/launch/utilities/visit_all_entities_and_collect_futures_impl.py”, line 45, in visit_all_entities_and_collect_futures

futures_to_return += visit_all_entities_and_collect_futures(sub_entity, context)

File “/opt/tros/lib/python3.8/site-packages/launch/utilities/visit_all_entities_and_collect_futures_impl.py”, line 38, in visit_all_entities_and_collect_futures

sub_entities = entity.visit(context)

File “/opt/tros/lib/python3.8/site-packages/launch/action.py”, line 108, in visit

return self.execute(context)

File “/opt/tros/lib/python3.8/site-packages/launch/actions/include_launch_description.py”, line 130, in execute

launch_description = self.__launch_description_source.get_launch_description(context)

File “/opt/tros/lib/python3.8/site-packages/launch/launch_description_source.py”, line 84, in get_launch_description

self._get_launch_description(self.__expanded_location)

File “/opt/tros/lib/python3.8/site-packages/launch/launch_description_sources/any_launch_description_source.py”, line 53, in _get_launch_description

return get_launch_description_from_any_launch_file(location)

File “/opt/tros/lib/python3.8/site-packages/launch/launch_description_sources/any_launch_file_utilities.py”, line 56, in get_launch_description_from_any_launch_file

raise InvalidLaunchFileError(extension, likely_errors=exceptions)

launch.invalid_launch_file_error.InvalidLaunchFileError: Caught exception when trying to load file of format [py]: librclpy_common.so: cannot open shared object file: No such file or directory

The C extension ‘/opt/tros/lib/python3.8/site-packages/rclpy/_rclpy.cpython-38-aarch64-linux-gnu.so’ failed to be imported while being present on the system. Please refer to ‘https://index.ros.org/doc/ros2/Troubleshooting/Installation-Troubleshooting/#import-failing-even-with-library-present-on-the-system’ for possible solutions

问题的原因在此:Operation not permitted

tros手册中的所有示例都是以root账户登录。

好的,已经解决。还有个问题,我想要获得降噪后的音频,需要如何设置?不需要唤醒和识别功能

更丰富的使用说明请参考智能语音node的README,通过voip控制是否输出降噪后音频数据。HorizonRDK/hobot_audio (github.com)

已经解决,谢谢