当前位置: 首页 > news >正文

spacenavd

介绍spacenavd开源项目,主要是因为在斯坦福大学的UMI项目中使用了该项目。在斯坦福大学的 UMI(Universal Manipulation Interface)项目中,Spacenavd 主要用于处理 3D Space  Mouse(空间鼠标)的输入,它起着以下关键作用:

  1. 硬件接口:
    Spacenavd 是 3D Space Mouse 的驱动程序守护进程;
    负责与 Space Mouse 硬件设备进行通信;
    处理原始的设备输入数据
  2. 机器人控制:
    允许操作者使用 Space Mouse 直观地控制机器人
    提供 6 自由度(6-DOF)的控制:
    3个平移方向 (x, y, z)
    3个旋转方向 (roll, pitch, yaw)
  3. 人机交互:
    作为人类操作者和机器人系统之间的接口
    提供实时、精确的位置和姿态控制
    使操作者能够进行演示和数据收集;
  4. 数据收集:
    记录人类操作者的控制命令;
    为机器人学习提供示范数据;
    帮助收集训练数据集;
  5. 系统集成:
      # 示例代码片段with Spacemouse(shm_manager=shm_manager) as sm:# 获取 Space Mouse 的状态sm_state = sm.get_motion_state_transformed()# 处理位置变化dpos = sm_state[:3] * (env.max_pos_speed / frequency)# 处理旋转变化drot_xyz = sm_state[3:] * (env.max_rot_speed / frequency)
  6. 功能特点
    实时响应;
    精确控制;
    低延迟;
  7. 在项目中的应用:
    用于机器人技能的演示;
    收集训练数据;
    验证和测试机器人控制策略;
    进行实时操作干预;
  8. 系统要求:
    Linux 操作系统;
    USB 接口;
    适当的权限设置;
    正确的驱动程序配置;

Spacenavd 是 UMI 项目中实现人机交互和数据收集的重要组件,它使得操作者能够直观、精确地控制机器人,并为机器人学习提供必要的训练数据。

Spacenavd 是一个免费软件用户空间驱动程序(守护进程),适用于 6 自由度输入设备,如 3Dconnexion 的太空鼠标。它与 3Dconnexion 提供的原版专有守护进程 3dxsrv 兼容,可作为其替代品直接替换任何为 3Dconnexion 驱动器编写的程序,同时也为专门为 spacenavd 设计的程序提供了改进的通信机制。

依赖项

为了编译 spacenavd 守护进程,您需要以下组件:

  • GNU C 编译器
sudo apt-get update
sudo apt-get install build-essential

这个命令会安装 gcc、g++ 和 make 等基本的编译工具。

依赖项

为了编译 spacenavd 守护进程,您需要以下组件:

  • GNU C 编译器
  • GNU make
  • Xlib(libX11,可选)
  • XInput2(libXi,可选)
  • Xtest(libXtst,可选)

 可以一次性安装所有基本编译工具(推荐):

# 安装 build-essential 包(包含 gcc、make 和其他必要的编译工具)
sudo apt install build-essential

安装

如果已安装了依赖项,请运行 ./configuremake 来编译守护进程,然后运行 make install 来安装。默认安装前缀是 /usr/local。如果您希望在其他位置安装,可以在配置脚本中传递 --prefix=/whatever 参数。

sudo ./configure
sudo make
sudo make install

运行 spacenavd

spacenavd 被设计为启动时作为系统守护进程运行。
确认系统使用的是哪种初始化系统:

(base) wjj@wjj-HP-348-G7:~/下载$ sudo ps -p 1
[sudo] wjj 的密码: PID TTY          TIME CMD1 ?        00:00:09 systemd

如果您的系统使用 SysV init,只需以 root 用户身份运行 setup_init,以安装 spacenavd 初始化脚本,并使其在启动时自动运行。要在安装后立即启动守护进程而无需重启系统,只需以 root 用户身份键入 /etc/init.d/spacenavd start

如果您的系统使用 BSD init 或其他初始化系统,那么您需要按照初始文档设置。您可以使用提供的 init_script 文件作为起点。

对于运行 systemd 的系统,contrib/systemd 目录下有一个 spacenavd.service 文件。

http://www.lryc.cn/news/471204.html

相关文章:

  • C#WPF的XAML的语法详谈和特性
  • 一篇文章讲透数据结构之二叉搜索树
  • 新手入门c++(8)
  • 新手铲屎官提问,有哪几款噪音低的宠物空气净化器推荐
  • 解决RabbitMQ脑裂问题
  • 经纬恒润AUTOSAR成功适配芯钛科技Alioth TTA8车规级芯片
  • 4、java random随机数、一维数组、二维数组
  • C++ 魔法三钥:解锁高效编程的封装、继承与多态
  • 姿态传感器(学习笔记上)
  • labelimg使用教程
  • 力扣21 : 合并两个有序链表
  • 【Spring】Spring Boot 配置文件(7)
  • 《向量数据库指南》——解锁Wikipedia文章向量的跨语言搜索秘籍
  • 【力扣 + 牛客 | SQL题 | 每日5题】牛客SQL热题204,201,215
  • 下载数据集用于图像分类并自动分为训练集和测试集方法
  • Python xlrd库介绍
  • Javascript立即执行函数
  • Linux相关概念和易错知识点(17)(文件、文件的系统调用接口、C语言标准流)
  • 三防加固工业平板国产化的现状与展望
  • 3.1.3 看对于“肮脏”页面的处理
  • 学 Python 还是学 Java?——来自程序员的世纪困惑!
  • Spring Web MVC 入门
  • 吃牛羊肉的季节来了,快来看看怎么陈列与销售!
  • 租房业务全流程管理:Spring Boot系统应用
  • GCC之编译(7)Linker链接脚本
  • 【设计模式系列】适配器模式(九)
  • C# 文档打印详解与示例
  • Spring Cloud --- Sentinel 熔断规则
  • 使用爬虫爬取Python中文开发者社区基础教程的数据
  • 你了解kafka消息队列么?