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")}' --once
Waiting for at least 1 matching subscription(s)...
Waiting for at least 1 matching subscription(s)...
publisher: beginning loop
publishing #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 loop
publishing #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 loop
publishing #1: std_msgs.msg.String(data='sec my_prog():\ntextmsg("This is a log message")\nend')
效果如下:
可以逐步点击确认
3.总结
以上就是三种命令的测试,其他的命令可以按照脚本描述的去测试。在虚拟机上仍然可以仿真机器人。