Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
92 commits
Select commit Hold shift + click to select a range
50ea95a
sim2: Go2Sim walks the Go2 policy through world_state and joint-comma…
jeff-hykin Oct 31, 2026
bd58f69
Merge jeff/feat/sim2_imu into jeff/feat/sim2_go2_l1: the Go2's URDF i…
jeff-hykin Nov 2, 2026
4e3ec26
sim2 Go2: GO2_SIM_MODEL is made at import, as a plain path: blueprint…
jeff-hykin Nov 2, 2026
dc58ae4
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 2, 2026
b584d81
unitree-go2-sim2-l1: the L1 frame's rpy is a 3-tuple
jeff-hykin Nov 2, 2026
72cb6e0
all_blueprints: no go2-urdf-root (the sim Go2's URDF is rooted at bas…
jeff-hykin Nov 2, 2026
bee81de
Merge jeff/feat/sim2_imu into jeff/feat/sim2_go2_l1: Go2Sim.mjcf is g…
jeff-hykin Nov 2, 2026
6454964
Merge jeff/feat/sim2_imu: world_msgs Change/WorldChange are now Obser…
jeff-hykin Nov 2, 2026
d5b1143
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 3, 2026
7beb416
UrdfManager takes its model from model= or the one module that sends …
jeff-hykin Nov 3, 2026
e69a731
test_sim_time: a run waits (up to a minute more) until every sensor h…
jeff-hykin Nov 3, 2026
7247460
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 4, 2026
af47fc4
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 4, 2026
babb5be
sim2_go2_l1: Raycaster from main's shared lidar module
jeff-hykin Nov 4, 2026
20a842e
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 8, 2026
214e85f
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 8, 2026
e54f4b1
sim2: the manager is UsdManager now
jeff-hykin Nov 8, 2026
fb4948d
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 8, 2026
db8dda4
usd_manager: keep importing Module, which pydantic still resolves aga…
jeff-hykin Nov 8, 2026
239cddc
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 8, 2026
230c672
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 8, 2026
4a1b82c
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 8, 2026
03ced18
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 8, 2026
c869ad8
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 8, 2026
133b066
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 8, 2026
cac9362
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 8, 2026
f7746ee
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 8, 2026
b106555
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 8, 2026
44ac855
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 8, 2026
111fa44
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 8, 2026
a0968dc
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 8, 2026
616e9b3
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 8, 2026
6a002d5
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 8, 2026
d34e3e4
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 8, 2026
5e1fd24
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 8, 2026
942d218
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 8, 2026
9221822
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 8, 2026
f18e59f
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 8, 2026
4c70fa2
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 8, 2026
0062aa0
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 8, 2026
865148c
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 8, 2026
52e25e4
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 8, 2026
0ec8fa6
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 8, 2026
4de2784
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 8, 2026
5b65a5e
Merge remote-tracking branch 'origin/main' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 9, 2026
730c6d1
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 9, 2026
ca3c304
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 9, 2026
56ca255
sim2 l1: describe itself in USD, and vendor the Go2 as USD
jeff-hykin Nov 9, 2026
916b92f
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 9, 2026
e08e518
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 9, 2026
a7449be
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 9, 2026
d0221bc
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 9, 2026
90d7761
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 9, 2026
31077d2
the Go2 stands in a room, and its layer says what holds it up
jeff-hykin Nov 9, 2026
5d2c282
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 9, 2026
ce9054b
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 9, 2026
2323d59
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 9, 2026
8b1892f
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 9, 2026
b304b2b
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 9, 2026
b67cd14
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 9, 2026
0c6a63c
the Go2's config stops carrying an xyz nothing reads
jeff-hykin Nov 9, 2026
b9ed502
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 9, 2026
22a1947
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 9, 2026
a4cf8d9
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 9, 2026
4889030
sim2_go2_l1: trim comment fluff
jeff-hykin Nov 9, 2026
7a2899d
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 9, 2026
4d8f8aa
sim2_go2_l1: merge up, delete comments and docstrings
jeff-hykin Nov 9, 2026
2149933
sim2_go2_l1: the L1 can see the room, and cmd_vel expires on the worl…
jeff-hykin Nov 9, 2026
d208670
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 9, 2026
b268f30
sim2_go2_l1: merge up, delete comments and docstrings
jeff-hykin Nov 9, 2026
a4187d6
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 9, 2026
6550c23
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 10, 2026
d57eaa9
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 10, 2026
f431870
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 10, 2026
abed68d
gateway: annotate the sim2 Go2 with its L1
jeff-hykin Nov 10, 2026
b04f567
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 10, 2026
0688ed9
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 10, 2026
4b529ca
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 10, 2026
b77eb17
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 10, 2026
ef1a6bd
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 10, 2026
727bb32
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 10, 2026
a59d28b
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 10, 2026
8ddd4fa
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 10, 2026
82834f5
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 10, 2026
b7f02f2
Merge a4254d193eac31b4643566e181f6fc77038b037d into sim2_go2_l1
jeff-hykin Nov 10, 2026
edce3eb
Merge 851ded28c36f1f3c31df99b3329a67571d37c22e into sim2_go2_l1
jeff-hykin Nov 10, 2026
cf2893f
Merge 56fe9b8063fa4f0d997f5c1a189e9810ad291ee9 into sim2_go2_l1
jeff-hykin Nov 10, 2026
fab1a62
Merge sim2_imu into sim2_go2_l1
jeff-hykin Nov 10, 2026
cb12755
sim2 timing tests: skip where there is no usd-core
jeff-hykin Nov 10, 2026
4b4b239
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 11, 2026
8fefaeb
a test world and a real one must not answer to the same names
jeff-hykin Nov 11, 2026
b05daaf
Merge branch 'jeff/feat/sim2_imu' into jeff/feat/sim2_go2_l1
jeff-hykin Nov 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,11 @@ docs/assets/favicon.png -filter -diff -merge
misc/DimSim/public/sims/*.json filter=lfs diff=lfs merge=lfs -text
misc/DimSim/public/embodiment/*.glb filter=lfs diff=lfs merge=lfs -text
misc/DimSim/scenes/**/*.glb filter=lfs diff=lfs merge=lfs -text
# A vendored robot's meshes. They were committed as pointer text with no filter on the path, so
# a clone got the pointers and nothing turned them back into meshes -- the sim then refused the
# robot's first body with "at least 4 vertices required". The layer beside them stays text and
# out of LFS on purpose (see pyproject): a scene travels as a string, so it has to be readable.
dimos/robot/*/*/assets/meshes/** filter=lfs diff=lfs merge=lfs -text binary
misc/DimSim/scenes/**/*.gltf filter=lfs diff=lfs merge=lfs -text
# Machine-generated, and reviewed as artifacts rather than as source: a lock file
# is cargo's output, and motion's planner crate is what an autoresearch lab
Expand Down
23 changes: 23 additions & 0 deletions dimos/memory2/db_tf.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Copyright 2026 Dimensional Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.


from __future__ import annotations

from typing import Any


class TfGraph:
def __init__(self, *_args: Any, **_kwargs: Any) -> None:
pass
2 changes: 2 additions & 0 deletions dimos/robot/all_blueprints.py
Original file line number Diff line number Diff line change
Expand Up @@ -194,6 +194,7 @@
"unitree-go2-rpp-benchmark": "dimos.robot.unitree.go2.blueprints.basic.unitree_go2_rpp_benchmark:unitree_go2_rpp_benchmark",
"unitree-go2-rpp-controller": "dimos.robot.unitree.go2.blueprints.basic.unitree_go2_rpp_controller:unitree_go2_rpp_controller",
"unitree-go2-security": "dimos.robot.unitree.go2.blueprints.agentic.unitree_go2_security:unitree_go2_security",
"unitree-go2-sim2-l1": "dimos.robot.unitree.go2.blueprints.basic.unitree_go2_sim2_l1:unitree_go2_sim2_l1",
"unitree-go2-spatial": "dimos.robot.unitree.go2.blueprints.smart.unitree_go2_spatial:unitree_go2_spatial",
"unitree-go2-temporal-memory": "dimos.robot.unitree.go2.blueprints.agentic.unitree_go2_temporal_memory:unitree_go2_temporal_memory",
"unitree-go2-typesafe": "dimos.robot.unitree.go2.blueprints.agentic.unitree_go2_typesafe:unitree_go2_typesafe",
Expand Down Expand Up @@ -376,6 +377,7 @@
"sim-camera": "dimos.sim2.camera.SimCamera",
"sim-go2-world": "dimos.simulation.go2_sim.world.SimGo2World",
"sim-imu": "dimos.sim2.imu.SimImu",
"sim-l1": "dimos.sim2.l1.SimL1",
"sim-m20-world": "dimos.simulation.m20_sim.world.SimM20World",
"simple-phone-teleop": "dimos.teleop.phone.phone_extensions.SimplePhoneTeleop",
"spatial-memory": "dimos.perception.experimental.spatial_perception.SpatialMemory",
Expand Down
2,540 changes: 2,540 additions & 0 deletions dimos/robot/unitree/go2/assets/go2.usda

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions dimos/robot/unitree/go2/assets/meshes/base_0.obj
Git LFS file not shown
3 changes: 3 additions & 0 deletions dimos/robot/unitree/go2/assets/meshes/base_0.usdc
Git LFS file not shown
3 changes: 3 additions & 0 deletions dimos/robot/unitree/go2/assets/meshes/base_1.obj
Git LFS file not shown
3 changes: 3 additions & 0 deletions dimos/robot/unitree/go2/assets/meshes/base_1.usdc
Git LFS file not shown
3 changes: 3 additions & 0 deletions dimos/robot/unitree/go2/assets/meshes/base_2.obj
Git LFS file not shown
3 changes: 3 additions & 0 deletions dimos/robot/unitree/go2/assets/meshes/base_2.usdc
Git LFS file not shown
3 changes: 3 additions & 0 deletions dimos/robot/unitree/go2/assets/meshes/base_3.obj
Git LFS file not shown
3 changes: 3 additions & 0 deletions dimos/robot/unitree/go2/assets/meshes/base_3.usdc
Git LFS file not shown
3 changes: 3 additions & 0 deletions dimos/robot/unitree/go2/assets/meshes/base_4.obj
Git LFS file not shown
3 changes: 3 additions & 0 deletions dimos/robot/unitree/go2/assets/meshes/base_4.usdc
Git LFS file not shown
3 changes: 3 additions & 0 deletions dimos/robot/unitree/go2/assets/meshes/calf_0.obj
Git LFS file not shown
3 changes: 3 additions & 0 deletions dimos/robot/unitree/go2/assets/meshes/calf_0.usdc
Git LFS file not shown
3 changes: 3 additions & 0 deletions dimos/robot/unitree/go2/assets/meshes/calf_1.obj
Git LFS file not shown
3 changes: 3 additions & 0 deletions dimos/robot/unitree/go2/assets/meshes/calf_1.usdc
Git LFS file not shown
3 changes: 3 additions & 0 deletions dimos/robot/unitree/go2/assets/meshes/calf_mirror_0.obj
Git LFS file not shown
3 changes: 3 additions & 0 deletions dimos/robot/unitree/go2/assets/meshes/calf_mirror_0.usdc
Git LFS file not shown
3 changes: 3 additions & 0 deletions dimos/robot/unitree/go2/assets/meshes/calf_mirror_1.obj
Git LFS file not shown
3 changes: 3 additions & 0 deletions dimos/robot/unitree/go2/assets/meshes/calf_mirror_1.usdc
Git LFS file not shown
3 changes: 3 additions & 0 deletions dimos/robot/unitree/go2/assets/meshes/foot.obj
Git LFS file not shown
3 changes: 3 additions & 0 deletions dimos/robot/unitree/go2/assets/meshes/foot.usdc
Git LFS file not shown
3 changes: 3 additions & 0 deletions dimos/robot/unitree/go2/assets/meshes/hip_0.obj
Git LFS file not shown
3 changes: 3 additions & 0 deletions dimos/robot/unitree/go2/assets/meshes/hip_0.usdc
Git LFS file not shown
3 changes: 3 additions & 0 deletions dimos/robot/unitree/go2/assets/meshes/hip_1.obj
Git LFS file not shown
3 changes: 3 additions & 0 deletions dimos/robot/unitree/go2/assets/meshes/hip_1.usdc
Git LFS file not shown
3 changes: 3 additions & 0 deletions dimos/robot/unitree/go2/assets/meshes/thigh_0.obj
Git LFS file not shown
3 changes: 3 additions & 0 deletions dimos/robot/unitree/go2/assets/meshes/thigh_0.usdc
Git LFS file not shown
3 changes: 3 additions & 0 deletions dimos/robot/unitree/go2/assets/meshes/thigh_1.obj
Git LFS file not shown
3 changes: 3 additions & 0 deletions dimos/robot/unitree/go2/assets/meshes/thigh_1.usdc
Git LFS file not shown
3 changes: 3 additions & 0 deletions dimos/robot/unitree/go2/assets/meshes/thigh_mirror_0.obj
Git LFS file not shown
3 changes: 3 additions & 0 deletions dimos/robot/unitree/go2/assets/meshes/thigh_mirror_0.usdc
Git LFS file not shown
3 changes: 3 additions & 0 deletions dimos/robot/unitree/go2/assets/meshes/thigh_mirror_1.obj
Git LFS file not shown
3 changes: 3 additions & 0 deletions dimos/robot/unitree/go2/assets/meshes/thigh_mirror_1.usdc
Git LFS file not shown
62 changes: 62 additions & 0 deletions dimos/robot/unitree/go2/blueprints/basic/unitree_go2_sim2_l1.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# Copyright 2026 Dimensional Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.


from dimos.core.coordination.blueprints import autoconnect
from dimos.core.global_config import global_config
from dimos.robot.assets.model import UsdModel
from dimos.robot.unitree.go2.blueprints.basic.unitree_go2_basic import rerun_config
from dimos.robot.unitree.go2.sim2 import Go2Sim
from dimos.robot.usd_manager import UsdManager
from dimos.sim2.assets.logistics import LOGISTICS
from dimos.sim2.camera import SimCamera
from dimos.sim2.l1 import SimL1
from dimos.sim2.sim import sim_module
from dimos.sim2.spec import SimulatedRobot
from dimos.simulation.go2_legged.robot import CONTROL_DT
from dimos.visualization.vis_module import vis_module

ROBOT = "go2"
SPOT = (0.0, 0.0, 0.35)
SCENE = "scene"
SCENE_MANAGER = f"{SCENE}/{UsdManager.name}"

_room = UsdModel.from_file(LOGISTICS).with_frames({ROBOT: ("logistics", SPOT, (0.0, 0.0, 0.0))})

_lidar = SimL1.blueprint(frame_id=Go2Sim.l1_mount_frame, scene_manager=SCENE_MANAGER)
_camera = SimCamera.blueprint(frame_id=Go2Sim.camera_mount_frame, scene_manager=SCENE_MANAGER)

_robot = UsdManager.blueprint(
model=Go2Sim.usd, mounts={Go2Sim.l1_mount_frame: _lidar, Go2Sim.camera_mount_frame: _camera}
).remappings([(UsdManager, "coordinator_joint_state", "joint_state")])

_scene = UsdManager.blueprint(
model=_room,
mounts={ROBOT: _robot},
frame_id_prefix="",
tf_renames={"logistics": "world"},
).namespace(SCENE, expose={"render_file_request", "file_info", "tf"})

unitree_go2_sim2_l1 = autoconnect(
sim_module(
scene_manager=SCENE_MANAGER,
robots=[SimulatedRobot(ROBOT, Go2Sim.usd, control_period=CONTROL_DT)],
),
vis_module(viewer_backend=global_config.viewer, rerun_config=rerun_config),
Go2Sim.blueprint(robot_id=ROBOT),
_scene,
_robot,
_lidar,
_camera,
).global_config(n_workers=8, robot_model="unitree_go2")
Loading
Loading