7.3. MoveIt!
在使用 MoveIt! 啟動 controller 控制器之前,請檢查 open_manipulator_controller 套件中的open_manipulator_controller 啟動檔。
<launch>
<arg name="use_robot_name" default="open_manipulator"/>
<arg name="dynamixel_usb_port" default="/dev/ttyUSB0"/>
<arg name="dynamixel_baud_rate" default="1000000"/>
<arg name="control_period" default="0.010"/>
<arg name="use_platform" default="true"/>
<arg name="use_moveit" default="false"/>
<arg name="planning_group_name" default="arm"/>
<arg name="moveit_sample_duration" default="0.050"/>
<group if="$(arg use_moveit)">
<include file="$(find open_manipulator_controller)/launch/open_manipulator_moveit.launch">
<arg name="robot_name" value="$(arg use_robot_name)"/>
<arg name="sample_duration" value="$(arg moveit_sample_duration)"/>
</include>
</group>
<node name="$(arg use_robot_name)" pkg="open_manipulator_controller" type="open_manipulator_controller" output="screen" args="$(arg dynamixel_usb_port) $(arg dynamixel_baud_rate)">
<param name="using_platform" value="$(arg use_platform)"/>
<param name="using_moveit" value="$(arg use_moveit)"/>
<param name="planning_group_name" value="$(arg planning_group_name)"/>
<param name="control_period" value="$(arg control_period)"/>
<param name="moveit_sample_duration" value="$(arg moveit_sample_duration)"/>
</node>
</launch>
Parameters List : 以下參數可用於加載 move_group 套件。
use_moveit
是一個參數,用來設置是否使用 MoveIt!
planning_group_name
是在 setup_assistant 中設置的參數
moveit_sample_duration
是一個參數,用於設置從 MoveIt! 規劃關節軌跡時的採樣時間
設置完所有參數後,啟動 open_manipulator_pro_controller。
$ roslaunch open_manipulator_controller open_manipulator_controller.launch use_moveit:=true
警示:啟動 controller 以使用 MoveIt! 時,必須先關閉 OpenMANIPULATOR-X 啟動檔。
警示:請在運行 OpenMANIPULATOR-X 之前先檢查每個關節位置。因為如果關節位置超出範圍,它可能會停止操作。下面的圖片向你展示了OpenMANIPULATOR-X 的理想方位。當未啟用 DYNAMIXEL 智能馬達的扭力時,請參照下圖所示,先調整每個關節的方位。


Service Server List : 在 open_manipulator_controller 內具有的與 MoveIt! 相關的 service server 列表。
/open_manipulator/moveit/get_joint_position
(open_manipulator_msgs/GetJointPosition) 用戶可以使用此服務來接收由 move_group 所計算的關節位置。
/open_manipulator/moveit/get_kinematics_pose
(open_manipulator_msgs/GetKinematicsPose) 用戶可以使用此服務接收由 move_group 所計算的運動學方位。
/open_manipulator/moveit/set_joint_position
(open_manipulator_msgs/SetJointPosition) 用戶可以使用此服務通過 move_group 在關節空間中創建軌跡。用戶輸入目標關節的角度和軌跡的總時間。
/open_manipulator/moveit/set_kinematics_pose
(open_manipulator_msgs/SetKinematicsPose) 用戶可以使用此服務通過 move_group 在任務空間中創建軌跡。用戶在任務空間中輸入OpenMANIPULATOR-X 終端工具的運動學方位以及軌跡的總時間。




Last updated
Was this helpful?