View Categories

OpenManipulator-X(ROS2)-Humble-Chap6-操作

C6. Operation 操作 #

C6.1. GUI 圖控介面 #

1. 啟動 GUI 圖控介面程序前,需在另一個 terminal 先跑 Chap 5.1. Launch Controller。同時開新的 terminal,下列指令啟動 moveit_core

				
					$ ros2 launch open_manipulator_x_moveit_config moveit_core.launch.py
				
			

2. 啟動 GUI 程序。

				
					$ ros2 launch open_manipulator_x_gui open_manipulator_x_gui.launch.py
				
			

3. 點擊 Timer Start 鍵。

4. 檢查 OpenManipulator-X 狀態。

5. 要在關節空間(joint space),操作 OpenManipulator-X 手臂,輸入關節角度,及軌跡(trajectory)總時間,然後點擊 start 鍵開始動作。

6. 要在任務空間(task space),操作 OpenManipulator-X 手臂,在任務空間中,輸入 OpenManipulator-X 終端工具的運動學方位(kinematics pose),以及軌跡(trjectory)總時間,然後點擊 send 鍵開始動作。

7. 產生 OpenMnipulator-X 手臂的 task constructor 任務建構器

    7.1. 點擊 Read task 按鍵,準備儲存任務。(你可以在 robot_joint_log_csv 檔內,新增或修改已經儲存的關節值。此檔案路徑,可以在 GUI 節點啟動的 terminal 查詢到)

    7.2. 調整機器手臂的 posture 方位,點擊 Save pose 按鍵儲存

    7.3. 儲存多個方位來完成準備工作

按下 Play 按鈕,機器手臂將依照已儲存的任務(task)依序執行動作。已完成的任務,其狀態將變更為 “Done”。

C6.2. Teleoperation 遙控 #

C6.2.1. Keyboard 鍵盤 #

開新的 terminal 並輸入指令,來執行 servo launch 檔, MoveIt Servo 會為關節空間(joint or Cartesian space)中的機器手臂,提供實時、平穩,且響應迅速的控制。

				
					$ ros2 launch open_manipulator_x_moveit_config servo.launch.py
				
			

開新的 terminal 並輸入指令。

				
					$ ros2 run open_manipulator_x_teleop open_manipulator_x_teleop
				
			

成功啟動後,terminal 會顯示下列之介面,你就可以用鍵盤來控制 OpenManipulator-X 手臂。

				
					[INFO] [1732776371.215661501] [servo_keyboard_input]: SUCCESS TO CONNECT SERVO START SERVER
[INFO] [1732776371.216112752] [servo_keyboard_input]: SUCCESS TO CONNECT SERVO STOP SERVER
[INFO] [1732776371.216172872] [servo_keyboard_input]: call 'moveit_servo' start srv.
[INFO] [1732776371.283417067] [servo_keyboard_input]: SUCCESS to start 'moveit_servo'
Reading from keyboard
---------------------------
Joint Control Keys:
  1/q: Joint1 +/-
  2/w: Joint2 +/-
  3/e: Joint3 +/-
  4/r: Joint4 +/-
Use o|p to open/close the gripper.
'ESC' to quit.