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

ros1使用过程中遇到的问题记录

Failed to fetch current robot state

如果使用的是moveit助手生成的demo.launch文件启动机械臂的话,应该是其他在运行的自己写的节点代码中少了spin函数,因为getCurrentPose函数依赖于spin,也可以使用AsyncSpinner。具体看下面这个链接https://answers.ros.org/question/302283/failed-to-fetch-current-robot-state/

代码执行到一半停住了

有的函数依靠spin函数,加上就行了。参照上一条

我出于测试,没写循环也没用spin函数,使用moveit将机械臂移动到一个预定义姿势,此行代码执行完,终端就不动了,既不结束程序,也不继续输出信息。加上spin就行了。

[startArm-5] process has died [pid 14527, exit code -6,

因为想自定义函数操作机械臂,而操作机械臂需要规划组MoveGroupInterface对象,将对象作为参数传入函数感觉有点占用性能,于是我将规划组对象移到main函数外面作为全局变量,就出现了此报错。
moveit::planning_interface::MoveGroupInterface arm("arm_PG"); 

原因:实例化规划组对象需要先实例化NodeHandle对象,但NodeHandle对象是在main函数内实例化。而NodeHandle需要在init函数之后定义,而init函数需要传入main函数的argc和argv。这就导致不能干脆地将规划组MoveGroupInterface实例化直接移出来作为全局变量。

解决办法:可以定义全局规划组指针,如下

#include "" // 一堆includemoveit::planning_interface::MoveGroupInterface *arm;    // 全局指针int main(int argc, char *argv[])
{ros::init(argc, argv, "test_node");ros::NodeHandle nh;arm = new moveit::planning_interface::MoveGroupInterface("arm_PG");    // 给指针填上东西// 获取末端名称std::string endEffector_link = arm->getEndEffectorLink();    // .调用需要改为->调用
}

参考https://answers.ros.org/question/350643/node-crashes-with-ros-does-not-seem-to-be-running/

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

相关文章:

  • centos7给已有分区进行扩容
  • package.json
  • 【项目精选】户籍管理系统(视频+论文+源码)
  • 【IP技术】网络安全防护措施
  • 基于AIOT技术的智慧教室智能物联管控系统设计与实现(提纲)
  • C 指针的深造
  • 大数据之-Nifi-应用场景2-2_设置putfile处理器自动创建目标文件夹_以及存在重复文件时自动覆盖---大数据之Nifi工作笔记0006
  • buuctf Web 下
  • 【项目精选】javaEE土地档案管理系统(源码+论文+视频)
  • JVM那些事——垃圾回收和内存分配
  • 什么牌的运动耳机比较好、运动耳机排行榜10强
  • 华为OD机试题 - N 进制减法(JavaScript)
  • MyBatis 之三(查询操作 占位符#{} 与 ${}、like查询、resultMap、association、collection)
  • 【云原生之Docker实战】使用Docker部署Web在线聊天室Rocket.Chat
  • 阿里一面:谈一下你对DDD的理解?2W字,帮你实现DDD自由
  • 嵌入式Linux入门级板卡的神经网络框架ncnn移植与测试-米尔i.MX6UL开发板
  • 扬帆优配|杠杆资金重仓股曝光,3只科创板股获多路资金青睐
  • 资讯汇总230217
  • 前置知识- 初值问题、ode 系列函数的用法、刚性 (stiff) 方程简介、高阶微分方程的降阶
  • # AutoSar一文概览
  • 分享88个HTML旅游交通模板,总有一款适合您
  • C#中GDI+的矩形功能扩展
  • 数字经济活动题
  • html 的相对路径和绝对路径
  • selenium进行QQ空间登录
  • SpringCloud(二)负载均衡服务调用Ribbon、服务接口调用OpenFeign案例详解
  • 大数据第一轮复习笔记(2)
  • 3|射频识别技术|期末考试知识点|第3讲_RFID射频前端|重点题目
  • LeetCode 2108. 找出数组中的第一个回文字符串
  • 第63章 SQL 快速参考教程