本文主要是介绍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仿真使用脚本命令控制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!