diagnostics.hardware_check¶
Hardware bring-up self-test (open-loop, no closed-loop control).
Verifies that the ROS 2 pipeline talks to the physical layer:
- MOTOR - command each joint a small, slow, absolute move via the trajectory
controller and confirm /joint_states reports it reaching the target.
- SENSOR - sample /fishing_arm/tension and confirm it is publishing finite
values within a sane range.
It deliberately does NOT run the admittance controller (the bringup launch disables it when hardware_check:=true), so these are pure function checks, not control behaviour. The exact same test runs in simulation, so you can validate it with use_sim:=true before trusting it on real hardware.
Prints a PASS/FAIL summary and exits 0 (all passed) or 1 (something failed).
Classes¶
Functions¶
|
Module Contents¶
- class diagnostics.hardware_check.HardwareCheck¶
Bases:
rclpy.node.Node- run_checks()¶
- joint_pos¶
- joints¶
- move_delta¶
- move_time¶
- position_tolerance¶
- pub¶
- require_tension_variation¶
- settle_time¶
- startup_timeout¶
- tension = []¶
- tension_check_duration¶
- tension_max¶
- tension_min¶
- traj_topic¶
- diagnostics.hardware_check.main(args=None)¶