Abstract
We study goal-directed navigation of a Unitree G1 humanoid in dense urban pedestrian environments. We construct a procedurally generated suite of New York City street scenarios (sidewalks, sidewalk sheds, crosswalks, construction zones, doorways and pedestrian plazas) at ten difficulty levels, populated by pedestrians that follow a social-force model in which some pedestrians react to the robot only at close range. Control is hierarchical: a locomotion policy trained with the actuator limits of the physical robot tracks velocity commands at 50 Hz, and a navigation policy issues these commands at 10 Hz through a tanh mapping and a low-pass filter. A navigation teacher with privileged state is trained with PPO under a success-based curriculum and distilled into student policies that observe only the robot's onboard sensors (Livox MID-360 lidar or Intel RealSense D435i depth camera) through height maps accumulated over 3 s. Over all 120 scenario tiles, the teacher reaches the goal in 63.8% of episodes, the lidar student in 64.2% and the camera student in 59.2%, with pedestrian contact in 8–16% and falls in at most 0.22% of episodes; touching a pedestrian or a structure with any part of the body, or entering the roadway outside a crosswalk, ends an episode as a failure. The locomotion policy is trained with randomized payload, motor strength, latency, friction and sensor biases and with a penalty on sustained drift; under a straight command at 0.9 m/s its lateral offset after 3 s is 0.20 m. Success is lowest on narrow walkways with two-way foot traffic (4–20% on hard sidewalk, sidewalk-shed and construction tiles). All policies are trained from scratch by the scripts in the repository, and all experiments are conducted in simulation (Isaac Lab 3.0, Isaac Sim 6.1).
Video
Method
The navigation policy outputs a velocity command (forward velocity, lateral velocity and yaw rate) at 10 Hz. The output is mapped into the command ranges by a tanh (forward −0.4 to 1.0 m/s, lateral ±0.15 m/s, yaw rate ±1.0 rad/s) and low-pass filtered: at each step the command moves halfway to the requested value. A frozen locomotion policy converts the command into joint position targets for the 37 joints of the G1 at 50 Hz, which are tracked by PD controllers; the simulator runs at 200 Hz. The teacher observes privileged simulator state. Student policies observe proprioception, the goal position and one onboard sensor, and are trained to reproduce the teacher's commands.

Training proceeds in three stages; each stage is frozen before the next is trained (Figure 4, Table 1). The locomotion policy is blind: it observes only what the robot measures (IMU angular velocity and gravity direction, joint positions and velocities), its previous action, the command and a gait clock, with sensor noise, sensor biases drawn per episode (IMU mounting, gyroscope, encoder offsets), 0–20 ms of latency and a history of 5 control steps; its critic also observes the base velocity and the terrain height. Leg and ankle joints are explicit PD controllers at the gains used on the robot (hip 100, knee 150, ankle 40 Nm/rad), with the motors' torque and speed limits and 0–20 ms of actuation latency. Friction (0.3–1.2), a torso payload (−1 to +5 kg), center of mass, link masses, PD gains, torque limits (80–100% of rated), joint friction and armature are randomized, and the robot is pushed every 4–8 s. It is trained on curbs and steps up to 20 cm, sills, potholes, broken pavement, cobblestones and ramps, with rewards for velocity tracking, gait timing and posture and penalties on mechanical power, foot impacts, stumbling against edges, changes of the joint targets and drift (lateral-velocity and yaw-rate errors low-pass filtered over 1 s). The ground has friction 0.1, combined by maximum: MuJoCo-Warp uses the larger friction coefficient of a contact (PhysX multiplies them), so the contact friction is the robot's randomized value in both simulators. It is trained from scratch in three phases: 10,000 iterations with narrower randomization (friction 0.6–1.2, no payload, rated torque limits, actuation latency up to 10 ms, no sensor biases); 8,000 iterations with the full randomization on ground of friction 1.0, so that the contact friction is at least 1.0; and 3,000 iterations on the low-friction ground. The teacher is trained from scratch with PPO for 10,000 iterations on the scenario suite under an adaptive curriculum, with the rewards of Table 2 and a discount factor of 0.995 (a 20 s horizon at 10 Hz). The students are distilled from the teacher for 1,500 iterations each. Every stage is produced by a script in scripts/reproduce/ with a fixed seed.
The curriculum keeps an exponential moving average of the success rate on each tile. A level is unlocked once the next-easier level of the same tile column reaches 35% success. When an episode ends, the robot's next tile is drawn with a uniformly random scenario type and a level drawn from the unlocked levels with probability proportional to s(1 − s) + 0.02, where s is the tile's success rate; this concentrates training on levels the policy solves about half of the time. A fifth of the draws are uniform over the unlocked levels and 15% uniform over all levels. During distillation the curriculum follows the student's success rate.

| Locomotion policy | Teacher | Students | |
|---|---|---|---|
| Algorithm | PPO | PPO | Distillation (MSE of tanh-mapped actions) |
| Simulator | Newton (MuJoCo-Warp) | Isaac Sim PhysX | Isaac Sim PhysX |
| Policy rate | 50 Hz | 10 Hz | 10 Hz |
| Parallel robots | 16,384 | 8,192 | 8,192 |
| Rollout length | 24 | 32 | 32 |
| Iterations | 10,000 + 8,000 + 3,000 | 10,000 | 1,500 per student |
| Entropy coefficient | 0.008 | 0.001 | – |
| Network | MLP 512-256-128 | MLP 512-256-128 | CNN 16-32-32 per image input, MLP 512-256-128 |
| Hardware, time | 4 GPUs, 1.9 h + 1.5 h + 0.7 h | 4 GPUs, 15.5 h | 4 GPUs, 2.8 h (lidar) + 2.5 h (camera) |
Environment
The terrain is a grid of 16 m × 10 m tiles. Columns correspond to the six scenario types and rows to ten difficulty levels; building fronts, solid in the simulation, bound every tile along its long edges. In each episode the robot is placed at one end of a route on its tile and must reach the other end within 40 s.
Pedestrian model
- Dynamics. Pedestrians are kinematic bodies that follow walking paths under a social-force model with repulsion from other pedestrians and from structures. Walking speeds are drawn from 0.7–1.3 m/s at level 1 and 0.8–1.6 m/s at level 10; 10% walk at 0.4–0.6 m/s.
- Encounters. 65% of walking pedestrians are timed to reach the robot's route when the robot does (assuming 0.8 m/s), so that pedestrians cross and block the route. The number of pedestrians increases with difficulty, up to 20 on plaza tiles.
- Awareness. A fraction of pedestrians (90% at level 1, 60% at level 10) perceive the robot: they keep a clearance of at least 0.1 m, slow down when the robot blocks their path and step around it. The resulting loss of pedestrian speed is penalized, which rewards yielding.
- Distracted pedestrians. The remaining pedestrians do not slow down and react only within 1 m with a lateral swerve.
- Entering and leaving. Each walking path leads from where people enter the scene, 45 m beyond the tile's ends, out of a shop door or up a subway stairwell, to 45 m beyond the tile's ends, so pedestrians do not appear or disappear in view. Walkers that have left re-enter on a new path. A walker is never pushed backwards along its path; it may slow down, stop or step sideways.
- Other behaviors. Stationary pedestrians at waiting spots (curbs, doorways, work zones) start walking after 5–25 s. No pedestrian is spawned within 1.5 m of the robot.
- Feasibility. A unit test verifies that every route admits a path of width 0.6 m on every tile type at difficulties 0, 0.5, 0.8 and 1.
| Term | Definition | Weight |
|---|---|---|
| Progress | Reduction of distance to the goal per second, clipped to ±1.0 m/s | 2.0 |
| Goal reached | Within 0.5 m of the goal (terminates) | 100 |
| Pedestrian contact | Robot footprint (radius 0.25 m) or an arm or hand link (radius 0.04 m) intersects a pedestrian (radius 0.25 m) (terminates) | −200 |
| Obstacle contact | Robot footprint, or an arm or hand link within the structure's height range, intersects a structure (terminates) | −150 |
| Fall | Torso contact with the ground (terminates) | −200 |
| Roadway | Robot enters the roadway outside a crosswalk (terminates) | −150 |
| Social speed | Planar speed above 0.3 m/s within 0.3 m of a pedestrian, rising linearly to 1.0 m/s at 1.5 m (m/s) | −6 |
| Personal space | Penetration of a 0.8 m clearance to the nearest pedestrian (m) | −6 |
| Collision risk | Predicted close passes within 2 s under constant relative velocity: (1 − d/0.8 m)(1 − t/2 s) per pedestrian, with t and d the time and center distance of closest approach | −4 |
| Obstacle margin | Penetration of a 0.3 m margin to the nearest structure (m) | −10 |
| Obstacle speed | Planar speed above 0.4 m/s within 0.1 m of a structure, rising linearly to 1.0 m/s at 0.4 m (m/s) | −2 |
| Pedestrian delay | Total speed lost by pedestrians slowing for the robot (m/s) | −1 |
| Curb margin | Penetration of a 0.3 m margin to the roadway (m) | −10 |
| Command rate | Squared change of the velocity command between control steps | −2.0 |
| Lateral command | Squared lateral velocity command | −1.5 |
| Backward command | Squared negative part of the forward velocity command | −2.0 |
| Yaw-rate command | Squared yaw-rate command | −0.15 |
| Policy output | Squared norm of the policy output before the tanh | −0.01 |
Sensing
The student policies use only the sensors installed on the G1, at the poses given in the robot's URDF. The MID-360 is mounted inverted in the head, about 1.1 m above the ground, with a vertical field of view of −52° to +7°; it is simulated with 32 channels at 1° horizontal resolution and a 10 m range. The D435i is pitched 47.6° downward.
Each student receives a height map built from its sensor's returns (Figure 9). Returns are binned into a world-aligned grid that moves with the robot; the robot's motion between scans is taken from the simulator with a random-walk error (5 mm and 0.002 rad per control step), in place of lidar-inertial or visual-inertial odometry. A cell holds the highest return of its latest observation and is cleared 3 s after it was last observed. The policy receives this accumulated map together with the current and the previous scan, resampled into the robot's heading frame; the camera student additionally receives the last three depth images.
(a) Lidar: accumulated map
(b) Lidar: current scan
(c) Camera: depth image, 64 × 38
(d) Camera: accumulated map
Results
All navigation policies are evaluated with the curriculum disabled and robots distributed uniformly over all 120 tiles (2,400 robots, 60 s of simulated time, PhysX, sensor noise on); random pushes are disabled. An episode ends at the goal, at the first contact with a pedestrian or a structure, when the robot enters the roadway outside a crosswalk, on a fall, or after 40 s.
Show values as a table
| Outcome | Teacher | Lidar student | Camera student |
|---|---|---|---|
| Goal reached | 63.8% | 64.2% | 59.2% |
| Pedestrian contact | 8.1% | 13.1% | 16.2% |
| Obstacle contact | 18.7% | 15.3% | 17.3% |
| Roadway (left the sidewalk or crosswalk) | 3.1% | 1.1% | 0.4% |
| Fall | 0.22% | 0.10% | 0.04% |
| Time-out (40 s) | 6.0% | 6.1% | 6.8% |
| Mean time to goal (successful episodes) | 18.6 s | 18.4 s | 18.5 s |
| Time within 0.5 m of a pedestrian | 3.9% | 6.6% | 8.4% |
| Completed episodes | 6,768 | 6,760 | 6,903 |
The lidar student matches the teacher's success rate (64.2% against 63.8%); the camera student reaches 59.2%. Both students leave the roadway less often than the teacher (1.1% and 0.4% against 3.1%) but touch pedestrians more often (13.1% and 16.2% against 8.1%). Success is 77–97% on easy tiles of every type and 4–20% on hard sidewalk, sidewalk-shed and construction tiles, where walkways of about 1.0–1.8 m carry two-way foot traffic: on hard sidewalk-shed tiles 46–64% of the episodes end at a structure, and on hard construction tiles 55–75% time out while the robot waits for a gap.
Failure analysis. The robot's state was recorded at every episode end of the teacher (2,410 episodes). Of the 1,173 structure contacts, 44% are on sidewalk-shed tiles, against the scaffold posts, the facade or stacked lumber; structure contacts happen at a median speed of 0.69 m/s and with a pedestrian within 0.3 m in 5% of them. Pedestrian contacts happen at lower speed (median 0.42 m/s), 41% of them on crosswalks. On crosswalk tiles of level 7, 101 of the 126 structure contacts happen within 2 s of the episode start, against a bollard between the start of the route and the curb.
| Quantity | Teacher | Lidar student | Camera student |
|---|---|---|---|
| Forward command (m/s) | 0.54 | 0.55 | 0.52 |
| |Lateral command| (m/s) | 0.08 | 0.05 | 0.04 |
| |Yaw-rate command| (rad/s) | 0.26 | 0.19 | 0.17 |
| Time with |yaw-rate command| > 0.8 rad/s | 5.1% | 0.8% | 0.2% |
| Requested command at a range limit | 23.0% | 3.5% | 1.2% |
| Backward command | 14.2% | 7.3% | 6.0% |
| Yaw-rate command change (rad/s²) | 1.01 | 0.42 | 0.38 |
| Planar speed (m/s) | 0.58 | 0.55 | 0.52 |
| Torso tilt | 2.6° | 2.5° | 2.5° |
| Knee flexion | 35.4° | 35.0° | 34.8° |
The lateral command stays small (0.04–0.08 m/s on average). The teacher requests a range limit 23% of the time and changes its yaw-rate command more than twice as fast as the students (1.01 against 0.38–0.42 rad/s²); all policies command backward motion (a forward command below −0.05 m/s) part of the time (6–14%).
Mean curriculum level
Success rate at the current curriculum level
| Metric | Walker, Newton | Walker, navigation commands | Walker, PhysX |
|---|---|---|---|
| Forward velocity error (m/s) | 0.076 | 0.074 | 0.080 |
| Lateral velocity error (m/s) | 0.075 | 0.069 | 0.081 |
| Yaw-rate error (rad/s) | 0.118 | 0.117 | 0.138 |
| Torso tilt | 2.6° | 2.4° | 2.6° |
| Knee flexion | 34.4° | 33.2° | 34.8° |
| Pelvis height (m) | 0.719 | 0.719 | 0.719 |
| Leg mechanical power (W) | 77 | 65 | 88 |
| Change of joint targets per step (rad) | 0.044 | 0.041 | 0.045 |
| Torso roll and pitch rate (rad/s) | 0.27 | 0.24 | 0.28 |
| Falls in 341 robot-minutes | 10 | 3 | 15 |
| Straight command | Walker | No drift penalty | Ground friction 1.0 |
|---|---|---|---|
| 0.3 m/s, lateral drift (m/s) | 0.034 | 0.042 | 0.043 |
| 0.3 m/s, lateral offset after 3 s (m) | 0.10 | 0.12 | 0.12 |
| 0.3 m/s, heading change after 3 s (rad) | 0.10 | 0.10 | 0.10 |
| 0.6 m/s, lateral drift (m/s) | 0.043 | 0.046 | 0.042 |
| 0.6 m/s, lateral offset after 3 s (m) | 0.16 | 0.17 | 0.15 |
| 0.6 m/s, heading change after 3 s (rad) | 0.10 | 0.11 | 0.11 |
| 0.9 m/s, lateral drift (m/s) | 0.048 | 0.051 | 0.042 |
| 0.9 m/s, lateral offset after 3 s (m) | 0.20 | 0.23 | 0.17 |
| 0.9 m/s, heading change after 3 s (rad) | 0.10 | 0.11 | 0.11 |
| Condition (every robot) | Walker, Newton | Walker, PhysX | No drift penalty, Newton | No drift penalty, PhysX | Ground friction 1.0, Newton | Ground friction 1.0, PhysX |
|---|---|---|---|---|---|---|
| Training randomization | 8 | 15 | 4 | 9 | 11 | 6 |
| Torso payload +5 kg | 15 | 17 | – | – | – | – |
| Torque limits 80% of rated | 9 | 16 | – | – | – | – |
| Actuation latency 15–25 ms | 8 | 19 | – | – | – | – |
| Friction 0.3 (static) / 0.25 (dynamic) | 53 | 52 | 60 | 58 | 281 | 309 |
| Twice the sensor noise and biases | 16 | 18 | – | – | – | – |
| All of the above | 199 | 184 | 220 | 215 | 540 | 631 |
| Condition | Teacher | Lidar student | Camera student |
|---|---|---|---|
| Nominal (Table 3) | 63.8 / 8.1 / 18.7 / 0.2 | 64.2 / 13.1 / 15.3 / 0.1 | 59.2 / 16.2 / 17.3 / 0.0 |
| Sensors: twice the noise and odometry drift, 0–200 ms height-map latency | – | 62.7 / 13.5 / 16.4 / 0.1 | 56.0 / 17.0 / 17.0 / 0.0 |
| Pedestrians: 20% faster, 30% fewer notice the robot | 56.2 / 18.9 / 17.8 / 0.1 | 54.0 / 27.1 / 13.4 / 0.0 | 47.2 / 33.0 / 13.8 / 0.0 |
| Robot: +5 kg, torque 80%, 15–25 ms actuation latency, friction 0.3 | 58.7 / 8.3 / 21.3 / 1.7 | 60.8 / 13.8 / 16.8 / 1.3 | 56.5 / 17.2 / 17.9 / 0.9 |
Civic tasks
The civic task extends the street task with what a robot on patrol meets besides the crowd and with work along the way. The same scenario tiles gain litter baskets, curbside piles of trash bags, lines of people and, at crosswalks, pedestrian signals; each 60 s episode places litter (0–3 pieces near the route), trash bags, people who need room (wheelchair users, people with strollers or white canes), dogs on leashes, groups, sidewalk cyclists and at most one incident: someone blocking the way, someone attacking the robot with shoves and kicks, or someone who has fallen, next to whom the robot's goal is to call for help.
The navigation policy commands a reaching walker with a velocity and a posture (pelvis height and forward lean); the walker is trained like the street walker with posture commands, random upper-body motion, loads of up to 3 kg in one hand, shoves and kicks, and slow walking and turning on the spot. Two further outputs, a trigger and a brace, drive a scripted hands controller: triggered with an item up to 1 m in front of the robot, it walks the robot up to the item, squats and grasps it by inverse kinematics of the waist and arm; near a litter basket it lifts the litter over the rim and lets go; a bag is set down beside a bag pile. Litter and bags are dynamic rigid bodies (sixteen kinds of litter, 5–200 g, and six trash bags, 1.0–2.4 kg; nineteen of them CC-BY 4.0 and CC0 models). A privileged teacher is trained with PPO on 16,384 robots in two steps (2,500 iterations without litter and bags, then 3,000 with them) and distilled into a lidar student and a camera student that observe people through a tracker, litter detected in the color image, baskets and bag piles from a city map and, at 70% of the crossings, the signal phase.
The civic task is harder than the street task: the teacher reaches the goal in 38.1% of the episodes (street task 63.8%), the students in 41.7% and 40.3%, with pedestrian contacts in 21–25% and obstacle contacts in 24–28% (Table 9). The policies call for help next to a fallen person in 58–64% of the episodes in which there is one, but rarely use the hands: the teacher picks up 9.3% of the litter and puts 1.3% into a basket. The hands controller itself, triggered once per item with nobody around, picks up 67.4% of the litter and 91.1% of the bags and puts 87.5% and 98.9% of them where they belong (Table 12): the policy rarely triggers it when an item is within reach, which suggests sequencing the litter work at the task level rather than learning it end to end. With an attack in every episode at full strength, goals fall to 13–19% and obstacle contacts rise to 38–52% (Table 11).
| Outcome | Teacher | Lidar student | Camera student |
|---|---|---|---|
| Goal reached | 38.1% | 41.7% | 40.3% |
| Pedestrian contact (including passing between a dog and its owner) | 20.6% | 21.6% | 25.1% |
| Obstacle contact | 27.9% | 25.7% | 23.6% |
| Roadway (left the sidewalk, or crossed against the signal) | 4.8% | 3.2% | 2.0% |
| Fall | 0.88% | 0.67% | 0.66% |
| Time-out (60 s) | 7.7% | 7.1% | 8.4% |
| Litter picked up, per item | 9.3% | 5.3% | 4.8% |
| Litter put in a basket, per item | 1.3% | 0.8% | 0.6% |
| Bags set down at a curbside pile, per bag | 2.6% | 1.2% | 0.8% |
| Fallen person: help called | 57.7% | 61.7% | 64.3% |
| Attack: fall | 2.9% | 4.3% | 3.9% |
| Attack: contact with a bystander | 12.2% | 22.7% | 29.1% |
| Attack: mean distance to the attacker (m) | 3.74 | 3.00 | 2.88 |
| Attack: braced while the attacker is within 1 m | 36.1% | 32.6% | 13.6% |
| Shoves and kicks received per episode | 0.03 | 0.10 | 0.12 |
| Braced without a threat (time) | 1.6% | 0.8% | 4.4% |
| Time within 1.2 m of a person who needs room | 8.9% | 10.5% | 12.5% |
| Groups or lines split, per 100 episodes | 0.2 | 0.3 | 0.2 |
| Signal violations, per 100 episodes | 0.1 | 0.0 | 0.0 |
| Completed episodes | 12,121 | 12,668 | 12,487 |
| Condition (every robot) | Reaching walker, Newton | Reaching walker, PhysX |
|---|---|---|
| Training randomization | 14 | 13 |
| Shoves and kicks half of the time | 19 | 130 |
| Braced, walking at 0.8–1.3 m/s and turning while attacked | 40 | 305 |
| Deep squats only | 0 | 8 |
| 3 kg in one hand all the time | 13 | 49 |
| Payload, weak motors, latency, friction 0.3 and sensor noise | 301 | 454 |
| Condition | Teacher | Lidar student | Camera student |
|---|---|---|---|
| Nominal | 38.1 / 20.6 / 27.9 / 0.9 | 41.7 / 21.6 / 25.7 / 0.7 | 40.3 / 25.1 / 23.6 / 0.7 |
| An attack in every episode, at full strength | 12.9 / 18.0 / 52.4 / 2.5 | 18.5 / 27.3 / 41.3 / 3.1 | 19.0 / 33.2 / 37.5 / 2.6 |
| Attacks, people blocking the way and fallen people at twice the training rates | 34.8 / 20.1 / 31.3 / 1.2 | – | – |
| Sensors: twice the noise and odometry drift, 0–200 ms latency | – | 41.0 / 21.8 / 26.0 / 0.7 | 36.9 / 24.8 / 24.6 / 0.7 |
| Robot: +5 kg, torque 80%, 15–25 ms actuation latency, friction 0.3 | 34.2 / 20.7 / 28.7 / 3.1 | 38.7 / 21.4 / 25.8 / 2.5 | 38.0 / 25.6 / 23.3 / 2.5 |
| Hands controller | Litter | Trash bags |
|---|---|---|
| Picked up (item 0.3–1.0 m ahead, up to 0.45 m to the side) | 67.4% | 91.1% |
| Reached (walked up to it, squatting) | 83.6% | 95.8% |
| Grasped, once reached | 80.7% | 95.1% |
| Median time to hold it | 5.8 s | 5.1 s |
| Put where it belongs (basket; bag pile) | 87.5% | 98.9% |
| Let go elsewhere | 6.2% | 0.0% |
| Median time to put it down | 4.1 s | 3.7 s |
| Falls | 0 | 0 |
| Items (robots putting down) | 390 (176) | 236 (179) |
Unitree B2-W
The tiles, pedestrians and training pipeline also train navigation for Unitree's B2-W wheeled quadruped in an indoor lab: a route-following policy that drives through the robot's built-in controller and observes a height map from an RS-Helios-5515 lidar and two D435i depth cameras, a safety shield that is independent of the policy, and the software that runs them on the robot with SLAM and a route planner. Details, videos and results are on the B2-W page.

Limitations
- All results are in simulation; the policies have not been deployed on hardware.
- In the civic task the policies rarely trigger the hands controller when an item is within reach (9.3% of the litter picked up by the teacher), although the controller picks up 67.4% of the litter when triggered; the reaching walker falls about once every 2.6 robot-minutes under shoves and kicks on PhysX, on which it was not trained (Table 10).
- Odometry is modeled as the simulated robot motion with a random-walk error, and the students' velocity estimate as the true velocity with noise and a bias per episode; no state estimator is simulated.
- The walker is blind and steps onto curbs without perceiving them; curbs higher than 20 cm are outside its training range.
- On low-friction ground (0.3, e.g. wet paint or steel plates) the walker falls about once every 6.5 robot-minutes under random commands (Table 7).
- Pedestrians are kinematic and scripted; contact ends the episode, and physical interaction between robot and pedestrians is not modeled.
- Success on narrow walkways with two-way foot traffic remains low: 16–20% on hard sidewalk tiles, 10–14% on hard sidewalk-shed tiles and 4–12% on hard construction tiles. Pedestrians stop for the robot but do not back out of a one-person passage.
- On crosswalk tiles, bollards can stand between the start of a route and the curb, less than a meter ahead of the robot; most structure contacts on crosswalk tiles of level 7 happen there within 2 s of the start.
- With the default mounting, the D435i observes the ground only up to about 3.4 m ahead, which limits anticipation for a camera-only policy.
Context
This project is part of work toward a civic robot system for the applications of the Center for Smart Streetscapes (CS3), an NSF Engineering Research Center led by Columbia University. It follows earlier work on street-scene perception: SyntheticStreetScenes, a dataset of approximately 5,200 generated street-scene videos with prompts and attributes, and StreetPrompt, a street-camera video classifier with classes specified as text.
BibTeX
@misc{turkcan2026g1patrol,
title = {G1 Patrol: Humanoid Navigation in Dense Urban Pedestrian Environments},
author = {Turkcan, Mehmet Kerem},
year = {2026},
howpublished = {\url{https://github.com/mkturkcan/g1_patrol}}
}