| name | robot-sensors |
| description | Robot sensors — encoders (incremental/absolute, resolution, accuracy), force-torque sensors (ATI, Schunk, 6-DOF wrench measurement), tactile sensors (capacitive, piezoresistive arrays), proximity sensors (laser rangefinder, ultrasonic, capacitive), vision systems (2D camera, 3D structured light, stereo, time-of-flight), IMU (MEMS accelerometer, gyroscope, Kalman filter), proprioception vs. exteroception, sensor fusion, ROS sensor interfaces, and safety sensors (ISO 13849). |
| metadata | {"priority":7,"promptSignals":{"phrases":["robot sensors","robot force sensor","robot encoder","force torque sensor","robot vision","tactile sensor robot"],"minScore":3}} |
Robot Sensors — Complete Skill
Proprioceptive Sensors (Internal State)
Encoders (Position and Velocity)
Incremental encoder:
Optical disc with slots → photodetector counts pulses; quadrature (A,B channels) → direction + count
Resolution: N_ppr (pulses per revolution); with quadrature: 4 × N_ppr counts/revolution
Velocity: ω = (N_counts / N_ppr) / Δt [rad/s; Δt = time window]
Index channel (Z): one pulse per revolution → reference position
Typical: 1,000–65,536 ppr for robot joints; 4,096 ppr (12-bit equivalent) for medium precision
Absolute encoder:
Each position = unique binary code → no reference homing needed; no loss of position on power-off
Types: single-turn (17–23 bit; 131,072–8,388,608 counts/rev); multi-turn (adds 12–16 bits of revolution count)
Interfaces: SSI (synchronous serial), BiSS-C, EnDat 2.2, HIPERFACE
Industrial robots: typically 17-23 bit single-turn + 16-bit multi-turn absolute
Resolution vs. accuracy:
Resolution (encoder): Δθ_enc = 360°/counts_per_rev (perfect reading)
Accuracy: limited by eccentricity, disc errors, interpolation errors; typically ±1–5 encoder counts
Motor-to-joint transmission:
Joint position: θ_joint = θ_motor / i_gear [i_gear = gear ratio, e.g., 100:1]
Joint resolution: Δθ_joint = Δθ_motor / i_gear → much finer than motor encoder alone
But: backlash and compliance of gear reduces effective joint accuracy
Motor Current (Torque Sensing)
Torque estimation:
τ_motor = k_T × i_motor [k_T = motor torque constant [Nm/A]; i_motor = current from drive]
τ_joint = τ_motor × i_gear × η_gear - τ_friction [η_gear = gear efficiency; τ_friction = friction model]
Accuracy: ±10–30% of rated torque due to friction uncertainty; useful for threshold detection
Application: torque monitoring for collision detection (abnormal torque → stop); approximate payload estimation
Force-Torque Sensors
6-Axis Wrench Measurement
ATI Gamma, Delta, Omega; Schunk FT-Axia; OnRobot HEX:
Measures: 3 forces (Fx, Fy, Fz) and 3 torques (Mx, My, Mz) simultaneously
Principle: bonded strain gauges on elastomeric structure; Wheatstone bridge
Output: 6-channel analog or digital (Ethernet, EtherCAT, CAN)
Key specs:
Gamma SI-130-10: Fxy ±130 N; Fz ±400 N; Txy ±10 Nm; Tz ±10 Nm; resolution 1/40 N, 1/800 Nm
ATI Delta SI-330-30: ±330 N / ±30 Nm; heavier duty; assembly applications
Stiffness: 10⁶–10⁷ N/m; natural frequency 800–1,500 Hz (unloaded)
Calibration matrix:
F_meas = C × V_gauge [C = 6×6 calibration matrix; V_gauge = 6 strain voltages]
Supplied by ATI with each sensor; re-calibration traceable to NIST force standards
Bias removal:
τ_net = τ_measured - τ_gravity(q) - τ_bias [τ_gravity = gravity effect of tool weight; τ_bias = zero-load offset]
Gravity compensation requires: mass of tool m_tool, CoM position d_c, robot configuration q
Applications: force-controlled assembly (peg-in-hole), surface grinding, polishing, human-robot interaction
Tactile Sensor Arrays
Capacitive arrays (BioTac, SynTouch; Tekscan FlexiForce):
Matrix of capacitive elements; measures pressure distribution
Resolution: 1–10 mm spatial; 0.1–10 N/cm² pressure
Output: 2D force map → grasp quality assessment, slip detection, texture recognition
Piezoresistive arrays:
Conductive polymer or ink changes resistance with pressure; cheaper; larger hysteresis
Applications: robotic gripper fingertips; prosthetic hands
Exteroceptive Sensors (Environment)
Vision Systems
2D Camera:
Industrial: 1–20 MP; GigE Vision or USB3; monochrome or color; frame rate 30–300 FPS
Calibration: OpenCV (Zhang method); intrinsics (focal length f_x, f_y; principal point c_x, c_y; distortion k1,k2,p1,p2)
Reprojection error: ≤ 0.5 pixels for good calibration
3D Structured Light (Keyence LJ-X, Cognex 3D-A; Photoneo PhoXi):
Project pattern (fringe, binary code, random dots); 3D from phase shift or stereo triangulation
Accuracy: 0.01–0.5 mm; speed: 0.1–10 Hz
Applications: bin picking (depalletizing); weld seam tracking; part inspection
Stereo Vision:
Two cameras + disparity map → depth z = f × B / d [f = focal length; B = baseline; d = disparity pixels]
Accuracy: z_error = f × B × σ_d / d² [grows with z²; σ_d = disparity uncertainty ≈ 0.5–2 pixels]
For z = 1 m, f = 1,000 px, B = 0.15 m, σ_d = 1 px: z_error = 0.15 mm
Time-of-Flight (Intel RealSense L515, Basler blaze):
Laser or LED modulated light → measure phase shift of reflected signal → depth
Accuracy: ±5–20 mm; frame rate: 30–90 Hz; range: 0.3–10 m
Not suitable for specular surfaces (no reflection) or bright outdoor (sunlight interference)
LiDAR (Hokuyo UTM-30LX, Velodyne VLP-16):
Rotating laser scanner; 2D or 3D; range 10–100 m; accuracy ±10–30 mm
Used for mobile robot navigation; not for precision manipulation
Proximity Sensors
Ultrasonic (Pepperl+Fuchs UB; Banner Q50):
Range: 0.03–10 m; accuracy ±1–5 mm; frequency 40–200 kHz; beam angle 10–25°
Not affected by color/opacity; works in fog; poor for soft absorbing materials
Applications: simple presence detection; level measurement; coarse distance
Laser rangefinder (Keyence LK, Micro-Epsilon optoNCDT):
Range: 5–300 mm; accuracy ±0.01–0.1 mm; linearized output
Principle: triangulation or time-of-flight (short range: triangulation preferred)
Applications: part height measurement, thickness, surface profile
Inductive proximity (SICK, Balluff):
Detects metallic objects; range 1–50 mm; no contact required; solid-state; O(μs) response
Applications: end-of-stroke detection, part presence
Inertial Measurement Unit (IMU)
MEMS IMU (6-DOF or 9-DOF)
Accelerometer:
Measures: linear acceleration (gravity + dynamics); MEMS spring-mass system
Noise: 50–200 μg/√Hz (low-cost); 3–10 μg/√Hz (tactical grade)
Bias stability: 0.1–10 mg (MEMS); 1–50 μg (navigation grade)
Gyroscope:
Measures: angular velocity; MEMS Coriolis effect
Noise: 0.01–0.1 °/s/√Hz; bias stability: 0.1–10 °/hr (MEMS); 0.001 °/hr (fiber optic)
Sensor fusion (complementary filter / Kalman):
orientation = integral(gyro) + correction_from_accelerometer_when_nearly_static
Kalman filter: state = [angle, gyro_bias]; measurement = accel direction (gravity vector); update attitude
Madgwick / Mahony filters: computationally efficient quaternion-based orientation estimation
IMU applications in robotics:
Mobile robot orientation; exoskeleton posture; UAV attitude; human motion capture (Xsens MVN)
Not used for absolute joint position in fixed-base robots (encoders more accurate)
ROS Sensor Interfaces
ROS 2 standard message types:
sensor_msgs/JointState: position, velocity, effort per joint
sensor_msgs/Image: camera frames
sensor_msgs/PointCloud2: 3D point cloud from depth camera or LiDAR
geometry_msgs/WrenchStamped: force-torque sensor output
sensor_msgs/Imu: IMU data (orientation, angular velocity, linear acceleration)
Calibration packages:
camera_calibration (ROS): OpenCV Zhang method; monocular and stereo
robot_calibration: joint-camera extrinsic calibration
ft_calib: force-torque sensor gravity compensation calibration
Safety Sensors
Functional Safety (ISO 13849 / IEC 62061)
Safety LiDAR (SICK S3000, Pilz PSENscan):
Monitors protective zone around robot; stops robot if human enters
PLd/SIL2 rated; 2-channel safety output
Applications: collaborative robots, AGVs, robot cell access monitoring
Safety light curtains:
Detect hand/finger intrusion; PLe/SIL3 achievable
Resolution: finger (14 mm) or body (30 mm) detection
Safety PLC (Pilz PNOZmulti, Siemens SIRIUS 3SK):
Processes safety sensor signals; executes safety function (stop, reduce speed, safe torque off)
Must be certified per ISO 13849 PL d or e
Standards and References
| Standard | Scope |
|---|
| ISO 13849-1 | Safety of machinery; control system safety (PL a–e) |
| IEC 62061 | Safety of machinery; functional safety (SIL 1–3) |
| ISO 9283 | Robot performance testing (indirectly references measurement sensors) |
| ANSI/A3 TR R15.606 | Collaborative robot testing criteria |
| GigE Vision (AIA) | Camera interface standard |
| ROS REP 103/105 | ROS coordinate system and unit conventions |
Output
Provide: sensor selection table (sensor type; model; parameter measured; range; accuracy; interface; application within robot system), encoder spec (incremental/absolute; bits resolution; joint resolution after gear [°/count]; interface: EnDat/SSI), force-torque sensor (model; Fx/Fy/Fz range [N]; Mx/My/Mz range [Nm]; resolution; ROS driver), vision system (2D/3D; FOV; resolution; accuracy [mm]; lighting; calibration status), safety sensors (zone size [m]; PL/SIL rating; integration with robot controller E-stop chain), sensor fusion (if applicable: Kalman filter state; measurement update rate [Hz]; expected orientation accuracy [°]), ROS topics and message types for each sensor, calibration requirements (camera intrinsics; hand-eye calibration; FT zero procedure), and applicable standard (ISO 13849, GigE Vision, ROS REP 103).