Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
37caef4
Elaborated on car design in mujoco and added analysis of the neoracer…
amoghmpanhale Jun 4, 2026
f9fd581
Elaborated on car design in mujoco and added analysis of the neoracer…
amoghmpanhale Jun 4, 2026
62b14b8
Merge branch 'WIP/amoghmpanhale/Steering-experiments' of https://gith…
amoghmpanhale Jun 4, 2026
499a426
Added a general form for the project structure
amoghmpanhale Jun 4, 2026
ec858e1
Added some boilerplate functions
amoghmpanhale Jun 4, 2026
77e5ca7
Added the assets folder in
amoghmpanhale Jun 4, 2026
d358669
Add reusable track assets and checkpoint framework
Abdallahelhamawi Jun 6, 2026
8982ac2
Add reusable track assets and checkpoint framework
Abdallahelhamawi Jun 6, 2026
cfd4165
Move track assets into shared assets folder
Abdallahelhamawi Jun 6, 2026
47d5bb1
Move track demos into shared assets examples folder
Abdallahelhamawi Jun 6, 2026
ad35280
Added car model and requirements.txt
amoghmpanhale Jun 7, 2026
9596c05
Updated the arrow keys driving controller
amoghmpanhale Jun 8, 2026
815dadf
Restructure to root layout; fix model bugs; add validation suite
amoghmpanhale Jun 18, 2026
ddead23
Updated setup and added instructions for it in readme
amoghmpanhale Jun 18, 2026
3530562
Updated comments for car xml
amoghmpanhale Jun 18, 2026
5f0ea06
Updated masses using URDF data
amoghmpanhale Jun 18, 2026
53d3a95
Updated README
amoghmpanhale Jun 18, 2026
d962ff1
added a manual driving demo
amoghmpanhale Jun 18, 2026
1582492
Changed the name of the scripts folder
amoghmpanhale Jun 26, 2026
0898452
fix: removed include neoracer from ramp course
amoghmpanhale Jun 26, 2026
74797e9
chore: deleted gitkeep from assets folder
amoghmpanhale Jun 26, 2026
15d068b
Address PR review: examples invocation, param dataclasses, real-time …
amoghmpanhale Jul 5, 2026
f4642ea
Address PR review: typed SensorReadings struct for sensor_logger
amoghmpanhale Jul 5, 2026
842e7fa
chore: track mesh STLs with Git LFS
amoghmpanhale Jul 8, 2026
74c773f
docs: note Git LFS setup for cloning meshes
amoghmpanhale Jul 8, 2026
e4d4761
feat: added pygame demo with keyboard and controller controls
amoghmpanhale Jul 8, 2026
2433e20
feat: added monaco f1 track
amoghmpanhale Jul 8, 2026
9bee5eb
fix: increased the width of the f1 track
amoghmpanhale Jul 8, 2026
5e36d78
fix: added an elliptic friction cone with high impratio to the neoracer
amoghmpanhale Jul 8, 2026
978be0c
feat: added a lidar map overlay in the pygame demo
amoghmpanhale Jul 8, 2026
052b434
fix: lidar directions on neoracer car
amoghmpanhale Jul 8, 2026
b5d306c
fix: rotated lidar map by 90 degrees
amoghmpanhale Jul 8, 2026
2f7ad6b
feat: added wasd tracker and timer and reverse lidar dots mapping
amoghmpanhale Jul 8, 2026
55741ba
chore: merge branch 'main' into amoghmpanhale/Driving-demo
amoghmpanhale Jul 16, 2026
d2059bd
fix: restore pygame demo deps on neoracer.xml after main merge
amoghmpanhale Jul 16, 2026
cd30c58
chore: satisfy ruff in users/amoghmpanhale scratch
amoghmpanhale Jul 16, 2026
781190e
fix: mount LiDAR on the chassis instead of floating above it
amoghmpanhale Aug 9, 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
33 changes: 21 additions & 12 deletions assets/neoracer.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,11 @@

<compiler angle="radian" autolimits="true"/>

<!-- Elliptic friction cone + high impratio: MuJoCo's recommended setting for
wheeled vehicles — stiffens tangential contact so the tires creep less
sideways (measured: full-lock radius 0.77 m → 0.74 m vs 0.68 m ideal). -->
<option cone="elliptic" impratio="10"/>

<asset>
<texture name="grid" type="2d" builtin="checker" width="512" height="512"
rgb1=".1 .2 .3" rgb2=".2 .3 .4"/>
Expand Down Expand Up @@ -77,7 +82,10 @@

<worldbody>
<!-- Ground plane; friction matches the wheels. -->
<geom type="plane" size="5 5 .01" material="grid" friction="1.5 0.1 0.1"/>
<!-- Ground plane; friction matches the wheels. size is render extent only
(collision plane is infinite) — 10 m half-extent so scenery like the
f1_track (reaches x~8, y~7) sits on grid with margin, not black void. -->
<geom type="plane" size="10 10 .01" material="grid" friction="1.5 0.1 0.1"/>

<!--
Car body. Spawn height = chassis half-height + wheel radius = 0.0806 + 0.050
Expand Down Expand Up @@ -117,10 +125,11 @@
<site name="imu" pos="0 0 0" size=".01" rgba="1 1 0 1"/>

<!--
LiDAR mount site, 0.15 m above the chassis centre (top of the stack).
LiDAR mount site, sitting on the top face of the chassis box
(half-height .0806) instead of floating 7 cm above it.
Adjust the height to match CAD when available.
-->
<site name="lidar_mount" pos="0 0 .15" size=".02" rgba="1 0 0 .5"/>
<site name="lidar_mount" pos="0 0 .0806" size=".02" rgba="1 0 0 .5"/>

<!--
LiDAR ray sites: 8 beams at 45° intervals in the horizontal plane.
Expand All @@ -137,17 +146,17 @@
(single-wall placement test) to produce a correctly directional ring.
Add more beams here (and matching rangefinders below) for richer RL obs.
-->
<site name="lidar_000" pos="0 0 .15" zaxis="1.000000 0.000000 0" size=".005"/>
<site name="lidar_045" pos="0 0 .15" zaxis="0.707107 0.707107 0" size=".005"/>
<site name="lidar_090" pos="0 0 .15" zaxis="0.000000 1.000000 0" size=".005"/>
<site name="lidar_135" pos="0 0 .15" zaxis="-0.707107 0.707107 0" size=".005"/>
<site name="lidar_180" pos="0 0 .15" zaxis="-1.000000 0.000000 0" size=".005"/>
<site name="lidar_225" pos="0 0 .15" zaxis="-0.707107 -0.707107 0" size=".005"/>
<site name="lidar_270" pos="0 0 .15" zaxis="0.000000 -1.000000 0" size=".005"/>
<site name="lidar_315" pos="0 0 .15" zaxis="0.707107 -0.707107 0" size=".005"/>
<site name="lidar_000" pos="0 0 .0806" zaxis="1.000000 0.000000 0" size=".005"/>
<site name="lidar_045" pos="0 0 .0806" zaxis="0.707107 0.707107 0" size=".005"/>
<site name="lidar_090" pos="0 0 .0806" zaxis="0.000000 1.000000 0" size=".005"/>
<site name="lidar_135" pos="0 0 .0806" zaxis="-0.707107 0.707107 0" size=".005"/>
<site name="lidar_180" pos="0 0 .0806" zaxis="-1.000000 0.000000 0" size=".005"/>
<site name="lidar_225" pos="0 0 .0806" zaxis="-0.707107 -0.707107 0" size=".005"/>
<site name="lidar_270" pos="0 0 .0806" zaxis="0.000000 -1.000000 0" size=".005"/>
<site name="lidar_315" pos="0 0 .0806" zaxis="0.707107 -0.707107 0" size=".005"/>
<!-- Cosmetic lidar mesh at the mount site. -->
<geom name="vis_lidar" type="mesh" mass="0" mesh="vis_lidar"
pos="0 0 0.15"
pos="0 0 0.0806"
contype="0" conaffinity="0" rgba=".2 .2 .2 1"/>

<!--
Expand Down
Loading
Loading