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

aubo i5 + realsense D435i手眼标定

标定软件安装

1.aruco_ros安装

cd ~/aubo_ws sudo apt install ros-noetic-aruco-ros ros-noetic-aruco

2.vision_visp安装

sudo apt install ros-noetic-visp

3.easy_handeye安装

cd ~/aubo_ws/src git clone https://github.com/IFL-CAMP/easy_handeye catkin_make -j2 -DCATKIN_WHITELIST_PACKAGES="easy_handeye"

4.realsense驱动安装

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key FB0B24895113F120 # 安装 Realsense 核心 SDK sudo apt install librealsense2-dkms librealsense2-utils librealsense2-dev -y # 安装 ROS Noetic 相机驱动 sudo apt install ros-noetic-realsense2-camera ros-noetic-realsense2-description -y

5.安装realsense ROS软件包

sudo apt install ros-noetic-realsense2-camera ros-noetic-realsense2-description -y

验证安装

roslaunch realsense2_camera rs_camera.launch

能看到/camera/color/image_raw等话题发布= 安装成功!

realsense-viewer

能看到彩色图像、深度图像 = 安装成功!

配置

1.launch文件修改

easy_handeye/docs/example_launch文件夹中有一个ur5,kinect的样例,拷贝一份到工作包easy_handeye/launch文件夹下重命名为auboi5_realsense_calibration.launch

<launch> <!-- 可配置参数 --> <arg name="namespace_prefix" default="aubo_i5_d435i_handeye" /> <arg name="marker_size" default="0.1" doc="ArUco标记尺寸(米)" /> <arg name="marker_id" default="0" doc="ArUco标记ID" /> <arg name="eye_on_hand" default="true" /> <!-- 眼在手上=true,眼在手外=false --> <!-- 1. 启动 Realsense D435i --> <include file="$(find realsense2_camera)/launch/rs_camera.launch" > <arg name="color_width" value="640"/> <arg name="color_height" value="480"/> <arg name="enable_infra1" value="false"/> <arg name="enable_infra2" value="false"/> </include> <!-- 2. 启动 ArUco 检测 --> <node name="aruco_tracker" pkg="aruco_ros" type="single"> <remap from="/camera_info" to="/camera/color/camera_info" /> <remap from="/image" to="/camera/color/image_raw" /> <param name="image_is_rectified" value="true"/> <param name="marker_size" value="$(arg marker_size)"/> <param name="marker_id" value="$(arg marker_id)"/> <param name="camera_frame" value="camera_color_optical_frame"/> <param name="marker_frame" value="aruco_marker" /> </node> <!-- 3. 启动 AUBO i5 MoveIt --> <include file="$(find aubo_i5_moveit_config)/launch/moveit_planning_execution.launch"> <arg name="sim" value="false" /> <arg name="robot_ip" value="192.168.1.10" /> <!-- 务必改成你的机械臂IP! --> </include> <!-- 4. 启动手眼标定 --> <include file="$(find easy_handeye)/launch/calibrate.launch" > <arg name="namespace_prefix" value="$(arg namespace_prefix)" /> <arg name="eye_on_hand" value="$(arg eye_on_hand)" /> <arg name="tracking_base_frame" value="camera_color_optical_frame" /> <arg name="tracking_marker_frame" value="aruco_marker" /> <arg name="robot_base_frame" value="base_link" /> <arg name="robot_effector_frame" value="wrist3_link" /> </include> </launch>

2.打印二维码

在ARUCO下载打印,这里使用的编号100,尺寸80mm的二维码。

二维码需要固定在机器人工作空间内的平面上。

手眼标定

1.启动launch文件

cd ~/aubo_ws/ source devel/setup.bash roslaunch easy_handeye auboi5_realsense_calibration.launch

启动后出现如下三个界面,不包括aubo启动的rviz界面

在第二个界面中将image_view打开并订阅/aruco_tracker/result主题,以便观察跟踪程序有没有跟踪到二维码

2.标定步骤

打开图一,将机器人的速度、加速度设置为0.1

将机械臂操作至合适的位置(二维码标签在图像的中间位置)

打开图三,如果显示0/17就正常,如果不是就按check starting pose

  • 点击next pose,再点击plan,出现绿色就当前位姿可以达到,最后点击execute。出现红色表示当前点不可用,继续点击next pose,重复操作;
  • 机械臂执行完成后返回图二界面,查看image_view中是否跟踪到标签,如果跟踪到标签则点击take sample,如果没有跟踪到则跳过。重复(1)(2)操作,直到17个点全部采集完;
  • 返回图二界面,点击compute,得到一组7个解的变换矩阵(四元数表示)。
  • 返回图二界面,点击save,保存得到的结果。结果保存在~/.ros/easy_handeye的.yaml文件中

3.发布tf关系

cd ~/aubo_ws/ source deve/setup.bash roslaunch easy_handeye publish.launch eye_on_hand:=true
http://www.jsqmd.com/news/647167/

相关文章:

  • 想把 Chrome 插件变成独立的桌面程序
  • 2025届最火的十大降AI率工具推荐
  • 音视频直播构建优化
  • 保姆级教程:用Python+Ultralytics YOLOv8实时识别你电脑屏幕上的任何物体(附完整代码)
  • 2026年4月企业微信SCRM系统TOP7实测榜单:全行业私域增长工具选购指南
  • 官宣!数数科技正式更名为 ThinkingAI
  • P1618三连击 (暴力+枚举)
  • 顶级域名的投资策略——为什么要投资外国域名
  • 字符串处理的艺术:R语言中的正则表达式
  • 3步解决Windows软件乱码问题:Locale Emulator区域模拟终极方案
  • 回流APP正规吗?20亿+成交硬核见证,制度护航打造可信翡翠交易平台
  • tomcat乱码
  • 深入解析Bezier曲线的导矢计算与de Casteljau算法的几何关联
  • 活动抽奖系统--测试报告
  • NoteWidget:让OneNote支持Markdown的终极指南,快速提升技术笔记效率80%
  • BilibiliDown终极指南:如何轻松批量下载B站视频并建立个人视频库
  • 为什么92%的AI团队还在用VQA 1.x?2026奇点大会宣布VQA 3.0强制兼容期仅剩180天!
  • 解决Spring应用中的环境变量配置问题
  • 【架构实战】告别“黑盒”调试:影刀RPA开发多浏览器并发 实现店群自动化RPA 系统中的可观测性与全链路监控设计
  • 【2026 职场洗牌系列 16】 行政后勤的困局:当“隐形劳动”被算法看见并替代
  • 关闭谷歌浏览器(Google Chrome)自动更新方法
  • Magika:文件类型检测小模型
  • 冰雪传奇点卡重制版纯月卡公平生态:无VIP装备全靠打经解析
  • 可解释性不是附加功能,而是合规刚需:欧盟AI Act生效倒计时下,多模态模型必须通过的4层可追溯性验证(含审计模板)
  • SQL中的聚合函数与GROUP BY的配合使用
  • WPF 打造工业级图像控件:支持海康相机与 ROI 框选
  • unity TerrainSampleAssets
  • Agent 系列之 ReWOO:从蓝图规划到高效求解的架构革新
  • Semtech SX9324 SAR传感器在笔记本电脑中的应用:如何优化WWAN性能与合规性
  • 如何用 objectStore.get 根据主键 ID 获取数据库单条数据