sciurus17_examples
July 1, 2026 · View on GitHub
このパッケージはSciurus17 ROS 2パッケージのサンプルコード集です。
Setup
Using Sciurus17
1. Sciurus17本体をPCに接続する
Sciurus17本体をPCに接続します。 接続方法は製品マニュアルを参照してください。
Note
Sciurus17本体が接触しないように、十分なスペースを確保してください。
2. USB通信ポートの接続を確認する
USB通信ポートの設定についてはsciurus17_controlのREADMEを参照してください。
Note
正しく設定できていない場合、Sciurus17が動作しないので注意してください。
3. move_groupとcontrollerを起動する
次のコマンドでmove_group (sciurus17_moveit_config)とcontroller (sciurus17_control)を起動します。
ros2 launch sciurus17_examples demo.launch.py
Using Gazebo
1. move_groupとGazeboを起動する
次のコマンドでmove_group (sciurus17_moveit_config)とGazeboを起動します。
ros2 launch sciurus17_gazebo sciurus17_gazebo.launch.py
Note
Sciurus17の手前にArUcoマーカ付きのBoxを置いたシミュレータ環境を使用する場合は次のコマンドを実行します。
ros2 launch sciurus17_gazebo sciurus17_with_aruco_cube.launch.py
Note
Sciurus17の手前に青色のBoxを置いたシミュレータ環境を使用する場合は次のコマンドを実行します。
ros2 launch sciurus17_gazebo sciurus17_with_blue_cube.launch.py
Note
頭部カメラや胸部カメラのシミュレーションを行わない場合は、use_head_camera、use_chest_cameraオプションをfalseに設定します。
ros2 launch sciurus17_gazebo sciurus17_gazebo.launch.py use_head_camera:=false use_chest_camera:=false
Using Mock Components
1. move_groupとcontrollerを起動する
次のコマンドでmove_group (sciurus17_moveit_config)とcontroller (sciurus17_control)を起動します。
ros2 launch sciurus17_examples demo.launch.py use_mock_components:=true
Mock Componentsではカメラを使ったサンプルを実行することはできません。
How to Run Examples
準備ができたらサンプルプログラムを実行します。 例えばグリッパを開閉するサンプルは次のコマンドで実行できます。
ros2 launch sciurus17_examples example.launch.py example:='gripper_control'
終了するときはCtrl+cを入力します。
Note
Gazeboでサンプルプログラムを実行する場合はuse_sim_timeオプションを付けます。
ros2 launch sciurus17_examples example.launch.py example:='gripper_control' use_sim_time:='true'
Examples
demo.launchを実行している状態で各サンプルを実行できます。
- gripper_control
- pose_groupstate
- joint_values
- cartesian_path
- neck_control
- waist_control
- pick_and_place_right_arm_waist
- pick_and_place_left_arm
- head_camera_tracking
- chest_camera_tracking
- point_cloud_detection
実行できるサンプルの一覧は、example.launch.pyにオプション-sを付けて実行することで表示できます。
ros2 launch sciurus17_examples example.launch.py -s
gripper_control
ハンドを開閉させるコード例です。
次のコマンドを実行します。
ros2 launch sciurus17_examples example.launch.py example:='gripper_control'
pose_groupstate
group_stateを使うコード例です。
SRDFファイルsciurus17_moveit_config/config/sciurus17.srdfに記載されているtwo_arm_init_poseとtwo_arm_push_forward_poseの姿勢に移行します。
次のコマンドを実行します。
ros2 launch sciurus17_examples example.launch.py example:='pose_groupstate'
joint_values
左側のアームのジョイント角度を1つずつ変化させるコード例です。
SRDFファイルsciurus17_moveit_config/config/sciurus17.srdfに記載されているl_arm_init_poseから、各関節角度を15度ずつ順番に変化させます。
次のコマンドを実行します。
ros2 launch sciurus17_examples example.launch.py example:='joint_values'
cartesian_path
Cartesian Path を生成し、手先で円を描くコード例です。
次のコマンドを実行します。
ros2 launch sciurus17_examples example.launch.py example:='cartesian_path'
neck_control
首を上下左右へ動かすコード例です。
次のコマンドを実行します。
ros2 launch sciurus17_examples example.launch.py example:='neck_control'
waist_control
腰を左右へひねる動作をするコード例です。
次のコマンドを実行します。
ros2 launch sciurus17_examples example.launch.py example:='waist_control'
pick_and_place_right_arm_waist
右手でターゲットを掴んで動かすコード例です。腰の回転も使用します。
次のコマンドを実行します。
ros2 launch sciurus17_examples example.launch.py example:='pick_and_place_right_arm_waist'
pick_and_place_left_arm
左手でターゲットを掴んで動かすコード例です。
次のコマンドを実行します。
ros2 launch sciurus17_examples example.launch.py example:='pick_and_place_left_arm'
head_camera_tracking
頭部カメラ映像を用いてオレンジ色の物体を追従するコード例です。
次のコマンドを実行します。
ros2 launch sciurus17_examples head_camera_tracking.launch.py
Note
Gazeboで実行する場合は動作環境によってうまく追従しない場合があります。 カメラ解像度やサンプルコード内の追従速度ゲインを調整してください。
chest_camera_tracking
胸部カメラ映像を用いてオレンジ色の物体を追従するコード例です。
次のコマンドを実行します。
ros2 launch sciurus17_examples chest_camera_tracking.launch.py
Note
Gazeboで実行する場合は動作環境によってうまく追従しない場合があります。 カメラ解像度やサンプルコード内の追従速度ゲインを調整してください。
color_detection
特定の色の物体を検出して掴むコード例です。
- デフォルトでは青い物体の位置をtfのフレームとして配信します。
- 検出した物体のフレーム名は
target_0です。 - 色の検出にはOpenCVを使用しています。
- 検出した物体の距離は深度画像から取得します。
次のコマンドを実行します。
ros2 launch sciurus17_examples camera_example.launch.py example:='color_detection'
point_cloud_detection
点群から物体を検出して掴むコード例です。
- 検出された物体位置はtfのフレームとして配信されます。
- 検出した物体のフレーム名は
target_0、target_1、target_2…です。 - 掴む対象はSciurus17前方の0.3 mの範囲にある
target_0に設定されています。 - 物体検出にはPoint Cloud Libraryを使用しています。
次のコマンドを実行します。
ros2 launch sciurus17_examples camera_example.launch.py example:='point_cloud_detection'