G1 Patrol

G1 Patrol: Humanoid Navigation in Dense Urban Pedestrian Environments

Mehmet Kerem Turkcan

Figure 1. Rollouts of the privileged navigation policy on sidewalk, plaza, sidewalk-shed, crosswalk, construction-zone and doorway tiles, taken from successful episodes. Pedestrians are rendered with animated character models; pedestrian motion and policy inputs are those of the simulation.

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

Figure 2. Overview: scenario types, rollouts of the teacher policy, onboard sensing, architecture, training workflow and evaluation results (75 s).

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.

Architecture: simulation, privileged and onboard observations, teacher and student navigation policies, frozen locomotion policy and the robot
Figure 3. Policy architecture. Numbers after the observation terms are input dimensions. The student is trained by distillation (mean squared error between student and teacher commands); at deployment only the student path is used.

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.

Workflow: scenario generation, locomotion training, teacher training, student distillation and evaluation
Figure 4. Training workflow. The curriculum draws each robot's next tile according to the success rates of the tiles. The frozen locomotion policy executes the commands of all navigation policies.
Table 1. Training setup. Rollout length is the number of policy steps per robot and iteration.
Locomotion policyTeacherStudents
AlgorithmPPOPPODistillation (MSE of tanh-mapped actions)
SimulatorNewton (MuJoCo-Warp)Isaac Sim PhysXIsaac Sim PhysX
Policy rate50 Hz10 Hz10 Hz
Parallel robots16,3848,1928,192
Rollout length243232
Iterations10,000 + 8,000 + 3,00010,0001,500 per student
Entropy coefficient0.0080.001–
NetworkMLP 512-256-128MLP 512-256-128CNN 16-32-32 per image input, MLP 512-256-128
Hardware, time4 GPUs, 1.9 h + 1.5 h + 0.7 h4 GPUs, 15.5 h4 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.

Figure 5. Scenario types. Each clip is a complete successful episode of the teacher policy in real time; the camera can be switched and the clip enlarged. Values are success rates on easy (levels 1–4), medium (5–7) and hard (8–10) tiles.
Figure 6. Rendered views of the environment (select to enlarge). Materials, building facades, trees and the stairs of subway entrances are added for rendering only, and copies of the tile continue the street beyond its ends; collision and sensor geometry are those of the training environment.

Pedestrian model

Figure 7. Plaza at level 10 (top) and crosswalk at level 8 (bottom).
  • 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.
Table 2. Reward terms of the navigation policy. Rewards are multiplied by the control period (0.1 s). The robot model has no collision geometry on its arms, and its hands swing beyond the 0.25 m footprint; contacts of the arm and hand links are therefore checked separately.
TermDefinitionWeight
ProgressReduction of distance to the goal per second, clipped to ±1.0 m/s2.0
Goal reachedWithin 0.5 m of the goal (terminates)100
Pedestrian contactRobot 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 contactRobot footprint, or an arm or hand link within the structure's height range, intersects a structure (terminates)−150
FallTorso contact with the ground (terminates)−200
RoadwayRobot enters the roadway outside a crosswalk (terminates)−150
Social speedPlanar 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 spacePenetration of a 0.8 m clearance to the nearest pedestrian (m)−6
Collision riskPredicted 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 marginPenetration of a 0.3 m margin to the nearest structure (m)−10
Obstacle speedPlanar 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 delayTotal speed lost by pedestrians slowing for the robot (m/s)−1
Curb marginPenetration of a 0.3 m margin to the roadway (m)−10
Command rateSquared change of the velocity command between control steps−2.0
Lateral commandSquared lateral velocity command−1.5
Backward commandSquared negative part of the forward velocity command−2.0
Yaw-rate commandSquared yaw-rate command−0.15
Policy outputSquared 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.

Figure 8. Simulated MID-360 returns at level 8 (interactive). Points on pedestrians are highlighted. For visibility the scan is rendered with 96 channels at 0.5° resolution; the policy input uses 32 channels at 1°. The ring marks a 1 m radius around the robot.
Lidar height map accumulated over 3 s with a wall, a curb and pedestrians

(a) Lidar: accumulated map

Lidar height map from the current scan only, with scan rings and an unobserved area around the robot

(b) Lidar: current scan

Depth image with ground, a nearby pedestrian and missing pixels

(c) Camera: depth image, 64 × 38

Height map accumulated from depth images, covering the area in front of the robot

(d) Camera: accumulated map

Figure 9. Student observations. Height maps cover 8 m × 8 m around the robot at 0.2 m resolution, aligned with its heading (forward is up; the triangle marks the robot); each cell holds the highest return relative to the ground, and unobserved cells are black. The accumulated map keeps a cell for 3 s after it was last observed, using the robot's odometry, and fills the gaps between scan lines and the blind zone below the sensor; the policy also receives the current and the previous scan. Depth images include distance-dependent noise, 5% missing pixels and random rectangular occlusions. With the default camera pitch the ground is visible between approximately 0.3 m and 3.4 m ahead of the robot.

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.

easy (levels 1–4)medium (5–7)hard (8–10)
Show values as a table
Figure 10. Success rate (episodes reaching the goal) of the selected policy by scenario type and difficulty. Hover a bar for contact and fall rates and episode counts.
Table 3. Episode outcomes over all tiles (2,400 robots, 60 s, curriculum disabled).
OutcomeTeacherLidar studentCamera student
Goal reached63.8%64.2%59.2%
Pedestrian contact8.1%13.1%16.2%
Obstacle contact18.7%15.3%17.3%
Roadway (left the sidewalk or crosswalk)3.1%1.1%0.4%
Fall0.22%0.10%0.04%
Time-out (40 s)6.0%6.1%6.8%
Mean time to goal (successful episodes)18.6 s18.4 s18.5 s
Time within 0.5 m of a pedestrian3.9%6.6%8.4%
Completed episodes6,7686,7606,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.

Table 4. Velocity commands and posture during the evaluation (time averages). A requested command is at a range limit when it lies within 5% of the range of a command component (average over the three components).
QuantityTeacherLidar studentCamera student
Forward command (m/s)0.540.550.52
|Lateral command| (m/s)0.080.050.04
|Yaw-rate command| (rad/s)0.260.190.17
Time with |yaw-rate command| > 0.8 rad/s5.1%0.8%0.2%
Requested command at a range limit23.0%3.5%1.2%
Backward command14.2%7.3%6.0%
Yaw-rate command change (rad/s²)1.010.420.38
Planar speed (m/s)0.580.550.52
Torso tilt2.6°2.5°2.5°
Knee flexion35.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

Figure 11. Training curves of the teacher (averages over 25 iterations and 8,192 robots). The success rate is measured at the robots' current curriculum levels, which the curriculum keeps near the levels that the policy solves about half of the time.
Table 5. Locomotion policy on city terrain with the training randomization (payload, torque limits, latencies, friction, sensor noise and biases): 1,024 robots for 20 s each on 200 random terrain tiles, random velocity commands from the training ranges or, in the second column, from the navigation policy's ranges. Tracking errors are mean absolute errors; the other quantities are time averages. The walker is trained on Newton; PhysX is a second simulator it was not trained on.
MetricWalker, NewtonWalker, navigation commandsWalker, PhysX
Forward velocity error (m/s)0.0760.0740.080
Lateral velocity error (m/s)0.0750.0690.081
Yaw-rate error (rad/s)0.1180.1170.138
Torso tilt2.6°2.4°2.6°
Knee flexion34.4°33.2°34.8°
Pelvis height (m)0.7190.7190.719
Leg mechanical power (W)776588
Change of joint targets per step (rad)0.0440.0410.045
Torso roll and pitch rate (rad/s)0.270.240.28
Falls in 341 robot-minutes10315
Table 6. Drift under a constant straight command (PhysX, 256 robots per speed, after 1 s of settling). Lateral drift is the mean absolute 1 s average of the heading-frame lateral velocity; the offset is measured from the line the robot started on. The ablations are trained with the same recipe and one change each (scripts/reproduce/5_ablations.sh).
Straight commandWalkerNo drift penaltyGround friction 1.0
0.3 m/s, lateral drift (m/s)0.0340.0420.043
0.3 m/s, lateral offset after 3 s (m)0.100.120.12
0.3 m/s, heading change after 3 s (rad)0.100.100.10
0.6 m/s, lateral drift (m/s)0.0430.0460.042
0.6 m/s, lateral offset after 3 s (m)0.160.170.15
0.6 m/s, heading change after 3 s (rad)0.100.110.11
0.9 m/s, lateral drift (m/s)0.0480.0510.042
0.9 m/s, lateral offset after 3 s (m)0.200.230.17
0.9 m/s, heading change after 3 s (rad)0.100.110.11
Table 7. Falls in 341 robot-minutes (setup of Table 5) with every robot at, or beyond, the edge of the training randomization. Counts from separate runs of the same condition differ by about their square root (Table 5 and the first row here are separate runs).
Condition (every robot)Walker, NewtonWalker, PhysXNo drift penalty, NewtonNo drift penalty, PhysXGround friction 1.0, NewtonGround friction 1.0, PhysX
Training randomization81549116
Torso payload +5 kg1517––––
Torque limits 80% of rated916––––
Actuation latency 15–25 ms819––––
Friction 0.3 (static) / 0.25 (dynamic)53526058281309
Twice the sensor noise and biases1618––––
All of the above199184220215540631

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).

Table 9. Civic task: episode outcomes and civic metrics over all tiles (2,400 robots, 120 s, curriculum disabled). Attack rows are over the episodes in which an attack took place.
OutcomeTeacherLidar studentCamera student
Goal reached38.1%41.7%40.3%
Pedestrian contact (including passing between a dog and its owner)20.6%21.6%25.1%
Obstacle contact27.9%25.7%23.6%
Roadway (left the sidewalk, or crossed against the signal)4.8%3.2%2.0%
Fall0.88%0.67%0.66%
Time-out (60 s)7.7%7.1%8.4%
Litter picked up, per item9.3%5.3%4.8%
Litter put in a basket, per item1.3%0.8%0.6%
Bags set down at a curbside pile, per bag2.6%1.2%0.8%
Fallen person: help called57.7%61.7%64.3%
Attack: fall2.9%4.3%3.9%
Attack: contact with a bystander12.2%22.7%29.1%
Attack: mean distance to the attacker (m)3.743.002.88
Attack: braced while the attacker is within 1 m36.1%32.6%13.6%
Shoves and kicks received per episode0.030.100.12
Braced without a threat (time)1.6%0.8%4.4%
Time within 1.2 m of a person who needs room8.9%10.5%12.5%
Groups or lines split, per 100 episodes0.20.30.2
Signal violations, per 100 episodes0.10.00.0
Completed episodes12,12112,66812,487
Table 10. Falls of the reaching walker in 341 robot-minutes (setup of Table 5) under its training randomization and with every robot at the edge of one of its tasks.
Condition (every robot)Reaching walker, NewtonReaching walker, PhysX
Training randomization1413
Shoves and kicks half of the time19130
Braced, walking at 0.8–1.3 m/s and turning while attacked40305
Deep squats only08
3 kg in one hand all the time1349
Payload, weak motors, latency, friction 0.3 and sensor noise301454
Table 11. Civic task under degraded conditions applied to every robot: goal reached / pedestrian contact / obstacle contact / fall (%).
ConditionTeacherLidar studentCamera student
Nominal38.1 / 20.6 / 27.9 / 0.941.7 / 21.6 / 25.7 / 0.740.3 / 25.1 / 23.6 / 0.7
An attack in every episode, at full strength12.9 / 18.0 / 52.4 / 2.518.5 / 27.3 / 41.3 / 3.119.0 / 33.2 / 37.5 / 2.6
Attacks, people blocking the way and fallen people at twice the training rates34.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.736.9 / 24.8 / 24.6 / 0.7
Robot: +5 kg, torque 80%, 15–25 ms actuation latency, friction 0.334.2 / 20.7 / 28.7 / 3.138.7 / 21.4 / 25.8 / 2.538.0 / 25.6 / 23.3 / 2.5
Table 12. The hands controller with scripted triggers (scripts/evaluate_hands.py; nobody around, one trigger per item and one per put-down).
Hands controllerLitterTrash 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 reached80.7%95.1%
Median time to hold it5.8 s5.1 s
Put where it belongs (basket; bag pile)87.5%98.9%
Let go elsewhere6.2%0.0%
Median time to put it down4.1 s3.7 s
Falls00
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.

The B2-W in the digital twin of its deployment lab
Figure 12. The B2-W policy with its safety shield in the digital twin of the lab it is deployed in (simulation).

Limitations

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}}
}