机械臂的控制
1 滑块控制
打开一个命令行,运行:
- mypalletizer 260-M5版本:
# mypalletizer 260-M5版本默认串口名为"/dev/ttyUSB0",波特率为115200.部分机型的串口名为 "dev/ttyACM0",若默认串口名发生错误,可将串口名改为"/dev/ttyACM0".
ros2 launch mypalletizer_260 slider_control.launch.py
- mypalletizer 260-PI版本:
点击桌面上的ROS2 Shell
图标或者桌面下方栏的对应图标,打开ROS2环境终端:
然后运行命令:
# mypalletizer 260-PI版本默认串口名为"/dev/ttyAMA0",波特率为1000000.
ros2 launch mypalletizer_260_pi slider_control.launch.py
它将打开 rviz 和一个滑块组件,你将看到如下画面(树莓派版本画面略有差异,不影响使用):
接着你可以通过拖动滑块来控制 rviz 中的模型移动。真实的 mypalletizer 将跟着一起运动。
请注意:由于在命令输入的同时机械臂会移动到模型目前的位置,在您使用命令之前请确保rviz中的模型没有出现穿模现象 不要在连接机械臂后做出快速拖动滑块的行为,防止机械臂损坏
2 模型跟随
除了上面的控制,我们也可以让模型跟随真实的机械臂运动。打开一个命令行运行:
- mypalletizer 260-M5版本:
# mypalletizer 260-M5版本默认串口名为"/dev/ttyUSB0",波特率为115200.部分机型的串口名为 "dev/ttyACM0",若默认串口名发生错误,可将串口名改为"/dev/ttyACM0".
ros2 launch mypalletizer_260 mycobot_follow.launch.py
- mypalletizer 260-PI版本:
点击桌面上的ROS2 Shell
图标或者桌面下方栏的对应图标,打开ROS2环境终端:
然后运行命令:
# mypalletizer 260-PI版本默认串口名为"/dev/ttyAMA0",波特率为1000000.
ros2 launch mypalletizer_260_pi mycobot_follow.launch.py
它将打开 rviz 展示模型跟随效果。
3 GUI 控制
在前面的基础上,本包还提供了简单的 Gui 控制界面。 该方式意在于真实机械臂相互联动,请连接 mypalletizer。
打开命令行:
- mypalletizer 260-M5版本:
# mypalletizer 260-M5版本默认串口名为"/dev/ttyUSB0",波特率为115200.部分机型的串口名为 "dev/ttyACM0",若默认串口名发生错误,可将串口名改为"/dev/ttyACM0".
ros2 launch mypalletizer_260 simple_gui.launch.py
- mypalletizer 260-PI版本:
点击桌面上的ROS2 Shell
图标或者桌面下方栏的对应图标,打开ROS2环境终端:
然后运行命令:
# mypalletizer 260-PI版本默认串口名为"/dev/ttyAMA0",波特率为1000000.
ros2 launch mypalletizer_260_pi simple_gui.launch.py
运行效果:
4 键盘控制
在 mypalletizer_260
的包中添加了键盘控制的功能,并在 rviz 中实时同步。本功能依赖 pythonAPI,所以确保与真实机械臂连接。
打开一个命令行,运行:
- mypalletizer 260-M5版本:
# mypalletizer 260-M5版本默认串口名为"/dev/ttyUSB0",波特率为115200.部分机型的串口名为 "dev/ttyACM0",若默认串口名发生错误,可将串口名改为"/dev/ttyACM0".
ros2 launch mypalletizer_260 teleop_keyboard.launch.py
- mypalletizer 260-PI版本:
点击桌面上的ROS2 Shell
图标或者桌面下方栏的对应图标,打开ROS2环境终端:
然后运行命令:
# mypalletizer 260-PI版本默认串口名为"/dev/ttyAMA0",波特率为1000000.
ros2 launch mypalletizer_260_pi teleop_keyboard.launch.py
运行效果如下:
命令行中将会输出 mypalletizer_260 信息,如下:
[INFO] [launch]: All log files can be found below /home/u20/.ros/log/2022-08-01-14-53-35-880311-u20-VirtualBox-5591
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [robot_state_publisher-1]: process started with pid [5594]
[INFO] [rviz2-2]: process started with pid [5596]
[INFO] [follow_display-3]: process started with pid [5598]
[robot_state_publisher-1] Parsing robot urdf xml string.
[robot_state_publisher-1] Link link1 had 1 children
[robot_state_publisher-1] Link link2 had 1 children
[robot_state_publisher-1] Link link3 had 1 children
[robot_state_publisher-1] Link link4 had 1 children
[robot_state_publisher-1] Link link5 had 0 children
[robot_state_publisher-1] [INFO] [1659336816.100317312] [robot_state_publisher]: got segment base
[robot_state_publisher-1] [INFO] [1659336816.100434612] [robot_state_publisher]: got segment link1
[robot_state_publisher-1] [INFO] [1659336816.100443491] [robot_state_publisher]: got segment link2
[robot_state_publisher-1] [INFO] [1659336816.100451008] [robot_state_publisher]: got segment link3
[robot_state_publisher-1] [INFO] [1659336816.100457862] [robot_state_publisher]: got segment link4
[robot_state_publisher-1] [INFO] [1659336816.100464597] [robot_state_publisher]: got segment link5
[rviz2-2] [INFO] [1659336816.529758865] [rviz2]: Stereo is NOT SUPPORTED
[rviz2-2] [INFO] [1659336816.530082788] [rviz2]: OpenGl version: 3.1 (GLSL 1.4)
[rviz2-2] [INFO] [1659336816.620671305] [rviz2]: Stereo is NOT SUPPORTED
[follow_display-3] [INFO] [1659336816.635957580] [follow_display]: port:/dev/ttyUSB0, baud:115200
[rviz2-2] Parsing robot urdf xml string.
接着,打开另一个命令行,运行:
- mypalletizer 260-M5版本:
ros2 run mypalletizer_260 teleop_keyboard
- mypalletizer 260-PI版本:
点击桌面上的ROS2 Shell
图标或者桌面下方栏的对应图标,打开ROS2环境终端:
然后运行命令:
ros2 run mypalletizer_260_pi teleop_keyboard
你会在命令行中看到如下输出:
Mycobot Teleop Keyboard Controller
---------------------------
Movimg options(control coordinations [x,y,z,rx]):
w(x+)
a(y-) s(x-) d(y+)
z(z-) x(z+)
u(rx+) i(rx-)
Gripper control:
g - open
h - close
Other:
1 - Go to init pose
2 - Go to home pose
3 - Resave home pose
q - Quit
currently: speed: 30 change percent: 2
该脚本支持的参数:
- _speed:机械臂移动速度。
- _change_percent:移动距离百分比。