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

MoveIt2中使用trac_ik

文章目录

  • 1.下载trac_ik的源码
  • 2.安装 NLopt library
  • 3.编译源码
  • 4.使用
  • 4.1.已经配置好的项目
  • 4.2.新使用moveIt_setup_assistant进行配置时

在ros1+moveit1中,使用trac_ik是很简单的一件事情:【TRAC-IK Kinematics Solver】
但是在Ros2中,无论MoveIt2也好,还是trac_ik也好,都没有提供标准的trac_ik集成(使用)方法。
不过有个大神他基于trac_ik的源码实现了功能:【aprotyas / trac_ik】
使用起来也挺方便

1.下载trac_ik的源码

将【aprotyas /trac_ik】的源码压缩包下载下来,放到一个文件夹中。我这里放在trac_ik文件夹中。
然后将解压后的东西放在src文件夹中。
在这里插入图片描述

2.安装 NLopt library

安装过程参考:【 stevengj / nlopt 】

3.编译源码

colcon build

在这里插入图片描述
在编译时,出现这个问题:

‘const IKCallbackFn’ {aka ‘const class std::function<void(const geometry_msgs::msg::Pose_<std::allocator >&, const std::vector<double, std::allocator >&, moveit_msgs::msg::MoveItErrorCodes_<std::allocator >&)>’} has no member named ‘empty’; did you mean ‘_M_empty’?

在这里插入图片描述原因据chatgpt说是std::function的empty()函数是在c++14才引入的,而我目前使用的貌似是c++11的std库。
在这里插入图片描述真正的原因作者回复了:【 Ros2 plugin #34 】
主要是之前的库是boot::function,现在改成了std::function。因此,需要改一下
在这里插入图片描述

     - if (!solution_callback.empty())+ if (solution_callback)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xQocUOL7-1685325527159)(hbae4.png)]

4.使用

到我们自己的moveit项目中,source一下trac_ik的setup.bash
在这里插入图片描述

4.1.已经配置好的项目

然后按照这里,在我们之前用moveit_setup_assistant创建的配置文件中,将原来的:
kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin
更改为:
kinematics_solver: trac_ik_kinematics_plugin/TRAC_IKKinematicsPlugin
在这里插入图片描述

4.2.新使用moveIt_setup_assistant进行配置时

在这里插入图片描述
最后对我们自己的moveit项目colcon build一下,然后就可以使用trac_ik来规划路径了。

相关文章:

MoveIt2中使用trac_ik

文章目录 1.下载trac_ik的源码2.安装 NLopt library3.编译源码4.使用4.1.已经配置好的项目4.2.新使用moveIt_setup_assistant进行配置时 在ros1moveit1中&#xff0c;使用trac_ik是很简单的一件事情&#xff1a;【TRAC-IK Kinematics Solver】 但是在Ros2中&#xff0c;无论Mov…...

搭建服务器的主流中间件有哪些?如何在外网访问内网的服务?

计算机业内人士对于搭建服务器的中间件并不陌生&#xff0c;apache、tomcat、IIS、nginx 都是比较常用的搭建服务器的中间件&#xff0c;它们之间还是有一些区别差异的。今天就说说这些中间件之间有哪些区别&#xff0c;以及如何利用快解析实现内网主机应用让外网访问。 首先说…...

MapperFacade使用

一、MapperFacade是Orika框架中的一个核心类&#xff0c;它用于管理对象映射。使用MapperFacade可以方便地将一个对象转换为另一个对象。以下是使用MapperFacade的基本步骤&#xff1a; 创建一个MapperFactory对象。 使用MapperFactory对象注册对象之间的映射关系。 调用Mapp…...

@开源爱好者,字节跳动这项技术,正式宣布开源了

告诉大家一个好消息&#xff0c;字节跳动的云原生数据仓库 ByConity 正式宣布开源了。 ByConity 是一个云原生数据仓库&#xff0c;由字节跳动数据平台团队在国际知名开源数据库管理系统 ClickHouse 社区版本基础上开发。 早期&#xff0c;字节跳动的数据存储使用的是 ClickHou…...

React学习笔记八-受控与非受控组件

此文章是本人在学习React的时候&#xff0c;写下的学习笔记&#xff0c;在此纪录和分享。此为第八篇&#xff0c;主要介绍非受控组件与受控组件。 目录 1.非受控组件 1.1表单提交案例 1.2案例的总结 2.受控组件 2.1受控组件案例 2.1受控案例总结 1.非受控组件 1.1表单提…...

gcc编译

一、GCC简介 GCC&#xff08;GNU Compiler Collection&#xff09;是 GNU 工具链的主要组成部分&#xff0c;是一套以 GPL 和 LGPL 许可证发布的程序语言编译器自由软件&#xff0c;由 Richard Stallman 于 1985 年开始开发。 GCC 原名为 GNU C语言编译器&#xff0c;因为它原本…...

华为云服务器租用费用及CPU性能(1核2G/2核4G/4核8G)

华为云HECS云服务器即云耀云服务器&#xff0c;类似于阿里云和腾讯云的轻量应用服务器&#xff0c;HECS云服务器1核2G配置39.02元一年、2核4G配置99元一年、4核8G配置69.94元3个月&#xff0c;华为云百科分享华为云HECS云服务器租用费用及CPU性能详解&#xff1a; 目录 华为云…...

Redis---事务管道

目录 一、Redis的事务是什么&#xff1f; 1.1 Redis和关系型数据库事务的区别 二、怎么玩Redis事务&#xff1f; 2.1 正常执行&#xff1a; 2.2 放弃事务 2.3 全体连坐 2.4 冤头债主 2.5 watch监控 三、管道 3.1 为什么会引入管道这个概念呢&#xff1f;我们首先来看一…...

Python的内置数据类型(通过故事来学习)

有一天&#xff0c;小李在学习Python语言时&#xff0c;听到了一个关于内置数据类型的故事。 Python内置了很多数据类型&#xff0c;比如整数、浮点数、字符串、布尔值等等。这些数据类型可以帮助我们更方便地处理数据&#xff0c;提高代码的效率。 小李很好奇&#xff0c;就…...

继瑞吉外卖后的又一个项目——SpringBoot+Vue的前后端博客系统

文章目录 博客系统项目介绍前言项目演示前台演示后台演示 组织结构后端组织结构前端组织结构 技术选型前端技术后端技术架构图系统架构图业务架构图 模块介绍前端模块后端模块 环境搭建开发工具开发环境项目运行 未完待续结语 博客系统项目介绍 前言 本项目已开源在Gitee 后端…...

2023暑期实习历程总结

一.前言 Hello 大家好久不见&#xff0c;已经三个月左右没有更新了&#xff0c;那我这三个月在干什么呢&#xff1f;自2023年3月中旬开始到现在五月底这期间接近三个月的时间里&#xff0c;我一直在进行2023暑期实习的投递和面试。这期间投递了包括各大中厂&#xff08;阿里&am…...

UART-STM32

UART-STM32 通信的目的:将一个设备的数据传送到另一个设备,扩展硬件系统 通信协议:制定通信的规则,通信双方按照协议规则进行数据收发 第一步,开启时钟,把需要用的USART和GPIO的时钟打开 第二步,GPIO初始化,把TX配置成复用输出,RX配置成输入 第三步,配置USART,直接使…...

jetson nano csi摄像头 tensorrt 运行yolov8检测

jetson nano csi摄像头 tensorrt 运行yolov8检测 基于原始onnx模型的tensorrt预测1. 在本地电脑训练环境下将onnx模型导出yolov8 导出onnx 模型2. 在jetson nano下 转换到tensorrt模型配置好环境后 使用trtexec 生成engine3. 使用python3 tensorrt 读取csi摄像头进行预测修改on…...

提升国际品牌影响力:小企业海外网红营销实战指南

在当今数字化时代&#xff0c;小企业们越来越意识到海外市场的巨大潜力。与此同时&#xff0c;海外网红的崛起也为小企业提供了一个独特的机会&#xff0c;通过与他们合作&#xff0c;迅速拓展国际市场并吸引更多目标受众的关注。然而&#xff0c;对于许多小企业来说&#xff0…...

从零开始的力扣刷题记录-第三十九天

力扣每日四题 228. 汇总区间-简单1431. 拥有最多糖果的孩子-简单637. 二叉树的层平均值-简单49. 字母异位词分组-中等总结 228. 汇总区间-简单 题目描述&#xff1a; 给定一个 无重复元素 的 有序 整数数组 nums 。 返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表 。也…...

PDPS教程:机器人工作站导出为JT格式文件操作方法

目录 功能简介 功能注意事项 导出JT格式文件操作 导出JT格式文件查看 功能简介 PDPS软件不仅能够从外部导入JT格式的模型文件&#xff0c;还能够将创建好的机器人工作站/生产线导出为JT格式的模型文件。这个能够导出JT格式文件的功能就是“Export JT”命令。 使用“Expor…...

【面试】为什么Mysql用B+树做索引而不用B-树或红黑树

文章目录 前言一、B树只有叶节点存放数据&#xff0c;其余节点用来索引&#xff0c;而B-树是每个索引节点都会有Data域。二、那么Mysql如何衡量查询效率呢&#xff1f;三、B树相对于红黑树的区别 前言 原因如下&#xff1a; B树能显著减少IO次数&#xff0c;提高效率B树的查询…...

教你如何选择真正有用的防关联指纹浏览器

从事亚马逊、eBay、Shopify等电商平台的卖家都知道&#xff0c;如果我们需要在这些平台上经营多个店铺&#xff0c;需要使用多个账号为店铺进行评价&#xff0c;在Facebook和Instagram上做SEO和广告&#xff0c;通常也需要使用一个防关联指纹浏览器。 防关联指纹浏览器主要解决…...

某程序员哀叹:月薪四五万,却每天极度焦虑痛苦,已有生理性不适,又不敢裸辞,该怎么办?

高薪能买来快乐吗&#xff1f; 来看看这位程序员的哀叹&#xff1a; 实在是扛不住了&#xff0c;每天都在极度焦虑和痛苦中度过&#xff0c;早上起来要挣扎着做心理建设去上班&#xff0c;已经产生生理性的头晕恶心食欲不振。有工作本身的原因&#xff0c;更多是自己心态的问…...

不愧是腾讯出来的,太厉害了...

前段时间公司缺人&#xff0c;也面了许多测试&#xff0c;一开始瞄准的就是中级水准&#xff0c;当然也没指望能来大牛&#xff0c;提供的薪资在15-20k这个范围&#xff0c;来面试的人有很多&#xff0c;但是平均水平真的让人很失望。看了简历很多上面都是写有4年工作经验&…...

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周&#xff0c;有很多同学在写期末Java web作业时&#xff0c;运行tomcat出现乱码问题&#xff0c;经过多次解决与研究&#xff0c;我做了如下整理&#xff1a; 原因&#xff1a; IDEA本身编码与tomcat的编码与Windows编码不同导致&#xff0c;Windows 系统控制台…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度​

一、引言&#xff1a;多云环境的技术复杂性本质​​ 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时&#xff0c;​​基础设施的技术债呈现指数级积累​​。网络连接、身份认证、成本管理这三大核心挑战相互嵌套&#xff1a;跨云网络构建数据…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)

HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

练习(含atoi的模拟实现,自定义类型等练习)

一、结构体大小的计算及位段 &#xff08;结构体大小计算及位段 详解请看&#xff1a;自定义类型&#xff1a;结构体进阶-CSDN博客&#xff09; 1.在32位系统环境&#xff0c;编译选项为4字节对齐&#xff0c;那么sizeof(A)和sizeof(B)是多少&#xff1f; #pragma pack(4)st…...

【位运算】消失的两个数字(hard)

消失的两个数字&#xff08;hard&#xff09; 题⽬描述&#xff1a;解法&#xff08;位运算&#xff09;&#xff1a;Java 算法代码&#xff1a;更简便代码 题⽬链接&#xff1a;⾯试题 17.19. 消失的两个数字 题⽬描述&#xff1a; 给定⼀个数组&#xff0c;包含从 1 到 N 所有…...

LeetCode - 394. 字符串解码

题目 394. 字符串解码 - 力扣&#xff08;LeetCode&#xff09; 思路 使用两个栈&#xff1a;一个存储重复次数&#xff0c;一个存储字符串 遍历输入字符串&#xff1a; 数字处理&#xff1a;遇到数字时&#xff0c;累积计算重复次数左括号处理&#xff1a;保存当前状态&a…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》

在注意力分散、内容高度同质化的时代&#xff0c;情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现&#xff0c;消费者对内容的“有感”程度&#xff0c;正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中&#xff0…...

Java - Mysql数据类型对应

Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...

工程地质软件市场:发展现状、趋势与策略建议

一、引言 在工程建设领域&#xff0c;准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具&#xff0c;正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

MySQL账号权限管理指南:安全创建账户与精细授权技巧

在MySQL数据库管理中&#xff0c;合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号&#xff1f; 最小权限原则&#xf…...