jaka+realsense+aruco+手眼标定(python)

      第二次重建了项目的手眼标定部分……有很多第一次记录遗漏的地方,在此补充。

 一、JAKA机械臂末端位姿发布

      此次我是自己写的节点发布,建议一开始新建工作空间的时候就引入roscpp,rospy,std_msgs。

$ catkin_create_pkg package_name depend1 depend2 depend3
$ catkin_create_pkg roscpp  rospy  std_msgs

   发布末端位置前要先阅读JAKA官方说明手册中末端姿态读取部分,然后根据官方的说明写末端姿态发布节点。我的节点代码放在下面供大家参考:

#!/usr/bin/env python
# -*- coding:UTF-8 -*-
import jkrc
import rospy
import numpy as np
from geometry_msgs.msg import PoseStampeddef Path_Publish():  # 初始化节点rospy.init_node("publish_curunt_state")# 创建一个发布者,发布数据类型为PoseStampedpub = rospy.Publisher("/arm_pose", PoseStamped, queue_size=10)# 设置发布频率rate = rospy.Rate(10)while not rospy.is_shutdown():# 消息status = robot.get_tcp_position()rot_matrix = robot.rpy_to_rot_matrix([status[1][3], status[1][4], status[1][5]])qua_result = robot.rot_matrix_to_quaternion(rot_matrix[1])status_msg = PoseStamped()status_msg.header.frame_id = "joint_0"status_msg.header.stamp = rospy.Time.now()status_msg.pose.position.x = status[1][0] * 0.001status_msg.pose.position.y = status[1][1] * 0.001status_msg.pose.position.z = status[1][2] * 0.001status_msg.pose.orientation.w = qua_result[1][0]status_msg.pose.orientation.x = qua_result[1][1]status_msg.pose.orientation.y = qua_result[1][2]status_msg.pose.orientation.z = qua_result[1][3]# 发布消息# rospy.loginfo("Publishing Plan...")pub.publish(status_msg)# 按照循环频率延时rate.sleep()if __name__ == "__main__":robot = jkrc.RC("10.5.5.100")if robot is None:print("返回一个机器人对象失败")else:print("返回一个机器人对象")log_success = robot.login()  # 登录if log_success[0] != 0:print("登录失败")else:print("登录成功")power_success = robot.power_on()  # 上电if power_success[0] != 0:print("上电失败")else:print("上电成功")enable_success = robot.enable_robot()if enable_success[0] != 0:print("使能失败")else:print("使能成功")try:Path_Publish()except rospy.ROSInterruptException:pass

二、Realsense驱动和包的安装

  关于realsense的安装,网上有很多例子,可以查询自己的ubuntu版本后搜索相关安装教程,我的是20.04,参考的教程为:

Ubuntu20.04+RealSense D435i_ubuntu20.04安装d435i-CSDN博客

  但是实际上我的安装并不顺利,到下面一步都是没有问题的,看得到点云图(当然你要用手眼标定其实可能并不需要下面的库,下载aruco库就可以了,把realsense驱动装了就行应该??)。

   不过在编译相关库的时候出现了如下的报错:

   当时傻傻的按照提示用catkin_make_isolated和查看erro.log按照提示装thread,甚至花了80软妹币去淘宝找了个技术员(除了浪费我2小时啥都没解决。
  后面查了很多博客,发现这个默认下载的是ROS2版本,我要下载ROS1版本的,打开下面的地址版本选择ros1即可。

https://github.com/IntelRealSense/realsense-ros/blob/ros1-legacy/README.md#installation-instructions

值得一提的是,使用命令:

roslaunch realsense2_camera rs_camera.launch

时,并不会有弹窗,需要手动打开rviz订阅相关话题才能看到图像。

三、Aruco库安装和使用

安装aruco_ros库的时候我参考的博客:

aruco_ros使用-CSDN博客

但实际上我在编译的时候也出现了类似的问题二中的问题,联系上面的经历,我立马去换了个aruco的版本(ubuntu20对应的是noetic),下载完了即可。

四、鱼香ROS的手眼标定包

具体包的使用看:

基于ROS的机械臂手眼标定-基础使用_鱼香ros手眼标定-CSDN博客

实际上他需要开三个节点,机械臂末端位姿发布节点、aruco识别位姿发布节点和手眼标定计算节点,注意改一下话题设置、aruco码ID等配置,即可,在我上一篇的博客里面已经说明,就不多赘述了。

JAKA+aruco+realsense+眼在手外的手眼标定_jaka标定-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/493650.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python从入门到精通指南【第101篇—入门到精通】【文末送书-24】

文章目录 Python从入门到精通指南第一步:入门基础1.1 安装Python1.2 Hello World1.3 变量和数据类型1.4 控制流程 第二步:深入学习2.1 函数和模块2.2 列表、元组和字典2.3 文件操作 第三步:高级主题3.1 面向对象编程3.2 异常处理3.3 正则表达…

Laravel03 路由到控制器与连接数据库

Laravel03 路由到控制器与连接数据库 1. 路由到控制器2. 连接数据库 1. 路由到控制器 如下图一些简单的逻辑处理可以放在web.php中,也就是路由的闭包函数里面。但是大的项目,我们肯定不能这么写。 为什么保证业务清晰好管理,都应该吧业务逻辑…

如何申请阿里云服务器ECS

首先打开官网云服务器ECS_云主机_服务器托管_计算-阿里云,点击试用 创建使用完成以后,到控制台,会有一个默认的实例 点击实例 修改密码 修改完密码以后 点击远程连接 下载客户端工具 配置账号信息 简历SSH连接 输入密码 连接客户端成功…

李一舟事件新进展:或面临三种处罚,周鸿祎:不该收费;OpenAI神秘项目浮出水面;马斯克推出Xmail硬刚谷歌;百度架构调整

1.李一舟事件新进展:或面临三种处罚,周鸿祎:不该收费! 近日,拥有百万级粉丝量的互联网博主“李一舟”推出的AI课程被下架事引继续发酵。 央视财经频道报道,有不少学员反馈课程与宣传的不一样,…

【前端素材】推荐优质后台管理系统Be admin平台模板(附源码)

一、需求分析 后台管理系统(或称作管理后台、管理系统、后台管理平台)是一种专门用于管理网站、应用程序或系统后台运营的软件系统。它通常由一系列功能模块组成,为管理员提供了管理、监控和控制网站或应用程序的各个方面的工具和界面。以下…

通天星CMSV6 车载视频监控平台信息泄露漏洞

免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…

今天面了个字节拿 38K 出来的测试,让我见识到了基础的天花板

最近内卷严重,各种跳槽裁员,相信很多小伙伴也在准备金九银十的面试计划。 作为一个入职5年的老人家,目前工资比较乐观,但是我还是会选择跳槽,因为感觉在一个舒适圈待久了,人过得太过安逸,晋升涨…

pycharm没有setuptools包、wheel包的解决措施(pycharm添加包的两种方式)

方法一: 右下角 方法二: 命令 Windows: 在pycharm本地终端输入: pip install setuptools运行如以下界面显示即可 Linux: sudo apt install python3-pip (一定要有sudo )检查已安装: 同理安装其他包如&#xff1a…

dmrman备份还原

脱机还原工具-dmrman 前言 根据达梦官网文档整理 一、概述 DMRMAN 命令行设置参数执行又可分为命令行指定脚本、命令行指定语句两种执行方式。 指定语句 $ DMRMAN RMAN>BACKUP DATABASE/dmdata/data/DAMENG/dm.ini;指定脚本 创建一个名为 cmd_file.txt 的文件&#x…

【前端素材】推荐优质后台管理系统Qovex平台模板(附源码)

一、需求分析 1、定义 后台管理系统是一种用于管理和监控网站、应用程序或系统的在线工具。它通常是通过网页界面进行访问和操作,用于管理网站内容、用户权限、数据分析等。后台管理系统是网站或应用程序的控制中心,管理员可以通过后台系统进行各种管理…

消息中间件之RocketMQ源码分析(十八)

Broker CommitLog索引机制中的构建过程 1.创建ConsumeQueue和IndexFile。 ConsumeQueue和IndexFile两个索引都是由ReputMessageService类创建的 RequestMessageService类图 ReputMessageService服务启动后的执行过程。 doReput()方法用于创建索引的入口,通常通过…

1.0 RK3399项目开发实录-Ubuntu环境搭建(物联技术666)

1.下载Ubuntu所需的版本:Index of /releases 2.安装vmplayer:Download VMware Workstation Player | VMware 3.安装Ubuntu时,磁盘空间尽量大些,开发板系统包都比较大,避免存不下,建议空间100G。 关闭Ubuntu自动更新…