UR中ROS仿真使用脚本命令控制

2023-10-19 21:44

本文主要是介绍UR中ROS仿真使用脚本命令控制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.下载最新的脚本命令文件

在浏览器搜索“UR官网”,打开协作机器人的那个连接。

 按照图示进行点击下载官方的脚本文件

 

2.按ros2 ur部分的说明进行测试

网站如下: 

Usage — ur_robot_driver documentation

 

 查看现在的topic,找到最后那个/urscript_interface/script_command

cheni@yuchen:~$ ros2 topic list/clicked_point/diagnostics/dynamic_joint_states/force_torque_sensor_broadcaster/transition_event/force_torque_sensor_broadcaster/wrench/forward_position_controller/commands/forward_position_controller/transition_event/goal_pose/initialpose/io_and_status_controller/io_states/io_and_status_controller/robot_mode/io_and_status_controller/robot_program_running/io_and_status_controller/safety_mode/io_and_status_controller/tool_data/io_and_status_controller/transition_event/joint_state_broadcaster/transition_event/joint_states/parameter_events/robot_description/rosout/scaled_joint_trajectory_controller/controller_state/scaled_joint_trajectory_controller/joint_trajectory/scaled_joint_trajectory_controller/transition_event/speed_scaling_state_broadcaster/speed_scaling/speed_scaling_state_broadcaster/transition_event/tf/tf_static/urscript_interface/script_command

2.1弹窗测试

 输入下面的第一行

cheni@yuchen:~$ ros2 topic pub /urscript_interface/script_command std_msgs/msg/String '{data: popup("hello")}' --onceWaiting for at least 1 matching subscription(s)...Waiting for at least 1 matching subscription(s)...publisher: beginning looppublishing #1: std_msgs.msg.String(data='popup("hello")')

效果如下:

在浏览器中那个控制界面可以看到这个

2.2 多行命令运动测试 

输入第一行的命令

cheni@yuchen:~$ ros2 topic pub --once /urscript_interface/script_command std_msgs/msg/String '{data:"def my_prog():set_digital_out(1, True)movej(p[0.2, 0.3, 0.8, 0, 0, 3.14], a=1.2, v=0.25, r=0)textmsg(\"motion finished\")end"}'publisher: beginning looppublishing #1: std_msgs.msg.String(data='def my_prog():\nset_digital_out(1, True)\nmovej(p[0.2, 0.3, 0.8, 0, 0, 3.14], a=1.2, v=0.25, r=0)\ntextmsg("motion finished")\nend')

机器人从当前位置移动到命令要求的位置,查看TCP位置与最终位置一致

2.3 不打断程序的日志信息命令

 输入第一行的命令

cheni@yuchen:~$ ros2 topic pub --once /urscript_interface/script_command std_msgs/msg/String '{data:"sec my_prog():textmsg(\"This is a log message\")end"}'publisher: beginning looppublishing #1: std_msgs.msg.String(data='sec my_prog():\ntextmsg("This is a log message")\nend')

效果如下:

可以逐步点击确认

3.总结

以上就是三种命令的测试,其他的命令可以按照脚本描述的去测试。在虚拟机上仍然可以仿真机器人。 

 

这篇关于UR中ROS仿真使用脚本命令控制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

使用Python开发一个Ditto剪贴板数据导出工具

《使用Python开发一个Ditto剪贴板数据导出工具》在日常工作中,我们经常需要处理大量的剪贴板数据,下面将介绍如何使用Python的wxPython库开发一个图形化工具,实现从Ditto数据库中读... 目录前言运行结果项目需求分析技术选型核心功能实现1. Ditto数据库结构分析2. 数据库自动定位3

Python yield与yield from的简单使用方式

《Pythonyield与yieldfrom的简单使用方式》生成器通过yield定义,可在处理I/O时暂停执行并返回部分结果,待其他任务完成后继续,yieldfrom用于将一个生成器的值传递给另一... 目录python yield与yield from的使用代码结构总结Python yield与yield

Go语言使用select监听多个channel的示例详解

《Go语言使用select监听多个channel的示例详解》本文将聚焦Go并发中的一个强力工具,select,这篇文章将通过实际案例学习如何优雅地监听多个Channel,实现多任务处理、超时控制和非阻... 目录一、前言:为什么要使用select二、实战目标三、案例代码:监听两个任务结果和超时四、运行示例五

python使用Akshare与Streamlit实现股票估值分析教程(图文代码)

《python使用Akshare与Streamlit实现股票估值分析教程(图文代码)》入职测试中的一道题,要求:从Akshare下载某一个股票近十年的财务报表包括,资产负债表,利润表,现金流量表,保存... 目录一、前言二、核心知识点梳理1、Akshare数据获取2、Pandas数据处理3、Matplotl

shell脚本批量导出redis key-value方式

《shell脚本批量导出rediskey-value方式》为避免keys全量扫描导致Redis卡顿,可先通过dump.rdb备份文件在本地恢复,再使用scan命令渐进导出key-value,通过CN... 目录1 背景2 详细步骤2.1 本地docker启动Redis2.2 shell批量导出脚本3 附录总

Java使用Thumbnailator库实现图片处理与压缩功能

《Java使用Thumbnailator库实现图片处理与压缩功能》Thumbnailator是高性能Java图像处理库,支持缩放、旋转、水印添加、裁剪及格式转换,提供易用API和性能优化,适合Web应... 目录1. 图片处理库Thumbnailator介绍2. 基本和指定大小图片缩放功能2.1 图片缩放的

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

Python使用Tenacity一行代码实现自动重试详解

《Python使用Tenacity一行代码实现自动重试详解》tenacity是一个专为Python设计的通用重试库,它的核心理念就是用简单、清晰的方式,为任何可能失败的操作添加重试能力,下面我们就来看... 目录一切始于一个简单的 API 调用Tenacity 入门:一行代码实现优雅重试精细控制:让重试按我

MySQL中EXISTS与IN用法使用与对比分析

《MySQL中EXISTS与IN用法使用与对比分析》在MySQL中,EXISTS和IN都用于子查询中根据另一个查询的结果来过滤主查询的记录,本文将基于工作原理、效率和应用场景进行全面对比... 目录一、基本用法详解1. IN 运算符2. EXISTS 运算符二、EXISTS 与 IN 的选择策略三、性能对比

Oracle数据库定时备份脚本方式(Linux)

《Oracle数据库定时备份脚本方式(Linux)》文章介绍Oracle数据库自动备份方案,包含主机备份传输与备机解压导入流程,强调需提前全量删除原库数据避免报错,并需配置无密传输、定时任务及验证脚本... 目录说明主机脚本备机上自动导库脚本整个自动备份oracle数据库的过程(建议全程用root用户)总结