littlebot
Published on 2025-04-13 / 0 Visits
0

【源码】基于C++的Tendon机器人运动学与控制项目

项目简介

本项目是 tendon_experiments 代码仓库的导出项目,专注于Tendon(肌腱)驱动机器人的运动学和控制领域。整合了Matlab和C++代码,借助多种第三方库实现Tendon驱动机器人的建模、运动学计算、控制以及可视化等功能,同时提供Python绑定,方便用户使用。

项目的主要特性和功能

  1. 机器人配置管理:通过TOML格式配置文件灵活定义肌腱驱动机器人骨干参数、肌腱信息等。
  2. 运动学建模:利用 tendon::TendonRobot 类对机器人建模,实现形状计算、正向运动学计算等。
  3. 控制功能:Controller 类支持逆运动学计算,实现对机器人末端位置的控制。
  4. 第三方库集成:集成 levmar 优化库和 libros2qt 库,实现优化计算以及ROS2和Qt的共存。
  5. 可视化功能:借助 vistendon 库,将机器人和肌腱形状发布到RViz2进行可视化展示。
  6. 命令行应用示例:提供形状计算、长度和张力限制估计、末端控制等命令行应用示例,方便学习使用。
  7. Python绑定:部分功能提供Python绑定,可通过 cpptendon 模块在Python中使用。

安装使用步骤

编译环境准备

安装C++编译器(如GCC或Clang),确保OpenMP库可用(用于并行计算),安装Eigen库用于矩阵运算,确保编译环境支持OpenMP,安装Google的gtest测试框架。

编译

在命令行中使用CMake和Makefile工具进行编译。

运行测试

运行提供的测试程序,验证库的功能。

使用库

C++项目

在C++项目中包含必要的头文件,并调用库中的函数和类,进行肌腱动力学计算和分析。

Python项目

若要使用Python绑定,可进入构建目录,将其添加到 PYTHONPATH 中,然后导入并使用 cpptendon 模块。示例代码如下: python import cpptendon robot = cpptendon.TendonRobot.from_toml('my-robot.toml') controls = [1.0] * robot.state_size() home_shape = robot.home_shape() shape = robot.shape(controls) dl = robot.calc_dl(home_shape.L_i, shape.L_i) robot.to_toml('my-robot-copy.toml')

注意:具体的安装和编译步骤可能因操作系统和编译环境的不同而有所差异。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】