No version for distro humble showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.3.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/harvestx/mg400_ros2.git
VCS Type git
VCS Version humble
Last Updated 2026-10-26
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

MG400 command-line tools, kinematics checks and offline parameter identification.

Maintainers

  • Yuki Yamamoto

Authors

No additional authors.

MG400 tools

This package contains C++ and Python command-line tools for MG400 operation, kinematics checks and offline parameter identification. Source the ROS workspace after building it, then run commands from any working directory with ros2 run.

Command Purpose
param_identify Fit current bias and posture compensation from MCAP and YAML recordings.
command_sender Replay command logs through the robot’s TCP interfaces; supports --dry-run.
compare_positive_inverse_solution Check the robot’s PositiveSolution/InverseSolution TCP responses.
command_queue_client Send the configured command sequence through the ROS command queue action.
validate_kinematics_with_solutions Compare local kinematics with the robot’s ROS solution services.
mg400_kinematics_cli Evaluate local forward or inverse kinematics.

Parameter identification

Copy the experiment template to a writable location and edit it before loading it in the RViz Identify panel:

cp "$(ros2 pkg prefix --share mg400_tools)/config/param_identify.yaml" ./experiment.yaml
ros2 launch mg400_bringup param_identify.launch.py ip_address:=192.168.1.6

The panel’s Run and record… command defaults to the basename param_identify_<timestamp>. Choosing run.mcap creates run.mcap and run.yaml. Keep the files together with matching basenames. The MCAP contains raw telemetry; the YAML contains the experiment settings and timestamped measurement windows. See the Identify panel workflow for collection details.

ros2 run mg400_tools param_identify run.mcap --output identified.yaml

Each input MCAP needs its own matching YAML. Multiple recordings can be supplied before --output. The result contains joint_current_bias_a (four values) and posture_coefficients_nm (44 values in joint-major order). Use --force to replace an existing result. Input MCAPs and their YAML are protected from overwriting. The analysis works offline and does not communicate with the robot.

The Python implementation can also be imported:

from mg400_tools.param_identify import read_recording

Other tools

Inspect a recorded command list without sending commands:

ros2 run mg400_tools command_sender \
  --input "$(ros2 pkg prefix --share mg400_tools)/examples/command_list.txt" \
  --dry-run

config/commands.yaml configures the C++ command_queue_client; the TCP command_sender reads text command logs. These tools use different interfaces and input formats. See the command queue documentation.

Evaluate local forward kinematics, with joint angles in degrees:

ros2 run mg400_tools mg400_kinematics_cli fk 0 10 20 30

Source layout and tests

  • src/ and include/mg400_tools/: C++ tools.
  • mg400_tools/: importable Python implementations.
  • scripts/: small Python command entry points installed under lib/mg400_tools.
  • config/ and examples/: resources installed under share/mg400_tools.
  • test/: offline analysis tests.

The mixed C++/Python package uses ament_cmake_python to install its Python module. Its tests import the installed module and require a built, sourced workspace.

colcon test --packages-select mg400_tools
colcon test-result --verbose

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mg400_tools at Robotics Stack Exchange

No version for distro jazzy showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.3.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/harvestx/mg400_ros2.git
VCS Type git
VCS Version humble
Last Updated 2026-10-26
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

MG400 command-line tools, kinematics checks and offline parameter identification.

Maintainers

  • Yuki Yamamoto

Authors

No additional authors.

MG400 tools

This package contains C++ and Python command-line tools for MG400 operation, kinematics checks and offline parameter identification. Source the ROS workspace after building it, then run commands from any working directory with ros2 run.

Command Purpose
param_identify Fit current bias and posture compensation from MCAP and YAML recordings.
command_sender Replay command logs through the robot’s TCP interfaces; supports --dry-run.
compare_positive_inverse_solution Check the robot’s PositiveSolution/InverseSolution TCP responses.
command_queue_client Send the configured command sequence through the ROS command queue action.
validate_kinematics_with_solutions Compare local kinematics with the robot’s ROS solution services.
mg400_kinematics_cli Evaluate local forward or inverse kinematics.

Parameter identification

Copy the experiment template to a writable location and edit it before loading it in the RViz Identify panel:

cp "$(ros2 pkg prefix --share mg400_tools)/config/param_identify.yaml" ./experiment.yaml
ros2 launch mg400_bringup param_identify.launch.py ip_address:=192.168.1.6

The panel’s Run and record… command defaults to the basename param_identify_<timestamp>. Choosing run.mcap creates run.mcap and run.yaml. Keep the files together with matching basenames. The MCAP contains raw telemetry; the YAML contains the experiment settings and timestamped measurement windows. See the Identify panel workflow for collection details.

ros2 run mg400_tools param_identify run.mcap --output identified.yaml

Each input MCAP needs its own matching YAML. Multiple recordings can be supplied before --output. The result contains joint_current_bias_a (four values) and posture_coefficients_nm (44 values in joint-major order). Use --force to replace an existing result. Input MCAPs and their YAML are protected from overwriting. The analysis works offline and does not communicate with the robot.

The Python implementation can also be imported:

from mg400_tools.param_identify import read_recording

Other tools

Inspect a recorded command list without sending commands:

ros2 run mg400_tools command_sender \
  --input "$(ros2 pkg prefix --share mg400_tools)/examples/command_list.txt" \
  --dry-run

config/commands.yaml configures the C++ command_queue_client; the TCP command_sender reads text command logs. These tools use different interfaces and input formats. See the command queue documentation.

Evaluate local forward kinematics, with joint angles in degrees:

ros2 run mg400_tools mg400_kinematics_cli fk 0 10 20 30

Source layout and tests

  • src/ and include/mg400_tools/: C++ tools.
  • mg400_tools/: importable Python implementations.
  • scripts/: small Python command entry points installed under lib/mg400_tools.
  • config/ and examples/: resources installed under share/mg400_tools.
  • test/: offline analysis tests.

The mixed C++/Python package uses ament_cmake_python to install its Python module. Its tests import the installed module and require a built, sourced workspace.

colcon test --packages-select mg400_tools
colcon test-result --verbose

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mg400_tools at Robotics Stack Exchange

No version for distro kilted showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.3.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/harvestx/mg400_ros2.git
VCS Type git
VCS Version humble
Last Updated 2026-10-26
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

MG400 command-line tools, kinematics checks and offline parameter identification.

Maintainers

  • Yuki Yamamoto

Authors

No additional authors.

MG400 tools

This package contains C++ and Python command-line tools for MG400 operation, kinematics checks and offline parameter identification. Source the ROS workspace after building it, then run commands from any working directory with ros2 run.

Command Purpose
param_identify Fit current bias and posture compensation from MCAP and YAML recordings.
command_sender Replay command logs through the robot’s TCP interfaces; supports --dry-run.
compare_positive_inverse_solution Check the robot’s PositiveSolution/InverseSolution TCP responses.
command_queue_client Send the configured command sequence through the ROS command queue action.
validate_kinematics_with_solutions Compare local kinematics with the robot’s ROS solution services.
mg400_kinematics_cli Evaluate local forward or inverse kinematics.

Parameter identification

Copy the experiment template to a writable location and edit it before loading it in the RViz Identify panel:

cp "$(ros2 pkg prefix --share mg400_tools)/config/param_identify.yaml" ./experiment.yaml
ros2 launch mg400_bringup param_identify.launch.py ip_address:=192.168.1.6

The panel’s Run and record… command defaults to the basename param_identify_<timestamp>. Choosing run.mcap creates run.mcap and run.yaml. Keep the files together with matching basenames. The MCAP contains raw telemetry; the YAML contains the experiment settings and timestamped measurement windows. See the Identify panel workflow for collection details.

ros2 run mg400_tools param_identify run.mcap --output identified.yaml

Each input MCAP needs its own matching YAML. Multiple recordings can be supplied before --output. The result contains joint_current_bias_a (four values) and posture_coefficients_nm (44 values in joint-major order). Use --force to replace an existing result. Input MCAPs and their YAML are protected from overwriting. The analysis works offline and does not communicate with the robot.

The Python implementation can also be imported:

from mg400_tools.param_identify import read_recording

Other tools

Inspect a recorded command list without sending commands:

ros2 run mg400_tools command_sender \
  --input "$(ros2 pkg prefix --share mg400_tools)/examples/command_list.txt" \
  --dry-run

config/commands.yaml configures the C++ command_queue_client; the TCP command_sender reads text command logs. These tools use different interfaces and input formats. See the command queue documentation.

Evaluate local forward kinematics, with joint angles in degrees:

ros2 run mg400_tools mg400_kinematics_cli fk 0 10 20 30

Source layout and tests

  • src/ and include/mg400_tools/: C++ tools.
  • mg400_tools/: importable Python implementations.
  • scripts/: small Python command entry points installed under lib/mg400_tools.
  • config/ and examples/: resources installed under share/mg400_tools.
  • test/: offline analysis tests.

The mixed C++/Python package uses ament_cmake_python to install its Python module. Its tests import the installed module and require a built, sourced workspace.

colcon test --packages-select mg400_tools
colcon test-result --verbose

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mg400_tools at Robotics Stack Exchange

No version for distro lyrical showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.3.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/harvestx/mg400_ros2.git
VCS Type git
VCS Version humble
Last Updated 2026-10-26
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

MG400 command-line tools, kinematics checks and offline parameter identification.

Maintainers

  • Yuki Yamamoto

Authors

No additional authors.

MG400 tools

This package contains C++ and Python command-line tools for MG400 operation, kinematics checks and offline parameter identification. Source the ROS workspace after building it, then run commands from any working directory with ros2 run.

Command Purpose
param_identify Fit current bias and posture compensation from MCAP and YAML recordings.
command_sender Replay command logs through the robot’s TCP interfaces; supports --dry-run.
compare_positive_inverse_solution Check the robot’s PositiveSolution/InverseSolution TCP responses.
command_queue_client Send the configured command sequence through the ROS command queue action.
validate_kinematics_with_solutions Compare local kinematics with the robot’s ROS solution services.
mg400_kinematics_cli Evaluate local forward or inverse kinematics.

Parameter identification

Copy the experiment template to a writable location and edit it before loading it in the RViz Identify panel:

cp "$(ros2 pkg prefix --share mg400_tools)/config/param_identify.yaml" ./experiment.yaml
ros2 launch mg400_bringup param_identify.launch.py ip_address:=192.168.1.6

The panel’s Run and record… command defaults to the basename param_identify_<timestamp>. Choosing run.mcap creates run.mcap and run.yaml. Keep the files together with matching basenames. The MCAP contains raw telemetry; the YAML contains the experiment settings and timestamped measurement windows. See the Identify panel workflow for collection details.

ros2 run mg400_tools param_identify run.mcap --output identified.yaml

Each input MCAP needs its own matching YAML. Multiple recordings can be supplied before --output. The result contains joint_current_bias_a (four values) and posture_coefficients_nm (44 values in joint-major order). Use --force to replace an existing result. Input MCAPs and their YAML are protected from overwriting. The analysis works offline and does not communicate with the robot.

The Python implementation can also be imported:

from mg400_tools.param_identify import read_recording

Other tools

Inspect a recorded command list without sending commands:

ros2 run mg400_tools command_sender \
  --input "$(ros2 pkg prefix --share mg400_tools)/examples/command_list.txt" \
  --dry-run

config/commands.yaml configures the C++ command_queue_client; the TCP command_sender reads text command logs. These tools use different interfaces and input formats. See the command queue documentation.

Evaluate local forward kinematics, with joint angles in degrees:

ros2 run mg400_tools mg400_kinematics_cli fk 0 10 20 30

Source layout and tests

  • src/ and include/mg400_tools/: C++ tools.
  • mg400_tools/: importable Python implementations.
  • scripts/: small Python command entry points installed under lib/mg400_tools.
  • config/ and examples/: resources installed under share/mg400_tools.
  • test/: offline analysis tests.

The mixed C++/Python package uses ament_cmake_python to install its Python module. Its tests import the installed module and require a built, sourced workspace.

colcon test --packages-select mg400_tools
colcon test-result --verbose

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mg400_tools at Robotics Stack Exchange

No version for distro rolling showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.3.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/harvestx/mg400_ros2.git
VCS Type git
VCS Version humble
Last Updated 2026-10-26
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

MG400 command-line tools, kinematics checks and offline parameter identification.

Maintainers

  • Yuki Yamamoto

Authors

No additional authors.

MG400 tools

This package contains C++ and Python command-line tools for MG400 operation, kinematics checks and offline parameter identification. Source the ROS workspace after building it, then run commands from any working directory with ros2 run.

Command Purpose
param_identify Fit current bias and posture compensation from MCAP and YAML recordings.
command_sender Replay command logs through the robot’s TCP interfaces; supports --dry-run.
compare_positive_inverse_solution Check the robot’s PositiveSolution/InverseSolution TCP responses.
command_queue_client Send the configured command sequence through the ROS command queue action.
validate_kinematics_with_solutions Compare local kinematics with the robot’s ROS solution services.
mg400_kinematics_cli Evaluate local forward or inverse kinematics.

Parameter identification

Copy the experiment template to a writable location and edit it before loading it in the RViz Identify panel:

cp "$(ros2 pkg prefix --share mg400_tools)/config/param_identify.yaml" ./experiment.yaml
ros2 launch mg400_bringup param_identify.launch.py ip_address:=192.168.1.6

The panel’s Run and record… command defaults to the basename param_identify_<timestamp>. Choosing run.mcap creates run.mcap and run.yaml. Keep the files together with matching basenames. The MCAP contains raw telemetry; the YAML contains the experiment settings and timestamped measurement windows. See the Identify panel workflow for collection details.

ros2 run mg400_tools param_identify run.mcap --output identified.yaml

Each input MCAP needs its own matching YAML. Multiple recordings can be supplied before --output. The result contains joint_current_bias_a (four values) and posture_coefficients_nm (44 values in joint-major order). Use --force to replace an existing result. Input MCAPs and their YAML are protected from overwriting. The analysis works offline and does not communicate with the robot.

The Python implementation can also be imported:

from mg400_tools.param_identify import read_recording

Other tools

Inspect a recorded command list without sending commands:

ros2 run mg400_tools command_sender \
  --input "$(ros2 pkg prefix --share mg400_tools)/examples/command_list.txt" \
  --dry-run

config/commands.yaml configures the C++ command_queue_client; the TCP command_sender reads text command logs. These tools use different interfaces and input formats. See the command queue documentation.

Evaluate local forward kinematics, with joint angles in degrees:

ros2 run mg400_tools mg400_kinematics_cli fk 0 10 20 30

Source layout and tests

  • src/ and include/mg400_tools/: C++ tools.
  • mg400_tools/: importable Python implementations.
  • scripts/: small Python command entry points installed under lib/mg400_tools.
  • config/ and examples/: resources installed under share/mg400_tools.
  • test/: offline analysis tests.

The mixed C++/Python package uses ament_cmake_python to install its Python module. Its tests import the installed module and require a built, sourced workspace.

colcon test --packages-select mg400_tools
colcon test-result --verbose

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mg400_tools at Robotics Stack Exchange

Package Summary

Version 1.3.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/harvestx/mg400_ros2.git
VCS Type git
VCS Version humble
Last Updated 2026-10-26
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

MG400 command-line tools, kinematics checks and offline parameter identification.

Maintainers

  • Yuki Yamamoto

Authors

No additional authors.

MG400 tools

This package contains C++ and Python command-line tools for MG400 operation, kinematics checks and offline parameter identification. Source the ROS workspace after building it, then run commands from any working directory with ros2 run.

Command Purpose
param_identify Fit current bias and posture compensation from MCAP and YAML recordings.
command_sender Replay command logs through the robot’s TCP interfaces; supports --dry-run.
compare_positive_inverse_solution Check the robot’s PositiveSolution/InverseSolution TCP responses.
command_queue_client Send the configured command sequence through the ROS command queue action.
validate_kinematics_with_solutions Compare local kinematics with the robot’s ROS solution services.
mg400_kinematics_cli Evaluate local forward or inverse kinematics.

Parameter identification

Copy the experiment template to a writable location and edit it before loading it in the RViz Identify panel:

cp "$(ros2 pkg prefix --share mg400_tools)/config/param_identify.yaml" ./experiment.yaml
ros2 launch mg400_bringup param_identify.launch.py ip_address:=192.168.1.6

The panel’s Run and record… command defaults to the basename param_identify_<timestamp>. Choosing run.mcap creates run.mcap and run.yaml. Keep the files together with matching basenames. The MCAP contains raw telemetry; the YAML contains the experiment settings and timestamped measurement windows. See the Identify panel workflow for collection details.

ros2 run mg400_tools param_identify run.mcap --output identified.yaml

Each input MCAP needs its own matching YAML. Multiple recordings can be supplied before --output. The result contains joint_current_bias_a (four values) and posture_coefficients_nm (44 values in joint-major order). Use --force to replace an existing result. Input MCAPs and their YAML are protected from overwriting. The analysis works offline and does not communicate with the robot.

The Python implementation can also be imported:

from mg400_tools.param_identify import read_recording

Other tools

Inspect a recorded command list without sending commands:

ros2 run mg400_tools command_sender \
  --input "$(ros2 pkg prefix --share mg400_tools)/examples/command_list.txt" \
  --dry-run

config/commands.yaml configures the C++ command_queue_client; the TCP command_sender reads text command logs. These tools use different interfaces and input formats. See the command queue documentation.

Evaluate local forward kinematics, with joint angles in degrees:

ros2 run mg400_tools mg400_kinematics_cli fk 0 10 20 30

Source layout and tests

  • src/ and include/mg400_tools/: C++ tools.
  • mg400_tools/: importable Python implementations.
  • scripts/: small Python command entry points installed under lib/mg400_tools.
  • config/ and examples/: resources installed under share/mg400_tools.
  • test/: offline analysis tests.

The mixed C++/Python package uses ament_cmake_python to install its Python module. Its tests import the installed module and require a built, sourced workspace.

colcon test --packages-select mg400_tools
colcon test-result --verbose

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mg400_tools at Robotics Stack Exchange

No version for distro galactic showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.3.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/harvestx/mg400_ros2.git
VCS Type git
VCS Version humble
Last Updated 2026-10-26
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

MG400 command-line tools, kinematics checks and offline parameter identification.

Maintainers

  • Yuki Yamamoto

Authors

No additional authors.

MG400 tools

This package contains C++ and Python command-line tools for MG400 operation, kinematics checks and offline parameter identification. Source the ROS workspace after building it, then run commands from any working directory with ros2 run.

Command Purpose
param_identify Fit current bias and posture compensation from MCAP and YAML recordings.
command_sender Replay command logs through the robot’s TCP interfaces; supports --dry-run.
compare_positive_inverse_solution Check the robot’s PositiveSolution/InverseSolution TCP responses.
command_queue_client Send the configured command sequence through the ROS command queue action.
validate_kinematics_with_solutions Compare local kinematics with the robot’s ROS solution services.
mg400_kinematics_cli Evaluate local forward or inverse kinematics.

Parameter identification

Copy the experiment template to a writable location and edit it before loading it in the RViz Identify panel:

cp "$(ros2 pkg prefix --share mg400_tools)/config/param_identify.yaml" ./experiment.yaml
ros2 launch mg400_bringup param_identify.launch.py ip_address:=192.168.1.6

The panel’s Run and record… command defaults to the basename param_identify_<timestamp>. Choosing run.mcap creates run.mcap and run.yaml. Keep the files together with matching basenames. The MCAP contains raw telemetry; the YAML contains the experiment settings and timestamped measurement windows. See the Identify panel workflow for collection details.

ros2 run mg400_tools param_identify run.mcap --output identified.yaml

Each input MCAP needs its own matching YAML. Multiple recordings can be supplied before --output. The result contains joint_current_bias_a (four values) and posture_coefficients_nm (44 values in joint-major order). Use --force to replace an existing result. Input MCAPs and their YAML are protected from overwriting. The analysis works offline and does not communicate with the robot.

The Python implementation can also be imported:

from mg400_tools.param_identify import read_recording

Other tools

Inspect a recorded command list without sending commands:

ros2 run mg400_tools command_sender \
  --input "$(ros2 pkg prefix --share mg400_tools)/examples/command_list.txt" \
  --dry-run

config/commands.yaml configures the C++ command_queue_client; the TCP command_sender reads text command logs. These tools use different interfaces and input formats. See the command queue documentation.

Evaluate local forward kinematics, with joint angles in degrees:

ros2 run mg400_tools mg400_kinematics_cli fk 0 10 20 30

Source layout and tests

  • src/ and include/mg400_tools/: C++ tools.
  • mg400_tools/: importable Python implementations.
  • scripts/: small Python command entry points installed under lib/mg400_tools.
  • config/ and examples/: resources installed under share/mg400_tools.
  • test/: offline analysis tests.

The mixed C++/Python package uses ament_cmake_python to install its Python module. Its tests import the installed module and require a built, sourced workspace.

colcon test --packages-select mg400_tools
colcon test-result --verbose

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mg400_tools at Robotics Stack Exchange

No version for distro iron showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.3.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/harvestx/mg400_ros2.git
VCS Type git
VCS Version humble
Last Updated 2026-10-26
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

MG400 command-line tools, kinematics checks and offline parameter identification.

Maintainers

  • Yuki Yamamoto

Authors

No additional authors.

MG400 tools

This package contains C++ and Python command-line tools for MG400 operation, kinematics checks and offline parameter identification. Source the ROS workspace after building it, then run commands from any working directory with ros2 run.

Command Purpose
param_identify Fit current bias and posture compensation from MCAP and YAML recordings.
command_sender Replay command logs through the robot’s TCP interfaces; supports --dry-run.
compare_positive_inverse_solution Check the robot’s PositiveSolution/InverseSolution TCP responses.
command_queue_client Send the configured command sequence through the ROS command queue action.
validate_kinematics_with_solutions Compare local kinematics with the robot’s ROS solution services.
mg400_kinematics_cli Evaluate local forward or inverse kinematics.

Parameter identification

Copy the experiment template to a writable location and edit it before loading it in the RViz Identify panel:

cp "$(ros2 pkg prefix --share mg400_tools)/config/param_identify.yaml" ./experiment.yaml
ros2 launch mg400_bringup param_identify.launch.py ip_address:=192.168.1.6

The panel’s Run and record… command defaults to the basename param_identify_<timestamp>. Choosing run.mcap creates run.mcap and run.yaml. Keep the files together with matching basenames. The MCAP contains raw telemetry; the YAML contains the experiment settings and timestamped measurement windows. See the Identify panel workflow for collection details.

ros2 run mg400_tools param_identify run.mcap --output identified.yaml

Each input MCAP needs its own matching YAML. Multiple recordings can be supplied before --output. The result contains joint_current_bias_a (four values) and posture_coefficients_nm (44 values in joint-major order). Use --force to replace an existing result. Input MCAPs and their YAML are protected from overwriting. The analysis works offline and does not communicate with the robot.

The Python implementation can also be imported:

from mg400_tools.param_identify import read_recording

Other tools

Inspect a recorded command list without sending commands:

ros2 run mg400_tools command_sender \
  --input "$(ros2 pkg prefix --share mg400_tools)/examples/command_list.txt" \
  --dry-run

config/commands.yaml configures the C++ command_queue_client; the TCP command_sender reads text command logs. These tools use different interfaces and input formats. See the command queue documentation.

Evaluate local forward kinematics, with joint angles in degrees:

ros2 run mg400_tools mg400_kinematics_cli fk 0 10 20 30

Source layout and tests

  • src/ and include/mg400_tools/: C++ tools.
  • mg400_tools/: importable Python implementations.
  • scripts/: small Python command entry points installed under lib/mg400_tools.
  • config/ and examples/: resources installed under share/mg400_tools.
  • test/: offline analysis tests.

The mixed C++/Python package uses ament_cmake_python to install its Python module. Its tests import the installed module and require a built, sourced workspace.

colcon test --packages-select mg400_tools
colcon test-result --verbose

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mg400_tools at Robotics Stack Exchange

No version for distro melodic showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.3.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/harvestx/mg400_ros2.git
VCS Type git
VCS Version humble
Last Updated 2026-10-26
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

MG400 command-line tools, kinematics checks and offline parameter identification.

Maintainers

  • Yuki Yamamoto

Authors

No additional authors.

MG400 tools

This package contains C++ and Python command-line tools for MG400 operation, kinematics checks and offline parameter identification. Source the ROS workspace after building it, then run commands from any working directory with ros2 run.

Command Purpose
param_identify Fit current bias and posture compensation from MCAP and YAML recordings.
command_sender Replay command logs through the robot’s TCP interfaces; supports --dry-run.
compare_positive_inverse_solution Check the robot’s PositiveSolution/InverseSolution TCP responses.
command_queue_client Send the configured command sequence through the ROS command queue action.
validate_kinematics_with_solutions Compare local kinematics with the robot’s ROS solution services.
mg400_kinematics_cli Evaluate local forward or inverse kinematics.

Parameter identification

Copy the experiment template to a writable location and edit it before loading it in the RViz Identify panel:

cp "$(ros2 pkg prefix --share mg400_tools)/config/param_identify.yaml" ./experiment.yaml
ros2 launch mg400_bringup param_identify.launch.py ip_address:=192.168.1.6

The panel’s Run and record… command defaults to the basename param_identify_<timestamp>. Choosing run.mcap creates run.mcap and run.yaml. Keep the files together with matching basenames. The MCAP contains raw telemetry; the YAML contains the experiment settings and timestamped measurement windows. See the Identify panel workflow for collection details.

ros2 run mg400_tools param_identify run.mcap --output identified.yaml

Each input MCAP needs its own matching YAML. Multiple recordings can be supplied before --output. The result contains joint_current_bias_a (four values) and posture_coefficients_nm (44 values in joint-major order). Use --force to replace an existing result. Input MCAPs and their YAML are protected from overwriting. The analysis works offline and does not communicate with the robot.

The Python implementation can also be imported:

from mg400_tools.param_identify import read_recording

Other tools

Inspect a recorded command list without sending commands:

ros2 run mg400_tools command_sender \
  --input "$(ros2 pkg prefix --share mg400_tools)/examples/command_list.txt" \
  --dry-run

config/commands.yaml configures the C++ command_queue_client; the TCP command_sender reads text command logs. These tools use different interfaces and input formats. See the command queue documentation.

Evaluate local forward kinematics, with joint angles in degrees:

ros2 run mg400_tools mg400_kinematics_cli fk 0 10 20 30

Source layout and tests

  • src/ and include/mg400_tools/: C++ tools.
  • mg400_tools/: importable Python implementations.
  • scripts/: small Python command entry points installed under lib/mg400_tools.
  • config/ and examples/: resources installed under share/mg400_tools.
  • test/: offline analysis tests.

The mixed C++/Python package uses ament_cmake_python to install its Python module. Its tests import the installed module and require a built, sourced workspace.

colcon test --packages-select mg400_tools
colcon test-result --verbose

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mg400_tools at Robotics Stack Exchange

No version for distro noetic showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.3.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/harvestx/mg400_ros2.git
VCS Type git
VCS Version humble
Last Updated 2026-10-26
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

MG400 command-line tools, kinematics checks and offline parameter identification.

Maintainers

  • Yuki Yamamoto

Authors

No additional authors.

MG400 tools

This package contains C++ and Python command-line tools for MG400 operation, kinematics checks and offline parameter identification. Source the ROS workspace after building it, then run commands from any working directory with ros2 run.

Command Purpose
param_identify Fit current bias and posture compensation from MCAP and YAML recordings.
command_sender Replay command logs through the robot’s TCP interfaces; supports --dry-run.
compare_positive_inverse_solution Check the robot’s PositiveSolution/InverseSolution TCP responses.
command_queue_client Send the configured command sequence through the ROS command queue action.
validate_kinematics_with_solutions Compare local kinematics with the robot’s ROS solution services.
mg400_kinematics_cli Evaluate local forward or inverse kinematics.

Parameter identification

Copy the experiment template to a writable location and edit it before loading it in the RViz Identify panel:

cp "$(ros2 pkg prefix --share mg400_tools)/config/param_identify.yaml" ./experiment.yaml
ros2 launch mg400_bringup param_identify.launch.py ip_address:=192.168.1.6

The panel’s Run and record… command defaults to the basename param_identify_<timestamp>. Choosing run.mcap creates run.mcap and run.yaml. Keep the files together with matching basenames. The MCAP contains raw telemetry; the YAML contains the experiment settings and timestamped measurement windows. See the Identify panel workflow for collection details.

ros2 run mg400_tools param_identify run.mcap --output identified.yaml

Each input MCAP needs its own matching YAML. Multiple recordings can be supplied before --output. The result contains joint_current_bias_a (four values) and posture_coefficients_nm (44 values in joint-major order). Use --force to replace an existing result. Input MCAPs and their YAML are protected from overwriting. The analysis works offline and does not communicate with the robot.

The Python implementation can also be imported:

from mg400_tools.param_identify import read_recording

Other tools

Inspect a recorded command list without sending commands:

ros2 run mg400_tools command_sender \
  --input "$(ros2 pkg prefix --share mg400_tools)/examples/command_list.txt" \
  --dry-run

config/commands.yaml configures the C++ command_queue_client; the TCP command_sender reads text command logs. These tools use different interfaces and input formats. See the command queue documentation.

Evaluate local forward kinematics, with joint angles in degrees:

ros2 run mg400_tools mg400_kinematics_cli fk 0 10 20 30

Source layout and tests

  • src/ and include/mg400_tools/: C++ tools.
  • mg400_tools/: importable Python implementations.
  • scripts/: small Python command entry points installed under lib/mg400_tools.
  • config/ and examples/: resources installed under share/mg400_tools.
  • test/: offline analysis tests.

The mixed C++/Python package uses ament_cmake_python to install its Python module. Its tests import the installed module and require a built, sourced workspace.

colcon test --packages-select mg400_tools
colcon test-result --verbose

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mg400_tools at Robotics Stack Exchange