差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
机器人:周边硬件:空间鼠标:space-mouse-在linux上读取安装过程 [2025/11/11 02:30] – [space-mouse-在linux上读取安装过程] ctbots机器人:周边硬件:空间鼠标:space-mouse-在linux上读取安装过程 [2025/11/11 10:36] (当前版本) – [系统级软件安装] ctbots
行 1: 行 1:
-====== space-mouse-在linux上初始化安装和使用过程 ======+{{htmlmetatags>metatag-robots=(index, follow) 
 +metatag-keywords=(space mouse, linux, spacenavd, 3Dconnexion, pyspacemouse, hidraw权限, Ubuntu22, 开源驱动, 空间鼠标数据读取) 
 +metatag-description=(了解如何在Linux系统上通过开源驱动spacenavd和Python库pyspacemouse来初始化、安装和测试Space Mouse设备的数据读取功能。) 
 +metatag-media-og:image=(:wiki:space-mouse-linux-install.jpg) 
 +metatag-og:description=(获取详细的步骤指南,学习如何在Ubuntu Linux系统上设置并运行您的Space Mouse,包括软件安装、权限配置及Python代码测试。) 
 +metatag-og:any=(探索解决官方驱动不兼容问题的方法,并利用开源工具实现空间鼠标的精确控制。) 
 +}} 
 +====== space-mouse-在linux上初始化安装和测试过程 ======
  
 我们计划在linux上实现space mouse的数据读取; 首先通过usb设备连接空间鼠标,并开机。 我们计划在linux上实现space mouse的数据读取; 首先通过usb设备连接空间鼠标,并开机。
行 8: 行 15:
  
 <code shell install.sh> <code shell install.sh>
 +sudo apt-get install libhidapi-dev
 sudo apt install spacenavd libspnav-dev sudo apt install spacenavd libspnav-dev
 sudo systemctl start spacenavd sudo systemctl start spacenavd
行 13: 行 21:
  
 # 必须执行下面的命令,否则 后续的python库会提示无权限 # 必须执行下面的命令,否则 后续的python库会提示无权限
-sudo echo 'KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0664", GROUP="plugdev"' /etc/udev/rules.d/99-hidraw-permissions.rules+echo 'KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0664", GROUP="plugdev"' | sudo tee /etc/udev/rules.d/99-hidraw-permissions.rules
 sudo usermod -aG plugdev $USER sudo usermod -aG plugdev $USER
 newgrp plugdev newgrp plugdev
 +
 +# 分配权限
 +sudo vim /etc/udev/rules.d/99-spacemouse.rules
 +
 +# vim中输入如下的配置
 +SUBSYSTEM=="usb", ATTRS{idVendor}=="046d", MODE="0666", GROUP="plugdev"
 +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="046d", MODE="0666", GROUP="plugdev"
 +
 +# 退出vim,执行刷新
 +sudo udevadm control --reload-rules && sudo udevadm trigger
  
 </code> </code>
行 26: 行 44:
  
 ===== 使用Python代码测试 ===== ===== 使用Python代码测试 =====
 +
 +首先我们先 淘汰:spnav ,不然会遇到 .venv/bin/python: undefined symbol: PyCObject_AsVoidPtr 之类的错误
 +
 +虽然看到 https://github.com/real-stanford/diffusion_policy 这个项目都用了spnav,而且python版本是 3.9 
 +
 +我查看发布历史:https://pypi.org/project/spnav/#history 可以看到这玩意上次发布是 14年前,对于 比较新的Python3.10之类的解释器不兼容; 我们不可能为了一个库降级Python版本,直接淘汰这个库
 +
 +推荐 pyspacemouse,还算是比较新的,而且使用也没大问题
 +
 pip install pyspacemouse pip install pyspacemouse
  
-<code python test.py>+<code python try.py>
 import pyspacemouse import pyspacemouse
 import time import time