| { |
| "robot": { |
| "name": "AdvancedHumanoidBot", |
| "type": "humanoid", |
| "mass": 75.0, |
| "dimensions": { |
| "height": 1.8, |
| "width": 0.5, |
| "depth": 0.3 |
| }, |
| "inertia": { |
| "ixx": 10.0, |
| "iyy": 10.0, |
| "izz": 10.0 |
| }, |
| "links": [ |
| { |
| "name": "base_link", |
| "parent": "world", |
| "pose": [0, 0, 0, 0, 0, 0], |
| "size": [0.3, 0.3, 0.1], |
| "mass": 5.0, |
| "collision": true, |
| "visual": true |
| }, |
| { |
| "name": "left_leg", |
| "parent": "base_link", |
| "joint": { |
| "type": "revolute", |
| "axis": [0, 0, 1], |
| "limit": [-1.57, 1.57], |
| "damping": 0.1, |
| "friction": 0.01 |
| }, |
| "size": [0.05, 0.4, 0.05], |
| "mass": 3.0 |
| }, |
| { |
| "name": "right_leg", |
| "parent": "base_link", |
| "joint": { |
| "type": "revolute", |
| "axis": [0, 0, 1], |
| "limit": [-1.57, 1.57], |
| "damping": 0.1, |
| "friction": 0.01 |
| }, |
| "size": [0.05, 0.4, 0.05], |
| "mass": 3.0 |
| }, |
| { |
| "name": "left_arm", |
| "parent": "base_link", |
| "joint": { |
| "type": "revolute", |
| "axis": [1, 0, 0], |
| "limit": [-2.0, 2.0] |
| }, |
| "size": [0.05, 0.6, 0.05], |
| "mass": 2.0, |
| "manipulator": true |
| }, |
| { |
| "name": "right_arm", |
| "parent": "base_link", |
| "joint": { |
| "type": "revolute", |
| "axis": [1, 0, 0], |
| "limit": [-2.0, 2.0] |
| }, |
| "size": [0.05, 0.6, 0.05], |
| "mass": 2.0, |
| "end_effector": { |
| "gripper": { |
| "max_force": 50.0, |
| "range": 0.1 |
| } |
| } |
| }, |
| { |
| "name": "head", |
| "parent": "base_link", |
| "joint": { |
| "type": "spherical", |
| "limit": [0.5, 0.5, 1.57] |
| }, |
| "size": [0.2, 0.2, 0.25], |
| "mass": 1.5 |
| } |
| ], |
| "dof": 28 |
| }, |
| "sensors": [ |
| { |
| "name": "lidar_top", |
| "type": "lidar", |
| "parent": "head", |
| "pose": [0, 0, 0.2, 0, 0, 0], |
| "range": [0.1, 50.0], |
| "resolution": 0.01, |
| "fov": 360.0, |
| "layers": 32, |
| "update_rate": 10.0, |
| "noise": 0.01 |
| }, |
| { |
| "name": "rgb_camera", |
| "type": "camera", |
| "parent": "head", |
| "pose": [0, 0.1, 0.15, 0, 0, 0], |
| "resolution": [640, 480], |
| "fov": 90.0, |
| "update_rate": 30.0, |
| "depth": true, |
| "topics": ["/camera/rgb/image_raw", "/camera/depth/image_raw"] |
| }, |
| { |
| "name": "imu", |
| "type": "imu", |
| "parent": "base_link", |
| "noise_gyro": 0.01, |
| "noise_accel": 0.01, |
| "update_rate": 100.0 |
| }, |
| { |
| "name": "force_torque_left", |
| "type": "force_torque", |
| "parent": "left_arm", |
| "update_rate": 100.0 |
| }, |
| { |
| "name": "gps", |
| "type": "gps", |
| "parent": "base_link", |
| "accuracy": 0.1, |
| "update_rate": 10.0 |
| }, |
| { |
| "name": "microphone_array", |
| "type": "microphone", |
| "parent": "head", |
| "channels": 8, |
| "sample_rate": 16000 |
| }, |
| { |
| "name": "touch_sensors", |
| "type": "tactile", |
| "parent": "right_arm", |
| "resolution": 100, |
| "sensitivity": 1.0 |
| } |
| ], |
| "actuators": [ |
| { |
| "name": "left_hip_motor", |
| "parent": "left_leg", |
| "type": "dc_motor", |
| "max_torque": 100.0, |
| "max_velocity": 10.0, |
| "pid": { |
| "p": 100.0, |
| "i": 1.0, |
| "d": 10.0 |
| } |
| }, |
| { |
| "name": "right_knee_servo", |
| "parent": "right_leg", |
| "type": "servo", |
| "max_torque": 50.0, |
| "range": [-90, 90], |
| "pid": { "p": 200.0, "i": 2.0, "d": 20.0 } |
| }, |
| { |
| "name": "gripper_motor", |
| "parent": "right_arm", |
| "type": "servo", |
| "max_force": 30.0 |
| } |
| ], |
| "control": { |
| "joint_controllers": "effort", |
| "gait_generator": { |
| "type": "cpg", |
| "frequency": 1.0, |
| "amplitude": 0.5 |
| }, |
| "trajectory_planner": { |
| "type": "moveit", |
| "planning_time": 0.5 |
| }, |
| "stabilization": { |
| "type": "mpc", |
| "horizon": 20 |
| }, |
| "safety_limits": { |
| "velocity_max": 2.0, |
| "collision_avoidance": true |
| } |
| }, |
| "navigation": { |
| "planner": { |
| "type": "dwa", |
| "goal_tolerance": 0.1, |
| "max_vel": 1.5 |
| }, |
| "localization": { |
| "type": "ekf", |
| "use_odom": true, |
| "use_imu": true, |
| "use_gps": true |
| }, |
| "map": { |
| "resolution": 0.05, |
| "size": [100, 100] |
| }, |
| "fleet_mode": true, |
| "formation": "leader_follower" |
| }, |
| "ai": { |
| "perception": { |
| "object_detector": { |
| "model": "yolov8", |
| "classes": ["person", "object", "obstacle"] |
| }, |
| "slam": { |
| "type": "orb_slam3" |
| } |
| }, |
| "planning": { |
| "type": "rl", |
| "model_path": "ppo_humanoid.pt" |
| }, |
| "nlp": { |
| "model": "whisper", |
| "intent_classifier": "bert" |
| }, |
| "compute": { |
| "gpu": true, |
| "batch_size": 1 |
| } |
| }, |
| "world": { |
| "gravity": [0, 0, -9.81], |
| "timestep": 0.001, |
| "real_time_factor": 1.0, |
| "terrain": { |
| "type": "rough", |
| "friction": 0.8 |
| }, |
| "obstacles": [ |
| { |
| "type": "box", |
| "pose": [2, 0, 0.5, 0, 0, 0], |
| "size": [1, 1, 1] |
| } |
| ] |
| }, |
| "simulation": { |
| "engine": "gazebo", |
| "plugins": ["gazebo_ros_pkgs"], |
| "record": true, |
| "visualize": true |
| } |
| } |