Skip to content

Fix/lidar on chassis - #26

Draft
amoghmpanhale wants to merge 37 commits into
mainfrom
fix/lidar-on-chassis
Draft

Fix/lidar on chassis#26
amoghmpanhale wants to merge 37 commits into
mainfrom
fix/lidar-on-chassis

Conversation

@amoghmpanhale

Copy link
Copy Markdown
Collaborator

No description provided.

amoghmpanhale and others added 30 commits June 3, 2026 18:40
Move the NeoRacer project from users/ into a clean root layout
(assets/, scripts/, validation/, docs/) and remove the old
spec_assets/, xml_assets/, and examples/ reference files.

Model fixes (assets/neoracer.xml):
- Fix visual mesh paths (../assets/ -> meshes/) so the model
  compiles from disk.
- Set mass="0" on the six vis_* mesh geoms. contype/conaffinity=0
  disables collision but not mass, so the STL meshes were adding
  ~15 kg of phantom mass (default 1000 kg/m^3 density). Total car
  mass corrected from 17.99 kg to 2.61 kg.

Validation suite (validation/):
- Physics + pure-logic pytest suite gating any car model on
  compile, mass, stability, control response, and RL-exploit
  guards. Globs assets/*.xml so new cars are tested automatically.

Consolidate to a single root README describing the layout, demo
scripts, and validation suite.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…loop

- README: use `-m examples.run`/`examples.manual_drive` and fix stale
  `scripts/` folder names left from the rename
- manual_drive.py: group tuning knobs into ThrottleParams/SteeringParams/
  CamParams frozen dataclasses
- run.py: sleep only the remainder of the timestep so the viewer tracks
  real time instead of running slow by the compute cost

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- sensor_logger.read() returns a frozen SensorReadings dataclass (one field
  per neoracer.xml sensor) instead of an untyped dict
- wheel_speed_ms/print_sensors and run.py _log use attribute access
- test_logic updated to the struct
- fix conftest sys.path: point at examples/ (was stale scripts/ after the
  folder rename, which broke sensor_logger import)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Added a pygame wrapped around mujoco to allow for videogame-style controlling of the car.
Added a mujoco  replica of the Monaco f1 track. Not perfect, still working on it.
Increased the width of the f1 track from 0.9m to 1.1m for easier driving of the car.
Recommended for wheeled vehicles by Mujoco. Helps the tires creep less sideways.
Wanted to add a means to test lidar functionality to the pygame demo.

The lidar inputs are now demonstrated as 8 dots denoting distance from walls with max distance being 1 meter.
amoghmpanhale and others added 7 commits July 8, 2026 13:19
Directions of the lidar sensors on the neoracer car were all in 1 direction. This is wrong.

Updated so that they're pointing in 8 directions using the zaxis.
Now the front ray matches with the top dot.
Take main's version on all conflicts; keeps pygame_drive demo, f1_track,
validation/, and users/ scratch. Demo deps (friction cone + plane size on
neoracer.xml) restored in the following commit.
main's neoracer.xml lacks two things the pygame_drive demo depends on:
elliptic friction cone (tuning was done against it) and a 10m ground
plane so f1_track scenery sits on grid. Re-add both.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- 02_press_and_hold.py: drop 'from pygame.locals import *' (F403/F405),
  reference pygame.QUIT / pygame.K_* explicitly
- robot_description_tf.launch.py: remove unused os / DeclareLaunchArgument
  / LaunchConfiguration imports (F401)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The LiDAR mount site, all 8 beam ray sites, and the cosmetic lidar mesh
sat at z=0.15 in the car body frame. The chassis collision box has a
half-height of 0.0806, so the whole sensor stack floated ~7 cm above the
top face of the car rather than sitting on it.

Move all of them to z=0.0806 (the chassis top face). Beam directions are
unchanged; the ring just scans from the correct height now.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants