昨天装了6遍ros2
- 宿主机(Ubuntu20.04)上装galatic和rolling各一遍,但是由于本身有conda结果老出事故,避免该事故的好办法就是不要在宿主机上装。(我这个宿主机还有ros noetic,就不和conda打架)(galatic是没有moveit2的预编译包)
- 容器里面装ros2,最开始装了一遍iron,然后忘记给开x11了,没法弹图形界面。重装。
- 新建容器,装了,也编译了,但是没得用,出现如标题所述的错误。
- 新建容器,装rolling,一样的结果
- 新建容器,装humble,一样的结果,又装iron还是一样的结果
- 换成用笔记本之前装的Humble,没有用,也没conda,不知道怎么回事,已经忘记了。
上述种种都是使用预编译包安装moveit。
aptitude install ros-iron-moveit
aptitude install ros-humble-moveit
aptitude install ros-rolling-moveit
可能预编译包就是不好用吧,现在在搞源码安装了。
报错原文贴一下
[motion_planning_python_api-2] Traceback (most recent call last):
[motion_planning_python_api-2] File "/somewhere", line 33, in <module>
[motion_planning_python_api-2] sys.exit(load_entry_point('f???api')())
[motion_planning_python_api-2] File "/r???pi", line 25, in importlib_load_entry_point
[motion_planning_python_api-2] return next(matches).load()
[motion_planning_python_api-2] File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 171, in load
[motion_planning_python_api-2] module = import_module(match.group('module'))
[motion_planning_python_api-2] File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
[motion_planning_python_api-2] return _bootstrap._gcd_import(name[level:], package, level)
[motion_planning_python_api-2] File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
[motion_planning_python_api-2] File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
[motion_planning_python_api-2] File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
[motion_planning_python_api-2] File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
[motion_planning_python_api-2] File "<frozen importlib._bootstrap_external>", line 883, in exec_module
[motion_planning_python_api-2] File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
[motion_planning_python_api-2] File "/ropi.py", line 10, in <module>
[motion_planning_python_api-2] from moveit.core.robot_state import RobotState
[motion_planning_python_api-2] ModuleNotFoundError: No module named 'moveit'
等源码编译
源码编译还没好,我记得colcon build
应该会默认调用所有线程进行编译的吧,毕竟catkin_make
是这样的。
确实 编译还挺久。
我二十个线程32g内存都能跑满持续半分钟。
源码编译后就能调用了