1.通过在终端中执行以下命令
roslaunch interbotix_xslocobot_control xslocobot_control.launch robot_model:=locobot_wx250s use_base:=true use_camera:=true use_lidar:=true
2.现在,在远程计算机上的终端
roslaunch interbotix_xslocobot_descriptions remote_view.launch
Rviz 应该出现在您的远程计算机上并显示机器人的虚拟实时表示!
3.默认情况下,机器人中的所有 Dynamixel 电机都是扭矩驱动的,因此手动操作它们将非常困难。 要关闭所有电机,请在另一个终端中执行以下命令(通过 SSH 或在您的远程计算机上)。 但请注意,这会导致机器人手臂(如果存在)折叠(如果它尚未静止),因此在执行之前手动握住或固定它。
rosservice call /locobot/torque_enable "{cmd_type: 'group', name: 'all', enable: false}"
上面的命令会关闭“所有”组中的每个电机。 这是一个特殊的组,包括每个 Dynamixel 电机。 要仅断开臂电机的扭矩,请将名称从“全部”更改为“臂”。 同样,要仅关闭控制相机的电机,请将名称从“全部”更改为“相机”。
现在您应该能够自由操纵臂、夹具和平移/倾斜机构。 请注意 Rviz 模型如何准确地模仿真实机器人。 要使机器人保持某个姿势,请手动将手臂保持在所需的姿势并执行以下命令:
rosservice call /locobot/torque_enable "{cmd_type: 'group', name: 'all', enable: true}"
您现在可以放手并观察手臂和平移/倾斜机构如何保持原位。
现在让我们让 Kobuki 基地移动并可视化传感器输出! 在 Rviz 窗口中,检查 Camera 和 LaserScan 显示并根据需要调整主题名称。 您应该会在窗口的左下角看到来自相机流的图像数据,以及来自激光雷达的 Rviz 网格中显示的红色小像素。 要以 0.5 m/s 的平移速度和 0.3 rad/s 的角速度实际移动 Kobuki 底座,请在另一个终端中键入以下内容...
rostopic pub -r 10 /locobot/mobile_base/commands/velocity geometry_msgs/Twist '{linear: {x: 0.5, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 0.3}}'
要阻止基地移动,只需 Ctrl-C 发布者。
通过在启动启动文件的终端中按 Ctrl-C 关闭所有节点。 要关闭 locobot 计算机,请在终端中键入 sudo poweroff。 然后按住电池上的圆形灰色按钮,直到旁边的白色 LED 熄灭。 接下来,轻弹 Kobuki 底座侧面的开关。
Ps4遥控器控制
roslaunch interbotix_xslocobot_joy xslocobot_joy.launch robot_model:=locobot_wx250s
若无法控制并报错:
Couldn't open joystick /dev/input/js1. Will retry every second. 说明找不到 ps4 设备,应到/dev/input/目录下找到对应 ps4 设备名,并将指令
换为如下(locobot):
roslaunch interbotix_xslocobot_joy xslocobot_joy.launch robot_model:=locobot_wx250s joy_dev:=/dev/input/ps4 设备名
构建地图和导航
(locobot)Slam
roslaunch interbotix_xslocobot_nav xslocobot_nav.launch robot_model:=locobot_wx250s use_lidar:=true rtabmap_args:=-d
(locobot/PC虚拟机)打开rviz界面
roslaunch interbotix_xslocobot_descriptions remote_view.launch rviz_frame:=map
可通过Rviz顶部的2D Nav Goal按钮设置目标位置,机器人将自动规划路径。
(locobot)通过ps4控制移动:
roslaunch interbotix_xslocobot_joy xslocobot_joy.launch robot_model:=locobot_wx250s launch_driver:=false
(locobot/PC虚拟机)键盘控制移动
roslaunch kobuki_keyop keyop.launch __ns:=locobot
机械臂抓取
(locobot)机器人初始化:
roslaunch interbotix_xslocobot_perception xslocobot_perception.launch robot_model:=locobot_wx250s use_armtag_tuner_gui:=true use_pointcloud_tuner_gui:=true use_armtag:=true use_static_transform_pub:=true
(locobot)转到python程序所在目录
cd interbotix_ws/src/interbotix_ros_rovers/interbotix_ros_xslocobots/interbotix_xslocobot_perception/scripts/
(locobot)运行python抓取程序
python3 pick_place_no_armtag.py
放松机械臂(locobot/PC虚拟机):
rosservice call /locobot/torque_enable "{cmd_type: 'group', name: 'arm', enable: false}"
使能机械臂(locobot/PC虚拟机):
rosservice call /locobot/torque_enable "{cmd_type: 'group', name: 'arm', enable: true}"