JAKA robot与D435相机连接使用及RVIZ仿真简单操作!

2023-11-08 15:40

本文主要是介绍JAKA robot与D435相机连接使用及RVIZ仿真简单操作!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

老规矩先创建一个新的虚拟机
这里就暂且叫做“m2"吧!

导入“Jaka_ros_driver_cpp”文件包

手眼标定整体流程导入包如下

handeye-calib: 基于ROS的手眼标定程序,支持眼在手上,眼在手外。提供完整文档。欢迎关注公众号鱼香ROS。 (gitee.com)

------------------------------------------------------------------

1、18.04版本乌班图下安装ROS(1,3,7)

小鱼的一键安装系列 | 鱼香ROS (fishros.org.cn)

2、安装相机驱动相关

Ubuntu su认证失败-阿里云开发者社区 (aliyun.com) :root权限

Intel RealSense D435i:简介、安装与使用(ROS、Python) (zhaoxuhui.top)

第四弹 Ubuntu18.04下ROS安装的若干问题及解决办法_gpg: 从公钥服务器接收失败:无数据_是刃小木啦~的博客-CSDN博客

解决E: 仓库 “http://realsense-hw-public.s3.amazonaws.com/Debian/apt-repo bionic InRelease” 没有数字签名问题_ubuntu没有数字签名_sagima_sdu的博客-CSDN博客

上述安装完成进行测试时会出现 

 需要我们安装相机驱动,安装教程如下:

sudo apt-get install ros-melodic-usb-cam

ROS(十一):ubuntu调用摄像头_ubuntu打开摄像头_宸静的博客-CSDN博客

安装完成相机驱动后,下载Realsense SDK源代码

镜子 / 智能感知 / 实感-ROS ·吉特代码 (gitcode.net)

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src/
git clone https://github.com/IntelRealSense/realsense-ros.git
cd realsense-ros/
git checkout `git tag | sort -V | grep -P "^2.\d+\.\d+" | tail -1`
cd ..
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrcw
完成后进入catkin_ws终端catkin_make,若出现以下情况

sudo apt install ros-melodic-ddynamic-reconfigure

除了上述18.04安装relsense的方法外,还可以使用下述方法二进行安装: 

Ubuntu 18.04 ———(Intel RealSense D435i)安装相机的驱动librealsense + realsense-ros_ubuntu安装realsense相机驱动_@曾记否的博客-CSDN博客

3、配置相机与Aruco

基于ROS的机械臂手眼标定-使用JAKA机械臂自动标定_jaka ros包_鱼香ROS的博客-CSDN博客

    <arg name="enable_depth" value="ture" />

    <arg name="markerId"        default="582"/>

配置src/handeye-calib/launch/aruco/aruco_start_usb_cam.launch文件

配置完成运行

source devel/setup.bash
roslaunch handeye-calib aruco_start_usb_cam.launch

4、配置机械臂话题数据

  • 眼在手外修改src/handeye-calib/launch/online/online_hand_to_eye_calib.launch

  • 眼在手上修改src/handeye-calib/launch/online/online_hand_on_eye_calib.launch

    <arg   name="arm_pose_topic"   default="/robot_driver/tool_point" />

运行在线标定:

source devel/setup.bash
roslaunch handeye-calib online_hand_to_eye_calib.launch

5、运行整体手动标定

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

-------------------------------------------------------分割------------------------------------------------

相关问题及解决方案:

【1】缺少‘numpy’包

1、sudo apt install python3-pip  :先安装python3版本,安装前也可以输入 python - -version查看一下当前版本

2、python3 -m pip install --upgrade pip
      pip3 install numpy  -i https://pypi.tuna.tsinghua.edu.cn/simple :使用替换源

【2】RLException:路径报错

【解决问题】RLException: [xx.launch] is neither a launch file in package [x] nor is [x] a launch file name_rlexception: [demo.launch] is neither a launch fil_东北大学生的博客-CSDN博客 【3】缺少‘transforms3d’包

 pip3 install transforms3d -i https://pypi.tuna.tsinghua.edu.cn/simple

【4】缺少‘cv2’包

pip3 install --upgrade pip  :为了防止因为pip版本较旧引起干扰,首先运行

pip3 install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple --verbose

【5】缺少‘tabulate’包

pip3 install tabulate -i https://pypi.tuna.tsinghua.edu.cn/simple --verbose

【6】是找不到realsense2_camera包

echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

【7】RLException路径报错:

gedit ~/.bashrc
source ~/Jaka-Minicobo-Sim-Env-master/devel/setup.bash
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:~/Jaka-Minicobo-Sim-Env-master/

source ~/.bashrc
echo $ROS_PACKAGE_PATH

【8】运行机器人通讯接口start.launch 编译catkin_make报错:

再来一次catkin_make

【9】aruco_ros报错:

【10】安装cv2报错:ImportError: No module named skbuild

pip3 install scikit-build -i https://pypi.tuna.tsinghua.edu.cn/simple --verbose

【11】缺少.h头文件

catkin_make -DCATKIN_WHITELIST_PACKAGES=" 你的包名"

-------------------------------------------------------分割-------------------------------------------------

运行标定:

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

source develop/setup.bash
//打开机器人的驱动
roslaunch jaka_ros_driver start.launch

source develop/setup.bash
//打开相机
roslaunch handeye-calib aruco_start_realsense_sdk.launch 

source develop/setup.bash
//打开标定程序
roslaunch handeye-calib online_hand_to_eye_calib.launch

//查询话题类型,话题名字记得改哦
rostopic info /robot_driver/tool_point
//查询话题内容
rostopic echo /robot_driver/tool_point
 ----------------------------------------------------------完结撒花--------------------------------------------------------

这篇关于JAKA robot与D435相机连接使用及RVIZ仿真简单操作!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/370852

相关文章

使用Python实现高效的端口扫描器

《使用Python实现高效的端口扫描器》在网络安全领域,端口扫描是一项基本而重要的技能,通过端口扫描,可以发现目标主机上开放的服务和端口,这对于安全评估、渗透测试等有着不可忽视的作用,本文将介绍如何使... 目录1. 端口扫描的基本原理2. 使用python实现端口扫描2.1 安装必要的库2.2 编写端口扫

PyCharm接入DeepSeek实现AI编程的操作流程

《PyCharm接入DeepSeek实现AI编程的操作流程》DeepSeek是一家专注于人工智能技术研发的公司,致力于开发高性能、低成本的AI模型,接下来,我们把DeepSeek接入到PyCharm中... 目录引言效果演示创建API key在PyCharm中下载Continue插件配置Continue引言

使用Python实现操作mongodb详解

《使用Python实现操作mongodb详解》这篇文章主要为大家详细介绍了使用Python实现操作mongodb的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、示例二、常用指令三、遇到的问题一、示例from pymongo import MongoClientf

SQL Server使用SELECT INTO实现表备份的代码示例

《SQLServer使用SELECTINTO实现表备份的代码示例》在数据库管理过程中,有时我们需要对表进行备份,以防数据丢失或修改错误,在SQLServer中,可以使用SELECTINT... 在数据库管理过程中,有时我们需要对表进行备份,以防数据丢失或修改错误。在 SQL Server 中,可以使用 SE

关于rpc长连接与短连接的思考记录

《关于rpc长连接与短连接的思考记录》文章总结了RPC项目中长连接和短连接的处理方式,包括RPC和HTTP的长连接与短连接的区别、TCP的保活机制、客户端与服务器的连接模式及其利弊分析,文章强调了在实... 目录rpc项目中的长连接与短连接的思考什么是rpc项目中的长连接和短连接与tcp和http的长连接短

使用Python合并 Excel单元格指定行列或单元格范围

《使用Python合并Excel单元格指定行列或单元格范围》合并Excel单元格是Excel数据处理和表格设计中的一项常用操作,本文将介绍如何通过Python合并Excel中的指定行列或单... 目录python Excel库安装Python合并Excel 中的指定行Python合并Excel 中的指定列P

浅析Rust多线程中如何安全的使用变量

《浅析Rust多线程中如何安全的使用变量》这篇文章主要为大家详细介绍了Rust如何在线程的闭包中安全的使用变量,包括共享变量和修改变量,文中的示例代码讲解详细,有需要的小伙伴可以参考下... 目录1. 向线程传递变量2. 多线程共享变量引用3. 多线程中修改变量4. 总结在Rust语言中,一个既引人入胜又可

golang1.23版本之前 Timer Reset方法无法正确使用

《golang1.23版本之前TimerReset方法无法正确使用》在Go1.23之前,使用`time.Reset`函数时需要先调用`Stop`并明确从timer的channel中抽取出东西,以避... 目录golang1.23 之前 Reset ​到底有什么问题golang1.23 之前到底应该如何正确的

详解Vue如何使用xlsx库导出Excel文件

《详解Vue如何使用xlsx库导出Excel文件》第三方库xlsx提供了强大的功能来处理Excel文件,它可以简化导出Excel文件这个过程,本文将为大家详细介绍一下它的具体使用,需要的小伙伴可以了解... 目录1. 安装依赖2. 创建vue组件3. 解释代码在Vue.js项目中导出Excel文件,使用第三

Linux alias的三种使用场景方式

《Linuxalias的三种使用场景方式》文章介绍了Linux中`alias`命令的三种使用场景:临时别名、用户级别别名和系统级别别名,临时别名仅在当前终端有效,用户级别别名在当前用户下所有终端有效... 目录linux alias三种使用场景一次性适用于当前用户全局生效,所有用户都可调用删除总结Linux