复现大佬robochain+robopal记录(自用)

一、robopal
  robopal 是一个基于 MuJoCo 动力学引擎与 Pinocchio 机器人动力学库搭建的多平台开源机器人仿真框架,主要用于机械臂的深度强化学习训练与控制算法验证。框架内提供了多种控制方案与底层环境, 具有以下优点:

    采用 Pinocchio 动力学库计算机械臂运动学与动力学,方便验证控制算法或将算法向实物迁移

    简洁的代码结构,没有复杂的嵌套关系,方便快速上手学习和使用

    环境遵循最新版 OpenAI Gymnasium 接口规范,方便与其他算法库(e.g. SB3)集成

    提供多种基础控制方案,如关节空间/笛卡尔空间的位置控制、速度控制、阻抗控制等

    提供丰富的任务环境,如桌面操作,视觉伺服等

lsb_release -a
看ubantu版本

1.ros2 一键安装
wget http://fishros.com/install -O fishros && . fishros

安装成功

rosdepc

2.MuJoCo-3.0.1  安装完毕
  (1)下载3.0.1  解压到.mujoco 
  (2)环境配置  
          sudo gedit ~/.bashrc
          在打开的文件最后添加如下代码:
export MUJOCO_KEY_PATH=~/.mujoco${MUJOCO_KEY_PATH}
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/lyd/.mujoco/mujoco-3.0.1/bin

(3)验证
       cd ~/.mujoco/mujoco-3.0.1/bin
./simulate ../model/humanoid.xml

能弹出窗口  但是没有人形机器人


2.python3.10.14   

./configure --prefix=/usr/local
sudo apt-get update
sudo apt-get install gcc

make&&sudo make install  安装完毕

ls /usr/bin/python*
sudo update-alternatives --remove python /usr/bin/python2.7删除


忽略//安装3.11
  $ sudo add-apt-repository ppa:deadsnakes/ppa
  $ sudo apt update
  $ sudo apt install python3.11
设置默认版本
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 2
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1
sudo update-alternatives --config python3

python3 -V

打不开终端了操
换回

3.Pinocchio安装
https://blog.csdn.net/qq_42243147/article/details/130454361

From source
(1)git clone --recursive https://github.com/stack-of-tasks/pinocchio
(2)新建build文件夹
cd pinocchio && mkdir build && cd build
(3)编译安装
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local

报错
CMake Error at cmake/package-config.cmake:110 (find_package):
  By not providing "Findeigenpy.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "eigenpy", but
  CMake did not find one.

  Could not find a package configuration file provided by "eigenpy"
  (requested version 2.7.10) with any of the following names:

    eigenpyConfig.cmake
    eigenpy-config.cmake

  Add the installation prefix of "eigenpy" to CMAKE_PREFIX_PATH or set
  "eigenpy_DIR" to a directory containing one of the above files.  If
  "eigenpy" provides a separate development package or SDK, be sure it has
  been installed.
Call Stack (most recent call first):
  CMakeLists.txt:176 (ADD_PROJECT_DEPENDENCY)


-- Configuring incomplete, errors occurred!
See also "/home/lyd/pinocchio/build/CMakeFiles/CMakeOutput.log".

sudo apt install ros-humble-eigenpy解决


  没安装依赖
Eigen3 for linear algebra. Version >= 3.0.5


还是报错 cmake找不到eigen?
https://github.com/stack-of-tasks/eigenpy
安装完成

cmake指定eigenpy路径
cmake -Deigenpy_DIR=/opt/openrobots/include/eigenpy
cmake -Deigenpy_DIR=/opt/openrobots/lib/cmake/eigenpy  这个是对的

在匹诺曹cmakelist加set(eigenpy_DIR /opt/openrobots/lib/cmake/eigenpy)可以解决但是还是没找到

Boost with components filesystem, unit_test_framework and system. Version >= 1.34
满足不用管


报错:
// Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) 
-- Failed to find Doxygen, documentation will not be generated.

sudo apt-get install doxygen解决


-----------安装完毕! 环境未配置?


二、Pinocchio中实现的主要算法

Pinocchio提供基于revisited Roy Featherstone's algorithms的多关节系统刚体算法,提供主要刚体算法的解析导数(例如:Recurisive Newton-Euler Algorithm或Articulated-Body Algorithm),详见官方论文。

实现的主要算法:

    正向运动学(forward kinematics):给定机器人构型,计算每个关节的空间位置并将其存储为坐标变换。如果给定速度或加速度,将计算每个关节的空间速度(以局部坐标系表示)。
    运动学雅可比矩阵(kinematic jacobian):在机械臂运动学中用来计算机械臂末端执行器的速度与各个关节运动速度之间的关系。
    逆动力学(inverse dynamics):采用Recursive Newton-Euler Algorithm (RNEA) 计算逆动力学。即给定所需的机器人构型、速度、加速度,计算并存储执行该运动所需的扭矩。
    关节空间惯性矩阵(Joint space inertia matrix):采用Compostie rigid body algortihm (CRBA)算法,计算关节空间惯性矩阵。
    前向动力学(forward dynamics):采用Articulated Body Algorithm(ABA)计算无约束的前向动力学。即给定机器人构型、速度、扭矩和外力的情况下,可以计算出由此产生的关节加速度。
    其他算法:其他算法包括约束正运动学,脉冲动力学,逆关节空间惯性矩阵,向心动力学。
————————————————

                        
原文链接:https://blog.csdn.net/carrot1128/article/details/132796851

一. pinocchio的优势

在机器人的model based control中有两个重要的动力学解算库:KDL和pinocchio,二者都可以通过解析urdf构建一个开链机器人。作者之前一段时间使用的gluon机械臂厂商提供了基于ros的sdk,所以很自然的接触学习了kdl。然而现在有在ros之外对机械臂进行仿真控制的需求。这就引发出一个问题:KDL难以在ros之外读取urdf。

KDL读取urdf的库名为kdl_parser,和KDL是相互独立的。kdl_parser是一个ros社区维护的包,阅读源码可以发现kdl_parser使用了库urdf_parser,而后者使用了ros的一些功能,因此难以在ros之外编译。事实上,KDL官方论坛里有人在2012年提出过这个需求,并且还给出了两条解决建议:1.在KDL内部直接实现urdf的解析而非kdl_parser。2. 在KDL中实现tree的保存功能,用ros解析urdf成tree后直接保存以便于在ros之外使用。然而十几年过去了,这个需求仍然没有被满足。因此果断选择使用pinocchio。
————————————————
   
原文链接:https://blog.csdn.net/qq_42243147/article/details/130454361


三.langchain
安装pip install langchain

使用 LangChain 通常需要与一个或多个模型提供程序、数据存储、 API 等集成。

对于这个例子,我们将使用 OpenAI 的 API,所以我们首先需要安装他们的 SDK:

pip install openai

然后我们需要在终端设置环境变量。

export OPENAI_API_KEY="sk-proj-OjiBkjTJ7yTHMATNWep9T3BlbkFJdT6DNPkFdZZUgEDjdwm6"

 OpenAI api简介https://zhuanlan.zhihu.com/p/664536646?utm_id=0

OpenAI api是一种开放的应用程序编程接口,通过这个接口,开发者可以访问OpenAI开发的chatgpt模型。chatgpt api是OpenAI api中的一个具体实现,它基于chatgpt模型提供了人工智能服务接口。通过chatgp api,开发者可以构建各种对话应用程序,如聊天机器人、虚拟助手等,提高应用程序的自然语言处理能力。

调用 LLM 是很好的第一步,但这仅仅是个开始。

通常在应用程序中使用 LLM 时,不会将用户输入直接发送到 LLM。

相反,您可能接受用户输入并构造一个提示符,然后将其发送给 LLM。

例如,在前一个示例中,我们传入的文本被硬编码为询问一家生产彩色袜子的公司的名称。在这个虚构的服务中,我们希望只获取描述公司业务的用户输入,然后用这些信息格式化提示符。

使用LangChain,这个事情变得很简单!

https://www.langchain.com.cn/getting_started/getting_started

-------------------------安装完毕!-------------------------------

二、安装robochain

1.rosdep update报错:

    #打开hosts文件

    sudo vi /etc/hosts

    #在最后面插入一句

    199.232.28.133 raw.githubusercontent.com

    #保存后退出,继续执行之前的指令rosdep update

127.0.0.1 huggingface.co
127.0.0.1 cdn-lfs.huggingface.co


2.编译
报错

Starting >>> gpt_interface
--- stderr: gpt_interface                         
CMake Error at /opt/ros/foxy/share/rosidl_adapter/cmake/rosidl_adapt_interfaces.cmake:60 (message):
  execute_process(/usr/local/bin/python3 -m rosidl_adapter --package-name
  gpt_interface --arguments-file
  /home/lyd/gpt_ws/build/gpt_interface/rosidl_adapter__arguments__gpt_interface.json
  --output-dir
  /home/lyd/gpt_ws/build/gpt_interface/rosidl_adapter/gpt_interface
  --output-file
  /home/lyd/gpt_ws/build/gpt_interface/rosidl_adapter/gpt_interface.idls)
  returned error code 1:

  Traceback (most recent call last):

    File "/usr/local/lib/python3.10/runpy.py", line 196, in _run_module_as_main
      return _run_code(code, main_globals, None,
    File "/usr/local/lib/python3.10/runpy.py", line 86, in _run_code
      exec(code, run_globals)
    File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_adapter/__main__.py", line 19, in <module>
      sys.exit(main())
    File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_adapter/main.py", line 53, in main
      abs_idl_file = convert_to_idl(
    File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_adapter/__init__.py", line 23, in convert_to_idl
      from rosidl_adapter.srv import convert_srv_to_idl
    File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_adapter/srv/__init__.py", line 16, in <module>
      from rosidl_adapter.resource import expand_template
    File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_adapter/resource/__init__.py", line 19, in <module>
      import em

  ModuleNotFoundError: No module named 'em'

Call Stack (most recent call first):
  /opt/ros/foxy/share/rosidl_cmake/cmake/rosidl_generate_interfaces.cmake:130 (rosidl_adapt_interfaces)
  CMakeLists.txt:25 (rosidl_generate_interfaces)


---
Failed   <<< gpt_interface [4.31s, exited with code 1]


缺少库?

sudo apt-get install python3-empy

pip3 install empy解决


接着编译
报错

Starting >>> gpt_interface
--- stderr: gpt_interface                         
CMake Error at /opt/ros/foxy/share/rosidl_adapter/cmake/rosidl_adapt_interfaces.cmake:60 (message):
  execute_process(/usr/local/bin/python3 -m rosidl_adapter --package-name
  gpt_interface --arguments-file
  /home/lyd/gpt_ws/build/gpt_interface/rosidl_adapter__arguments__gpt_interface.json
  --output-dir
  /home/lyd/gpt_ws/build/gpt_interface/rosidl_adapter/gpt_interface
  --output-file
  /home/lyd/gpt_ws/build/gpt_interface/rosidl_adapter/gpt_interface.idls)
  returned error code 1:

  AttributeError processing template 'srv.idl.em'

  Traceback (most recent call last):

    File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_adapter/resource/__init__.py", line 51, in evaluate_template
      em.BUFFERED_OPT: True,

  AttributeError: module 'em' has no attribute 'BUFFERED_OPT'

  

  During handling of the above exception, another exception occurred:

  

  Traceback (most recent call last):

    File "/usr/local/lib/python3.10/runpy.py", line 196, in _run_module_as_main
      return _run_code(code, main_globals, None,
    File "/usr/local/lib/python3.10/runpy.py", line 86, in _run_code
      exec(code, run_globals)
    File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_adapter/__main__.py", line 19, in <module>
      sys.exit(main())
    File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_adapter/main.py", line 53, in main
      abs_idl_file = convert_to_idl(
    File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_adapter/__init__.py", line 24, in convert_to_idl
      return convert_srv_to_idl(
    File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_adapter/srv/__init__.py", line 39, in convert_srv_to_idl
      expand_template('srv.idl.em', data, output_file, encoding='iso-8859-1')
    File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_adapter/resource/__init__.py", line 23, in expand_template
      content = evaluate_template(template_name, data)
    File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_adapter/resource/__init__.py", line 69, in evaluate_template
      _interpreter.shutdown()

  AttributeError: 'NoneType' object has no attribute 'shutdown'

Call Stack (most recent call first):
  /opt/ros/foxy/share/rosidl_cmake/cmake/rosidl_generate_interfaces.cmake:130 (rosidl_adapt_interfaces)
  CMakeLists.txt:25 (rosidl_generate_interfaces)


---
Failed   <<< gpt_interface [1.43s, exited with code 1]

Summary: 0 packages finished [2.23s]
  1 package failed: gpt_interface
  1 package had stderr output: gpt_interface
  2 packages not processed

运行
pip3 uninstall empy
pip3 install empy==3.3.4

报错
Starting >>> gpt_interface
--- stderr: gpt_interface                         
Traceback (most recent call last):
  File "/opt/ros/foxy/share/ament_cmake_core/cmake/core/package_xml_2_cmake.py", line 21, in <module>
    from catkin_pkg.package import parse_package_string
ModuleNotFoundError: No module named 'catkin_pkg'
CMake Error at /opt/ros/foxy/share/ament_cmake_core/cmake/core/ament_package_xml.cmake:94 (message):
  execute_process(/usr/local/bin/python3
  /opt/ros/foxy/share/ament_cmake_core/cmake/core/package_xml_2_cmake.py
  /home/lyd/gpt_ws/src/gpt_interface/package.xml
  /home/lyd/gpt_ws/build/gpt_interface/ament_cmake_core/package.cmake)
  returned error code 1
Call Stack (most recent call first):
  /opt/ros/foxy/share/ament_cmake_core/cmake/core/ament_package_xml.cmake:49 (_ament_package_xml)
  /opt/ros/foxy/share/rosidl_cmake/cmake/rosidl_generate_interfaces.cmake:226 (ament_package_xml)
  CMakeLists.txt:25 (rosidl_generate_interfaces)


---
Failed   <<< gpt_interface [1.60s, exited with code 1]

Summary: 0 packages finished [2.55s]
  1 package failed: gpt_interface
  1 package had stderr output: gpt_interface
  2 packages not processed

安装pip install catkin_pkg


报错
Starting >>> gpt_interface
--- stderr: gpt_interface                            
Traceback (most recent call last):
  File "/opt/ros/foxy/share/rosidl_generator_c/cmake/../../../lib/rosidl_generator_c/rosidl_generator_c", line 8, in <module>
    from rosidl_generator_c import generate_c
  File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_generator_c/__init__.py", line 15, in <module>
    from rosidl_cmake import convert_camel_case_to_lower_case_underscore
  File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_cmake/__init__.py", line 24, in <module>
    from rosidl_parser.parser import parse_idl_file
  File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_parser/parser.py", line 20, in <module>
    from lark import Lark
ModuleNotFoundError: No module named 'lark'
make[2]: *** [CMakeFiles/gpt_interface__rosidl_generator_c.dir/build.make:75:rosidl_generator_c/gpt_interface/srv/gpt.h] 错误 1
make[1]: *** [CMakeFiles/Makefile2:242:CMakeFiles/gpt_interface__rosidl_generator_c.dir/all] 错误 2
make[1]: *** 正在等待未完成的任务....
Traceback (most recent call last):
  File "/opt/ros/foxy/share/rosidl_generator_cpp/cmake/../../../lib/rosidl_generator_cpp/rosidl_generator_cpp", line 8, in <module>
    from rosidl_generator_cpp import generate_cpp
  File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_generator_cpp/__init__.py", line 17, in <module>
    from rosidl_cmake import generate_files
  File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_cmake/__init__.py", line 24, in <module>
    from rosidl_parser.parser import parse_idl_file
  File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_parser/parser.py", line 20, in <module>
    from lark import Lark
ModuleNotFoundError: No module named 'lark'
make[2]: *** [CMakeFiles/gpt_interface__cpp.dir/build.make:85:rosidl_generator_cpp/gpt_interface/srv/gpt.hpp] 错误 1
make[1]: *** [CMakeFiles/Makefile2:304:CMakeFiles/gpt_interface__cpp.dir/all] 错误 2
make: *** [Makefile:141:all] 错误 2
---
Failed   <<< gpt_interface [4.48s, exited with code 2]

安装
sudo apt-get install python3-lark-parser
sudo pip3 install  lark
编译成功!!!!!!1

报错
Starting >>> gpt_interface
--- stderr: gpt_interface                             
/usr/bin/ld: /usr/local/lib/libpython3.10.a(longobject.o): relocation R_X86_64_PC32 against symbol `PyExc_OverflowError' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: 最后的链结失败: bad value
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/gpt_interface__python.dir/build.make:91:rosidl_generator_py/gpt_interface/libgpt_interface__python.so] 错误 1
make[1]: *** [CMakeFiles/Makefile2:216:CMakeFiles/gpt_interface__python.dir/all] 错误 2
make: *** [Makefile:141:all] 错误 2
---
Failed   <<< gpt_interface [9.02s, exited with code 2]

简而言之,这个错误告诉我们,在执行过程中没有找到Python中应该可用的Python共享库。

运行sudo apt-get install python3 python3-dev


重新编译python3.10
./configure --prefix=/usr/local --enable-shared
make -j$(nproc)
sudo make altinstall # 使用altinstall避免替换系统的默认python版本
还是不行
sudo find / -name "libpython3.10.a"


重命名了试试
sudo mv /usr/local/lib/python3.10/config-3.10-x86_64-linux-gnu/libpython3.10.a /usr/local/lib/python3.10/config-3.10-x86_64-linux-gnu/libpython3.10.a.backup0
sudo mv /usr/local/lib/libpython3.10.a /usr/local/lib/libpython3.10.a.backup1
sudo mv /home/lyd/Python-3.10.14/libpython3.10.a /home/lyd/Python-3.10.14/libpython3.10.a.backup2
第一个报错没了

还原
sudo mv /usr/local/lib/python3.10/config-3.10-x86_64-linux-gnu/libpython3.10.a.backup0 /usr/local/lib/python3.10/config-3.10-x86_64-linux-gnu/libpython3.10.a
sudo mv /usr/local/lib/libpython3.10.a.backup1 /usr/local/lib/libpython3.10.a
sudo mv /home/lyd/Python-3.10.14/libpython3.10.a.backup2 /home/lyd/Python-3.10.14/libpython3.10.a
有点用  但是冲突了


# 设置环境变量以便在安装过程中启用Python共享库
export PYTHON_CONFIGURE_OPTS="--enable-shared"


编译一个单独的包和其依赖编译
colcon build --packages-up-to gpt_client
colcon build --packages-up-to gpt_interface
colcon build --packages-up-to gpt_server

报错变了
Starting >>> gpt_interface
--- stderr: gpt_interface                         
/usr/local/bin/python3: error while loading shared libraries: libpython3.10.so.1.0: cannot open shared object file: No such file or directory
CMake Error at /opt/ros/foxy/share/ament_cmake_core/cmake/ament_cmake_package_templates-extras.cmake:41 (message):
  execute_process(/usr/local/bin/python3
  /opt/ros/foxy/share/ament_cmake_core/cmake/package_templates/templates_2_cmake.py
  /home/lyd/gpt_ws/build/gpt_interface/ament_cmake_package_templates/templates.cmake)
  returned error code 127
Call Stack (most recent call first):
  /opt/ros/foxy/share/ament_cmake_core/cmake/ament_cmake_coreConfig.cmake:41 (include)
  /opt/ros/foxy/share/ament_cmake/cmake/ament_cmake_export_dependencies-extras.cmake:15 (find_package)
  /opt/ros/foxy/share/ament_cmake/cmake/ament_cmakeConfig.cmake:41 (include)
  CMakeLists.txt:19 (find_package)

添加python3.10库环境变量

export LD_LIBRARY_PATH=/usr/lib/python3:$LD_LIBRARY_PATH  没用


使用 ldconfig 检查当前共享库路径,并确保它包含 libpython3.10.so.1.0 的位置:
ldconfig -p | grep libpython

把3.10复制进去 试试
sudo cp -f /home/lyd/Python-3.10.14/libpython3.10.so.1.0 /lib/x86_64-linux-gnu
 解决 恢复之前报错?


# 检查是否已创建共享库
ls -l /usr/local/lib/libpython3.10.*

装python11
启用共享库编译

./configure --enable-optimizations --prefix=/usr/local --enable-shared LDFLAGS="-Wl,-rpath /usr/local/lib"


这个命令通常用于编译和配置Python或其他软件包的源代码。它使用了一些选项来定制编译过程。以下是对该命令中各部分的详细解释:

./configure: 这通常是软件包源代码目录中的脚本,旨在检查系统环境和配置编译选项。在运行make之前需要运行此脚本。
--enable-optimizations: 启用优化选项以提高编译后的程序性能。它可能会增加编译时间,但通常会产生更高性能的二进制文件。
--prefix=/usr/local: 指定安装目录。在此例中,编译后的软件包将被安装到/usr/local目录,而不是默认的/usr或其他位置。这样做的好处是可以将定制安装与系统安装区分开来。
--enable-shared: 允许编译共享库,这意味着生成的库将是动态的,而不是静态的。这在需要动态加载库的情况下很重要。
LDFLAGS="-Wl,-rpath /usr/local/lib": 这是链接器标志,提供了额外的配置。在这个例子中:
-Wl: 这是一个传递给链接器的选项。它告诉编译器将参数传递给链接器。
-rpath /usr/local/lib: -rpath选项指定运行时链接路径。这会告诉可执行文件在运行时在/usr/local/lib目录中查找共享库。这在安装到自定义位置时很重要,因为它确保共享库可以被找到。
综上所述,这个命令的目的是在启用优化的情况下编译一个程序,并确保编译后的共享库在运行时可以正确找到,同时将软件包安装到/usr/local目录。这通常用于编译自定义版本的Python,或者用于其他需要共享库的程序。


确保安装的Python启用了共享库,可以通过以下命令查看:

python3-config --ldflags
输出中应该包含类似-lpython3.8的内容,这表明Python使用了共享库。如果输出中没有这种信息,可能需要重新编译Python。


报错
 Starting >>> gpt_interface
--- stderr: gpt_interface                         
CMake Error at /opt/ros/foxy/share/rosidl_adapter/cmake/rosidl_adapt_interfaces.cmake:60 (message):
  execute_process(/usr/local/bin/python3 -m rosidl_adapter --package-name
  gpt_interface --arguments-file
  /home/lyd/gpt_ws/build/gpt_interface/rosidl_adapter__arguments__gpt_interface.json
  --output-dir
  /home/lyd/gpt_ws/build/gpt_interface/rosidl_adapter/gpt_interface
  --output-file
  /home/lyd/gpt_ws/build/gpt_interface/rosidl_adapter/gpt_interface.idls)
  returned error code 1:

  Traceback (most recent call last):

    File "<frozen runpy>", line 198, in _run_module_as_main
    File "<frozen runpy>", line 88, in _run_code
    File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_adapter/__main__.py", line 19, in <module>
      sys.exit(main())
               ^^^^^^
    File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_adapter/main.py", line 53, in main
      abs_idl_file = convert_to_idl(
                     ^^^^^^^^^^^^^^^
    File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_adapter/__init__.py", line 23, in convert_to_idl
      from rosidl_adapter.srv import convert_srv_to_idl
    File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_adapter/srv/__init__.py", line 16, in <module>
      from rosidl_adapter.resource import expand_template
    File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_adapter/resource/__init__.py", line 19, in <module>
      import em

  ModuleNotFoundError: No module named 'em'

Call Stack (most recent call first):
  /opt/ros/foxy/share/rosidl_cmake/cmake/rosidl_generate_interfaces.cmake:130 (rosidl_adapt_interfaces)
  CMakeLists.txt:25 (rosidl_generate_interfaces)


---
Failed   <<< gpt_interface [1.25s, exited with code 1]

Summary: 0 packages finished [2.07s]
  1 package failed: gpt_interface
  1 package had stderr output: gpt_interface
  2 packages not processed


找不到包
source ~/gpt_ws/install/setup.bash

缺模块
装了多个python 从sys.path里找模块
import sys
print(sys.path)

https://geek-docs.com/python/python-ask-answer/217_hk_1708786777.html
有时候我们需要手动修改sys.path的值,以便导入自定义的模块文件。我们可以通过以下方法来实现:
4.1. 在代码中临时修改sys.path
sys.path.append('/home/lyd/robopal/docs/source/python_apis')

4.2. 在环境变量中永久修改sys.path


sudo pip install langchain_openai
安装模块  
报错

[INFO] [1713861226.269393852] [gpt_client]: gpt_client already.
Traceback (most recent call last):
  File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_generator_py/import_type_support_impl.py", line 46, in import_type_support
    return importlib.import_module(module_name, package=pkg_name)
  File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 973, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'gpt_interface.gpt_interface_s__rosidl_typesupport_c'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/lyd/gpt_ws/install/gpt_client/lib/gpt_client/gpt_client", line 11, in <module>
    load_entry_point('gpt-client', 'console_scripts', 'gpt_client')()
  File "/home/lyd/gpt_ws/build/gpt_client/gpt_client/examples/client_retrieval_gpt.py", line 103, in main
    gpt_node = GPTClient(
  File "/home/lyd/gpt_ws/build/gpt_client/gpt_client/examples/client_retrieval_gpt.py", line 74, in __init__
    self.gpt_client = self.create_client(GPT, "gpt_service")
  File "/opt/ros/foxy/lib/python3.8/site-packages/rclpy/node.py", line 1253, in create_client
    check_for_type_support(srv_type)
  File "/opt/ros/foxy/lib/python3.8/site-packages/rclpy/type_support.py", line 29, in check_for_type_support
    msg_type.__class__.__import_type_support__()
  File "/home/lyd/gpt_ws/install/gpt_interface/lib/python3.11/site-packages/gpt_interface/srv/_gpt.py", line 254, in __import_type_support__
    module = import_type_support('gpt_interface')
  File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_generator_py/import_type_support_impl.py", line 48, in import_type_support
    raise UnsupportedTypeSupport(pkg_name)
rosidl_generator_py.import_type_support_impl.UnsupportedTypeSupport: Could not import 'rosidl_typesupport_c' for package 'gpt_interface'

应该是没启动Server


pip list 没这个库
pip3 list 有!!!

安装robopal 用pip安装!!
将robopal里的python要求注释掉  再安装


还是要让系统识别到python3.11
sudo ln -s /usr/bin/python3 /usr/bin/python
sudo ln -s /usr/local/bin/python3.11 /usr/bin/python

给可替换加链接
sudo ln -s /etc/alternatives/python3 /usr/bin/python3
sudo ln -s /usr/local/bin/python3.11 /etc/alternatives/python3

sudo ln -s /etc/alternatives/python3 /usr/bin/python3
sudo ln -s /usr/local/bin/python3.10 /etc/alternatives/python3


移除还原
rm /usr/bin/python
sudo rm /etc/alternatives/python3
sudo ln -s /usr/bin/python3.8 /etc/alternatives/python3

报错    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'pip==20.0.2' distribution was not found and is required by the application


换ubantu22.04
报错
from .pinocchio_pywrap import *
ImportError: libeigenpy.so: cannot open shared object file: No such file or directory

sudo apt install ros-humble-eigenpy解决

运行client报错
ImportError: Could not import sentence_transformers python package. Please install it with `pip install sentence-transformers`.
运行
sudo pip install sentence-transformers


Successfully installed MarkupSafe-2.1.5 jinja2-3.1.3 joblib-1.4.0 networkx-3.3 nvidia-cublas-cu12-12.1.3.1 nvidia-cuda-cupti-cu12-12.1.105 nvidia-cuda-nvrtc-cu12-12.1.105 nvidia-cuda-runtime-cu12-12.1.105 nvidia-cudnn-cu12-8.9.2.26 nvidia-cufft-cu12-11.0.2.54 nvidia-curand-cu12-10.3.2.106 nvidia-cusolver-cu12-11.4.5.107 nvidia-cusparse-cu12-12.1.0.106 nvidia-nccl-cu12-2.19.3 nvidia-nvjitlink-cu12-12.4.127 nvidia-nvtx-cu12-12.1.105 safetensors-0.4.3 scikit-learn-1.4.2 sentence-transformers-2.7.0 threadpoolctl-3.4.0 torch-2.2.2 transformers-4.40.1 triton-2.2.0

OSError: We couldn't connect to 'https://huggingface.co' to load this file, couldn't find it in the cached files and it looks like flax-sentence-embeddings/all_datasets_v4_MiniLM-L6 is not the path to a directory containing a file named config.json.
Checkout your internet connection or see how to run the library in offline mode at 'https://huggingface.co/docs/transformers/installation#offline-mode'.

设置环境变量换为国内镜像网站解决 要重启

#huggingface
#export HF_ENDPOINT=https://hf-mirror.com


https://glados.one/console/clash
梯子
2309431344@qq.com

https://xh-vip-cdn.xyz/api/v1/client/subscribe?token=4d2fdac8668762c9478ed6863c3a4695
 


报错
torch._C._cuda_init()
RuntimeError: Found no NVIDIA driver on your system. Please check that you have an NVIDIA GPU and installed a driver from http://www.nvidia.com/Download/index.aspx

  1. sudo ubuntu-drivers devices

  2. sudo ubuntu-drivers autoinstall

  3. 完成后重启 就可完成安装NVIDIA驱动

-----------------------------------------------------------------------------------------

运行server

报错

 from robopal.robots.base import BaseArm
ImportError: cannot import name 'BaseArm' from 'robopal.robots.base' (/home/lyd/robopal/robopal/robots/base.py)
[ros2run]: Process exited with failure 1

运行中间商API

沃卡 API 3.5—GPT官方中转api/中转站/官方key

AI全模型官方中转api,低价稳定快速,支持官方全模型,官方倍率计费,不限地域!

将 OpenAI API 基础地址 https://api.openai.com 替换为 https://3.5.wokaai.com即可

随后关闭debug模式  不然输入指令后机械臂不会动

-----------------------------------------------------------

复现完毕,有几个问题:

物块由于有质量 会受重力影响 导致机械臂到达不了预设位置 从而无法进行下一步动作

解决方法  将move函数 允许误差调大

调大允许误差后又出现夹取物体到目标位置后  物体与桌面接触后机械臂还会继续移动  导致发生碰撞 

解决方法 减小夹爪与物体之间的摩擦力,留出一定的误差空间 从而保护设备

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值