このリポジトリではKHIのロボットのROSサポートパッケージを提供しています。
ROSのディストリビューションKinetic
、Melodic
、およびNoetic
をサポートしています。
khi_robot_control
を以下のように起動してください。:
roslaunch khi_robot_bringup ***_bringup.launch ip:=***
ロボットを制御せずに閲覧だけしたい場合は、閲覧モード用の引数'viewer'を指定してください。:
roslaunch khi_robot_bringup ***_bringup.launch ip:=*** viewer:=true
実機のロボットがない場合は、ループバックモード用の引数'simulation'を指定してください。:
roslaunch khi_robot_bringup ***_bringup.launch simulation:=true
Gazeboシミュレーションを行う場合は、以下のように起動してください。:
roslaunch ***_gazebo ***_world.launch
MoveIt!のスクリプトを以下のように開始してください。:
roslaunch ***_moveit_config moveit_planning_execution.launch
開始するとMoveIt!のrviz画面が表示されるので、GUIでロボットが操作できるようになります。
docs/ConnectingRealRobot-ja.mdを参照してください。
- duaro1
- rs007l
- rs007n
- rs013n
- rs020n
- rs025n
- rs030n
- rs80n
このソフトウェアは実験コードです。問題点や機能として不足する点がある場合があります。
提供するAPIは安定版ではなく、変更する可能性があります。生産システムでの使用は推奨していません。
KHIとROSの座標系は異なります。
KHIの座標系の原点はロボットのLink1です。
ROSの座標系の原点はWorldです。
khi_robot_control
はデフォルトでposition_controllers/JointPositionController
を使用しています。position_controllers/JointGroupPositionController
も使用可能です。
position_controllers/JointPositionController
: ***_arm_controller (例)rs007n_arm_controller
position_controllers/JointGroupPositionController
: ***_joint_group_controller (例)rs007n_joint_group_controller
利用可能なコントローラはサービスcontroller_manager/list_controllers
で確認できます。
コントローラを切り替えるには、サービスcontroller_manager/switch_controller
を使用してください。
(例)
$ rosservice call /controller_manager/list_controllers
controller:
-
name: "rs007n_joint_group_controller"
state: "stopped"
type: "position_controllers/JointGroupPositionController"
claimed_resources:
-
hardware_interface: "hardware_interface::PositionJointInterface"
resources: [joint1, joint2, joint3, joint4, joint5, joint6]
-
name: "joint_state_controller"
state: "running"
type: "joint_state_controller/JointStateController"
claimed_resources:
-
hardware_interface: "hardware_interface::JointStateInterface"
resources: []
-
name: "rs007n_arm_controller"
state: "running"
type: "position_controllers/JointTrajectoryController"
claimed_resources:
-
hardware_interface: "hardware_interface::PositionJointInterface"
resources: [joint1, joint2, joint3, joint4, joint5, joint6]
$ rosservice call /controller_manager/switch_controller "start_controllers:
- 'rs007n_joint_group_controller'
stop_controllers:
- 'rs007n_arm_controller'
strictness: 2"
ok: True
(http://wiki.ros.org/controller_manager)
***_ description
はKHIウェブサイトで提供するCADデータを元にしたSTLファイルを使用しています。
そのため、これらのファイルにもCADデータ利用上の注意が適用されるのでご注意ください。