From c490bb1ff1b6886e6fd2c2d35037b3f058d13cc7 Mon Sep 17 00:00:00 2001 From: alislaiman496 Date: Fri, 22 May 2026 02:14:36 +0300 Subject: [PATCH 01/10] feat: create video_recorder.py in src/simulator and add .gitignore --- .gitignore | 51 ++++++++++++++++++++++++++++++++- src/simulator/video_recorder.py | 17 +++++++++++ 2 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 src/simulator/video_recorder.py diff --git a/.gitignore b/.gitignore index e99122e..336e462 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,51 @@ *__pycache__* -*.pyc \ No newline at end of file +*.pyc +# VS Code files +.vscode/ +*.code-workspace +.vscode-test/ + +# Python environment +venv/ +env/ +ENV/ +.venv/ +virtualenv/ +env.bak/ +venv.bak/ + +# Python virtual environment files +lib/ +include/ +bin/ +share/ +pyvenv.cfg +pip-log.txt +pip-delete-this-directory.txt + +# Log files +*.log +logs/ +*.log.* +log.txt +debug.log +error.log + +# OS generated files +.DS_Store +.DS_Store? +._* +.Spotlight-V100 +.Trashes +ehthumbs.db +Thumbs.db +*.swp +*.swo + +# Python cache +__pycache__/ +*.py[cod] +*$py.class +*.so +.Python + diff --git a/src/simulator/video_recorder.py b/src/simulator/video_recorder.py new file mode 100644 index 0000000..9c7be2d --- /dev/null +++ b/src/simulator/video_recorder.py @@ -0,0 +1,17 @@ +""" Video recording methods and function for simulater with OpenCV""" +import cv2 +import pathlib +import numpy as np +import Literal from typing +class VideoRecorder: + """Records simulation frames to video files using OpenCV. + Supports MP4 and AVI output formats. + """ + def __init__( + self, + output_path: str |pathlib.Path, + fps: float =30.0, + format: Literal["mp4", "avi"] = "mp4", + + )->None: + pass \ No newline at end of file From ddca0b3bda32f856e37b62b4169ab93ef093a5a5 Mon Sep 17 00:00:00 2001 From: alislaiman496 Date: Fri, 22 May 2026 12:19:41 +0300 Subject: [PATCH 02/10] feat(simulator): add VideoRecorder class with factory function - Add VideoRecorder class with start/add_frame/stop methods - Add create_recorder factory function for auto-format detection --- src/simulator/video_recorder.py | 123 +++++++++++++++++++++++++++++--- 1 file changed, 114 insertions(+), 9 deletions(-) diff --git a/src/simulator/video_recorder.py b/src/simulator/video_recorder.py index 9c7be2d..85e364a 100644 --- a/src/simulator/video_recorder.py +++ b/src/simulator/video_recorder.py @@ -2,16 +2,121 @@ import cv2 import pathlib import numpy as np -import Literal from typing +from typing import Literal + class VideoRecorder: - """Records simulation frames to video files using OpenCV. - Supports MP4 and AVI output formats. + """Records simulation frames to video files using OpenCV with supporting MP4 and AVI output formats """ - def __init__( + + def __init__( self, - output_path: str |pathlib.Path, - fps: float =30.0, + output_path: str | pathlib.Path, + fps: float = 30.0, format: Literal["mp4", "avi"] = "mp4", - - )->None: - pass \ No newline at end of file + ) -> None: + """Initialize the video recorder: + Args: + output_path: Path to save the output video file + fps: Frames per second for the output vide + format: Output format, either "mp4" or "avi" + """ + self.output_path = pathlib.Path(output_path) + self.fps = fps + self.format = format + self._writer: cv2.VideoWriter | None = None + self._frame_size: tuple[int, int] | None = None + + def start(self, frame_size: tuple[int, int]) -> None: + """Start recording - creates the output file writer + + Args: + frame_size: (width, height) of each frame + """ + if self._writer is not None: + msg = "Recorder already started" + raise RuntimeError(msg) + + self._frame_size = frame_size + + + + if self.format == "mp4": + fourcc = cv2.VideoWriter_fourcc(*"mp4v") + elif self.format == "avi": + fourcc = cv2.VideoWriter_fourcc(*"XVID") + else: + msg = f"Unsupported format: {self.format}" + raise ValueError(msg) + + self._writer = cv2.VideoWriter( + str(self.output_path), + fourcc, + self.fps, + frame_size, + ) + + if not self._writer.isOpened(): + msg = f"Failed to open video writer for {self.output_path}" + raise RuntimeError(msg) + def add_frame(self, frame: np.ndarray) -> None: + """Add a frame to the recording. + + Args: + frame: Image data as numpy array (RGB or BGR). + """ + if self._writer is None: + msg = "Recorder not started. Call start() first." + raise RuntimeError(msg) + + # OpenCV expects BGR format for VideoWriter + if len(frame.shape) == 3 and frame.shape[2] == 4: + # RGBA to BGR + frame = frame[:, :, :3] + + elif len(frame.shape) == 3 and frame.shape[2] == 3: + # RGB to BGR + pass + + self._writer.write(frame) + + def stop(self) -> None: + """Stop recording and close the output file.""" + if self._writer is None: + msg = "Recorder not started" + raise RuntimeError(msg) + + self._writer = None + + def is_recording(self) -> bool: + """Check if the recorder is currently active.""" + return self._writer is not None and self._writer.isOpened() + +def create_recorder( + output_path: str | pathlib.Path, + fps: float = 30.0, + format: Literal["mp4", "avi"] | None = None, +) -> VideoRecorder: + """Factory function to create a VideoRecorder. + + Automatically detects format from file extension if not specified. + + Args: + output_path: Path to save the output video file + fps: Frames per second for the output vide + format: Output format, either "mp4" or "avi"and Auto-detected if None + + Returns: + Configured VideoRecorder instance + """ + path = pathlib.Path(output_path) + if format is None: + ext = path.suffix.lower() + if ext in {".mp4", ".mov"}: + format = "mp4" + elif ext in {".avi", }: + format = "avi" + else: + format = "mp4" + path = path.with_suffix(".mp4") + + return VideoRecorder(output_path=path, fps=fps, format=format) \ No newline at end of file From 9ef086e20e9d32a234f920259e2a838d9ed76cfd Mon Sep 17 00:00:00 2001 From: alislaiman496 Date: Fri, 22 May 2026 14:46:39 +0300 Subject: [PATCH 03/10] feat: Add Coordinates physics and rendering for World class --- src/simulator/world.py | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/simulator/world.py b/src/simulator/world.py index 813c884..5a4f7c1 100644 --- a/src/simulator/world.py +++ b/src/simulator/world.py @@ -2,7 +2,27 @@ class World: - def __init__(self, physics, renderer): + """Simulation world managing physics and rendering. + + Coordinates the simulation loop, physics updates, and rendering. + """ + def __init__( + self, + physics, + renderer, + record_path: str | None = None, + record_fps: float = 30.0, + record_format: str | None = None, + ): + """Initialize the world. + + Args: + physics: Physics engine for dynamics simulation + renderer: Renderer for visualization + record_path: If set, enable recording to this file path + record_fps: Frame rate for video recording + record_format: Recording format ("mp4" or "avi") + """ self.physics = physics self.renderer = renderer self.objects = [] From e016194b51d802afaeff79ec9c010a0b5cb31ce6 Mon Sep 17 00:00:00 2001 From: alislaiman496 Date: Fri, 22 May 2026 15:49:24 +0300 Subject: [PATCH 04/10] feat: Integrate video recording into renderer --- src/simulator/renderer.py | 42 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/src/simulator/renderer.py b/src/simulator/renderer.py index e7c4820..ce3d328 100644 --- a/src/simulator/renderer.py +++ b/src/simulator/renderer.py @@ -4,9 +4,10 @@ from matplotlib.patches import Circle, Rectangle from matplotlib.collections import LineCollection +from .video_recorder import VideoRecorder, create_recorder class Renderer: - def __init__(self, x_limits=(-10.0, 10.0), y_limits=(-10.0, 10.0), max_colors=20) -> None: + def __init__(self, x_limits=(-10.0, 10.0), y_limits=(-10.0, 10.0), max_colors=20, record_path: str | None = None, record_fps: float = 30.0,record_format: str | None = None, ) -> None: self.fig = plt.figure() self.ax = self.fig.add_subplot(111, aspect="equal") self.ax.set_xlim(x_limits) @@ -34,7 +35,27 @@ def __init__(self, x_limits=(-10.0, 10.0), y_limits=(-10.0, 10.0), max_colors=20 self.colors = plt.cm.rainbow(np.linspace(0, 1, max_colors)) self.base_patch = None - + # Video recording setup (deferred until first frame size is known) + + self._recorder: VideoRecorder | None = None + self._record_enabled = record_path is not None + self._record_path = record_path + self._record_fps = record_fps + self._record_format = record_format + + def _start_recording_if_needed(self, frame_size: tuple[int, int]) -> None: + """Start recording if enabled and not already started. + + Args: + frame_size: (width, height) of the frame. + """ + if self._recorder is None and self._record_enabled: + self._recorder = create_recorder( + output_path=self._record_path, + fps=self._record_fps, + format=self._record_format, + ) + self._recorder.start(frame_size) def update(self, objects, dt=0.0001): if not objects: @@ -99,6 +120,23 @@ def draw_tree(obj, q): self.fig.canvas.draw_idle() self.fig.canvas.flush_events() + # Record frame if recording is enabled + if self._record_enabled: + frame = np.array(self.fig.canvas.buffer_rgba()) + height, width = frame.shape[:2] + frame_size = (width, height) + self._start_recording_if_needed(frame_size) + + if self._recorder is not None and self._recorder.is_recording(): + self._recorder.add_frame(frame) + def close(self): + """Close the renderer and finalize video recording.""" + if self._recorder is not None and self._recorder.is_recording(): + self._recorder.stop() plt.close(self.fig) + + def is_recording(self) -> bool: + """Check if video recording is active.""" + return self._recorder is not None and self._recorder.is_recording() From 906960328396e6807cda750593f58bed329d63f5 Mon Sep 17 00:00:00 2001 From: alislaiman496 Date: Fri, 22 May 2026 15:49:24 +0300 Subject: [PATCH 05/10] feat: Integrate video recording into renderer --- src/simulator/renderer.py | 42 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/src/simulator/renderer.py b/src/simulator/renderer.py index e7c4820..ce3d328 100644 --- a/src/simulator/renderer.py +++ b/src/simulator/renderer.py @@ -4,9 +4,10 @@ from matplotlib.patches import Circle, Rectangle from matplotlib.collections import LineCollection +from .video_recorder import VideoRecorder, create_recorder class Renderer: - def __init__(self, x_limits=(-10.0, 10.0), y_limits=(-10.0, 10.0), max_colors=20) -> None: + def __init__(self, x_limits=(-10.0, 10.0), y_limits=(-10.0, 10.0), max_colors=20, record_path: str | None = None, record_fps: float = 30.0,record_format: str | None = None, ) -> None: self.fig = plt.figure() self.ax = self.fig.add_subplot(111, aspect="equal") self.ax.set_xlim(x_limits) @@ -34,7 +35,27 @@ def __init__(self, x_limits=(-10.0, 10.0), y_limits=(-10.0, 10.0), max_colors=20 self.colors = plt.cm.rainbow(np.linspace(0, 1, max_colors)) self.base_patch = None - + # Video recording setup (deferred until first frame size is known) + + self._recorder: VideoRecorder | None = None + self._record_enabled = record_path is not None + self._record_path = record_path + self._record_fps = record_fps + self._record_format = record_format + + def _start_recording_if_needed(self, frame_size: tuple[int, int]) -> None: + """Start recording if enabled and not already started. + + Args: + frame_size: (width, height) of the frame. + """ + if self._recorder is None and self._record_enabled: + self._recorder = create_recorder( + output_path=self._record_path, + fps=self._record_fps, + format=self._record_format, + ) + self._recorder.start(frame_size) def update(self, objects, dt=0.0001): if not objects: @@ -99,6 +120,23 @@ def draw_tree(obj, q): self.fig.canvas.draw_idle() self.fig.canvas.flush_events() + # Record frame if recording is enabled + if self._record_enabled: + frame = np.array(self.fig.canvas.buffer_rgba()) + height, width = frame.shape[:2] + frame_size = (width, height) + self._start_recording_if_needed(frame_size) + + if self._recorder is not None and self._recorder.is_recording(): + self._recorder.add_frame(frame) + def close(self): + """Close the renderer and finalize video recording.""" + if self._recorder is not None and self._recorder.is_recording(): + self._recorder.stop() plt.close(self.fig) + + def is_recording(self) -> bool: + """Check if video recording is active.""" + return self._recorder is not None and self._recorder.is_recording() From afa166ecc2dae70b9b3332a803ec074111bc86c5 Mon Sep 17 00:00:00 2001 From: Ahmad Ahmad Date: Tue, 9 Jun 2026 11:03:33 +0300 Subject: [PATCH 06/10] fix: update simulator main entry point --- src/simulator/main.py | 182 ++++++++++++++++++++++++++++++++++++++---- 1 file changed, 165 insertions(+), 17 deletions(-) diff --git a/src/simulator/main.py b/src/simulator/main.py index bd19be6..88f4ef6 100644 --- a/src/simulator/main.py +++ b/src/simulator/main.py @@ -1,35 +1,183 @@ +"""Main entry point for the robot simulator.""" + +from __future__ import annotations + +import argparse +import pathlib import sys -import numpy as np -from physics import PhysicsEngine -from renderer import Renderer -from world import World +from simulator.dynamics.ab_algorithm import ABAlgorithm +from simulator.objects import CartPole, RobotTree, Tree7, TwoLink +from simulator.physics import PhysicsEngine +from simulator.renderer import Renderer +from simulator.world import World -from objects import RobotTree, TwoLink, Tree7, CartPole -from dynamics.ab_algorithm import ABAlgorithm +DEFAULT_RECORDING_FOLDER = "recording_simulation" -def main(): - fd_solver = ABAlgorithm() +def resolve_record_path(record_arg: str | None) -> str | None: + """Resolve video recording path. + + If only a filename is given, the file is saved inside + the default recording_simulation/ folder. + """ + if record_arg is None: + return None + + record_path = pathlib.Path(record_arg) + + if record_path.parent == pathlib.Path("."): + recording_folder = pathlib.Path(DEFAULT_RECORDING_FOLDER) + recording_folder.mkdir(parents=True, exist_ok=True) + record_path = recording_folder / record_path + else: + record_path.parent.mkdir(parents=True, exist_ok=True) + + return str(record_path) + + +def create_robot(robot_name: str): + """Create a robot object based on the command-line argument.""" + if robot_name == "two-link": + return TwoLink() + + if robot_name == "tree7": + return Tree7() + + if robot_name == "robot-tree": + robot = RobotTree() + robot.some_tree(8, 2) + return robot + + if robot_name == "cartpole": + return CartPole() + + raise ValueError(f"Unknown robot type: {robot_name}") + + +def parse_args() -> argparse.Namespace: + """Parse command-line arguments.""" + parser = argparse.ArgumentParser( + description="Robot simulator with dynamics, rendering, and video recording." + ) + + parser.add_argument( + "--robot", + type=str, + default="cartpole", + choices=["two-link", "tree7", "robot-tree", "cartpole"], + help="Robot type to simulate.", + ) + + parser.add_argument( + "--steps", + type=int, + default=1000, + help="Number of simulation steps.", + ) + parser.add_argument( + "--dt", + type=float, + default=0.02, + help="Simulation time step in seconds.", + ) + + parser.add_argument( + "--record", + type=str, + metavar="FILENAME", + help="Record simulation to a video file.", + ) + + parser.add_argument( + "--fps", + type=float, + default=30.0, + help="Frame rate for video recording.", + ) + + parser.add_argument( + "--format", + type=str, + choices=["mp4", "avi"], + help="Video format. Auto-detected from extension if not specified.", + ) + + parser.add_argument( + "--xlim", + type=float, + nargs=2, + default=(-10.0, 10.0), + metavar=("XMIN", "XMAX"), + help="Renderer x-axis limits.", + ) + + parser.add_argument( + "--ylim", + type=float, + nargs=2, + default=(-10.0, 10.0), + metavar=("YMIN", "YMAX"), + help="Renderer y-axis limits.", + ) + + return parser.parse_args() + + +def main() -> int: + """Run the robot simulator.""" + args = parse_args() + + if args.steps <= 0: + print("Error: --steps must be a positive integer.", file=sys.stderr) + return 1 + + if args.dt <= 0: + print("Error: --dt must be a positive number.", file=sys.stderr) + return 1 + + record_path = resolve_record_path(args.record) + + fd_solver = ABAlgorithm() physics = PhysicsEngine(fd_solver, gravity=[0.0, -9.81, 0.0]) - renderer = Renderer() + + renderer = Renderer( + x_limits=tuple(args.xlim), + y_limits=tuple(args.ylim), + record_path=record_path, + record_fps=args.fps, + record_format=args.format, + ) world = World(physics, renderer) + world.dt = args.dt + + robot = create_robot(args.robot) + world.add_object(robot) - # robot = TwoLink() - # robot = Tree7() + print(f"Starting simulation") + print(f"Robot: {args.robot}") + print(f"Steps: {args.steps}") + print(f"dt: {args.dt}") - # robot = RobotTree() - # robot.some_tree(8,2) + if record_path is not None: + print(f"Recording: {record_path}") - robot = CartPole() + try: + world.run(args.steps) + except KeyboardInterrupt: + print("\nSimulation interrupted by user.") + finally: + renderer.close() - world.add_object(robot) + if record_path is not None: + print(f"Recording saved: {record_path}") - world.run(1000) + print("Simulation finished.") + return 0 if __name__ == "__main__": - main() + raise SystemExit(main()) \ No newline at end of file From 2bfd1d5b89a99bb6cb2313a1f2b711e1dd9f3c5f Mon Sep 17 00:00:00 2001 From: Ahmad Ahmad Date: Tue, 9 Jun 2026 11:20:10 +0300 Subject: [PATCH 07/10] fix: correct simulator package imports and dynamics scalar output --- src/simulator/dynamics/ab_algorithm.py | 6 +++--- src/simulator/objects.py | 4 ++-- src/simulator/spatial/se.py | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/simulator/dynamics/ab_algorithm.py b/src/simulator/dynamics/ab_algorithm.py index 54f7736..f62f347 100644 --- a/src/simulator/dynamics/ab_algorithm.py +++ b/src/simulator/dynamics/ab_algorithm.py @@ -1,7 +1,7 @@ import numpy as np -from spatial.so import SO3, so3 -from spatial.se import SE3, se3, crm, crf +from simulator.spatial.so import SO3, so3 +from simulator.spatial.se import SE3, se3,crf,crm class ABAlgorithm: @@ -65,7 +65,7 @@ def forward_dynamics(self, obj, q, qd, tau, f_ext=None): a[i] = Xup[i] @ (-a_grav) + c[i] else: a[i] = Xup[i] @ a[parent] + c[i] - qdd[i] = (u[i] - U[i].T @ a[i]) / d[i] + qdd[i] = np.asarray((u[i] - U[i].T @ a[i]) / d[i]).item() a[i] = a[i] + S[i].dot(qdd[i]) return qdd diff --git a/src/simulator/objects.py b/src/simulator/objects.py index cf57388..c311540 100644 --- a/src/simulator/objects.py +++ b/src/simulator/objects.py @@ -1,7 +1,7 @@ import numpy as np import math -from spatial.se import SE3, se3, skew -from spatial.so import SO3, so3 +from simulator.spatial.se import SE3, se3, skew +from simulator.spatial.so import SO3, so3 def mcI(mass, com, Icm): diff --git a/src/simulator/spatial/se.py b/src/simulator/spatial/se.py index 49d9301..6fd0860 100644 --- a/src/simulator/spatial/se.py +++ b/src/simulator/spatial/se.py @@ -1,6 +1,6 @@ import numpy as np -from spatial.so import SO3, so3 - +#from spatial.so import SO3, so3 +from .so import SO3, so3 def skew(v): v = v.flatten() From 3298d1e006e1e1cec6b421d87db8cbf9f60a370e Mon Sep 17 00:00:00 2001 From: alislaiman496 Date: Fri, 12 Jun 2026 12:01:39 +0300 Subject: [PATCH 08/10] fix: Move rendering parameters to Renderer --- src/simulator/video_recorder.py | 47 ++++++++++++++++++++------------- 1 file changed, 29 insertions(+), 18 deletions(-) diff --git a/src/simulator/video_recorder.py b/src/simulator/video_recorder.py index 85e364a..ce8fd74 100644 --- a/src/simulator/video_recorder.py +++ b/src/simulator/video_recorder.py @@ -1,11 +1,18 @@ -""" Video recording methods and function for simulater with OpenCV""" -import cv2 +"""Video recording functionality for the simulator using OpenCV.""" + +from __future__ import annotations + import pathlib +from typing import Literal + +import cv2 import numpy as np -from typing import Literal + class VideoRecorder: - """Records simulation frames to video files using OpenCV with supporting MP4 and AVI output formats + """Records simulation frames to video files using OpenCV. + + Supports MP4 and AVI output formats. """ def __init__( @@ -14,11 +21,12 @@ def __init__( fps: float = 30.0, format: Literal["mp4", "avi"] = "mp4", ) -> None: - """Initialize the video recorder: + """Initialize the video recorder. + Args: - output_path: Path to save the output video file - fps: Frames per second for the output vide - format: Output format, either "mp4" or "avi" + output_path: Path to save the output video file. + fps: Frames per second for the output video. + format: Output format, either "mp4" or "avi". """ self.output_path = pathlib.Path(output_path) self.fps = fps @@ -27,10 +35,10 @@ def __init__( self._frame_size: tuple[int, int] | None = None def start(self, frame_size: tuple[int, int]) -> None: - """Start recording - creates the output file writer + """Start recording - creates the output file writer. Args: - frame_size: (width, height) of each frame + frame_size: (width, height) of each frame. """ if self._writer is not None: msg = "Recorder already started" @@ -38,7 +46,8 @@ def start(self, frame_size: tuple[int, int]) -> None: self._frame_size = frame_size - + # Ensure parent directory exists + self.output_path.parent.mkdir(parents=True, exist_ok=True) if self.format == "mp4": fourcc = cv2.VideoWriter_fourcc(*"mp4v") @@ -58,6 +67,7 @@ def start(self, frame_size: tuple[int, int]) -> None: if not self._writer.isOpened(): msg = f"Failed to open video writer for {self.output_path}" raise RuntimeError(msg) + def add_frame(self, frame: np.ndarray) -> None: """Add a frame to the recording. @@ -71,11 +81,10 @@ def add_frame(self, frame: np.ndarray) -> None: # OpenCV expects BGR format for VideoWriter if len(frame.shape) == 3 and frame.shape[2] == 4: # RGBA to BGR - frame = frame[:, :, :3] - + frame = cv2.cvtColor(frame, cv2.COLOR_RGBA2BGR) elif len(frame.shape) == 3 and frame.shape[2] == 3: # RGB to BGR - pass + frame = cv2.cvtColor(frame, cv2.COLOR_RGB2BGR) self._writer.write(frame) @@ -85,12 +94,14 @@ def stop(self) -> None: msg = "Recorder not started" raise RuntimeError(msg) + self._writer.release() self._writer = None def is_recording(self) -> bool: """Check if the recorder is currently active.""" return self._writer is not None and self._writer.isOpened() + def create_recorder( output_path: str | pathlib.Path, fps: float = 30.0, @@ -101,12 +112,12 @@ def create_recorder( Automatically detects format from file extension if not specified. Args: - output_path: Path to save the output video file - fps: Frames per second for the output vide - format: Output format, either "mp4" or "avi"and Auto-detected if None + output_path: Path to save the output video file. + fps: Frames per second for the output video. + format: Output format, either "mp4" or "avi". Auto-detected if None. Returns: - Configured VideoRecorder instance + Configured VideoRecorder instance. """ path = pathlib.Path(output_path) if format is None: From 211b08bed9d780fc67e605ef5a36d3a70d0c186c Mon Sep 17 00:00:00 2001 From: alislaiman496 Date: Fri, 12 Jun 2026 12:20:28 +0300 Subject: [PATCH 09/10] fix: Move rendering parameters to Renderer --- recording_simulation/output.mp4 | Bin 0 -> 444371 bytes src/simulator/dynamics/ab_algorithm.py | 10 +- src/simulator/main.py | 156 ++++++++----------------- 3 files changed, 54 insertions(+), 112 deletions(-) create mode 100644 recording_simulation/output.mp4 diff --git a/recording_simulation/output.mp4 b/recording_simulation/output.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..66891d1e2f562339276f8bbd89493880ddad0180 GIT binary patch literal 444371 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 QsG#wM3YtZR@5-6~10aZvZ2$lO literal 0 HcmV?d00001 diff --git a/src/simulator/dynamics/ab_algorithm.py b/src/simulator/dynamics/ab_algorithm.py index 85d8595..c107176 100644 --- a/src/simulator/dynamics/ab_algorithm.py +++ b/src/simulator/dynamics/ab_algorithm.py @@ -1,7 +1,7 @@ import numpy as np -from spatial.so import SO3, so3 -from spatial.se import SE3, se3,crf,crm +from ..spatial.so import SO3, so3 +from ..spatial.se import SE3, se3, crm, crf class ABAlgorithm: @@ -45,8 +45,8 @@ def forward_dynamics(self, obj, q, qd, tau, f_ext=None): for i in reversed(range(NB)): U[i] = IA[i] @ S[i] - d[i] = S[i].T @ U[i] - u[i] = tau[i] - S[i].T @ pA[i] + d[i] = (S[i].T @ U[i])[0, 0] # Extract scalar from 1x1 matrix + u[i] = tau[i] - (S[i].T @ pA[i])[0, 0] parent = model["parent"][i] if parent != -1: @@ -65,7 +65,7 @@ def forward_dynamics(self, obj, q, qd, tau, f_ext=None): a[i] = Xup[i] @ (-a_grav) + c[i] else: a[i] = Xup[i] @ a[parent] + c[i] - qdd[i] = np.asarray((u[i] - U[i].T @ a[i]) / d[i]).item() + qdd[i] = (u[i] - (U[i].T @ a[i])[0, 0]) / d[i] # Extract scalar from 1x1 matrix a[i] = a[i] + S[i].dot(qdd[i]) return qdd diff --git a/src/simulator/main.py b/src/simulator/main.py index 2438980..6bf1a9b 100644 --- a/src/simulator/main.py +++ b/src/simulator/main.py @@ -3,181 +3,123 @@ from __future__ import annotations import argparse +import os import pathlib import sys -from dynamics.ab_algorithm import ABAlgorithm -from objects import CartPole, RobotTree, Tree7, TwoLink -from physics import PhysicsEngine -from renderer import Renderer -from world import World +# Add parent directory to path so we can import simulator as a package +sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) +from simulator.dynamics.ab_algorithm import ABAlgorithm +from simulator.objects import CartPole, RobotTree, Tree7, TwoLink +from simulator.physics import PhysicsEngine +from simulator.renderer import Renderer +from simulator.world import World +# Default recording folder DEFAULT_RECORDING_FOLDER = "recording_simulation" def resolve_record_path(record_arg: str | None) -> str | None: - """Resolve video recording path. + """Resolve the recording path. - If only a filename is given, the file is saved inside - the default recording_simulation/ folder. + If record_arg is a filename (no directory separators), save to DEFAULT_RECORDING_FOLDER. + Otherwise use the provided path directly. + + Args: + record_arg: The --record argument value. + + Returns: + Resolved path for recording, or None if recording is disabled. """ if record_arg is None: return None record_path = pathlib.Path(record_arg) + # If it's just a filename (no directory), use the default recording folder if record_path.parent == pathlib.Path("."): recording_folder = pathlib.Path(DEFAULT_RECORDING_FOLDER) - recording_folder.mkdir(parents=True, exist_ok=True) + recording_folder.mkdir(exist_ok=True) record_path = recording_folder / record_path - else: - record_path.parent.mkdir(parents=True, exist_ok=True) return str(record_path) -def create_robot(robot_name: str): - """Create a robot object based on the command-line argument.""" - if robot_name == "two-link": - return TwoLink() - - if robot_name == "tree7": - return Tree7() - - if robot_name == "robot-tree": - robot = RobotTree() - robot.some_tree(8, 2) - return robot - - if robot_name == "cartpole": - return CartPole() - - raise ValueError(f"Unknown robot type: {robot_name}") - - -def parse_args() -> argparse.Namespace: - """Parse command-line arguments.""" +def main(): + """Run the robot simulator.""" parser = argparse.ArgumentParser( - description="Robot simulator with dynamics, rendering, and video recording." + description="Robot arm simulator with video recording support" ) - parser.add_argument( "--robot", type=str, default="cartpole", choices=["two-link", "tree7", "robot-tree", "cartpole"], - help="Robot type to simulate.", + help="Robot type to simulate (default: cartpole)", ) - parser.add_argument( "--steps", type=int, default=1000, - help="Number of simulation steps.", - ) - - parser.add_argument( - "--dt", - type=float, - default=0.02, - help="Simulation time step in seconds.", + help="Number of simulation steps (default: 1000)", ) - parser.add_argument( "--record", type=str, metavar="FILENAME", - help="Record simulation to a video file.", + help="Record simulation to video (saved to recording_simulation/ folder)", ) - parser.add_argument( "--fps", type=float, default=30.0, - help="Frame rate for video recording.", + help="Frame rate for video recording (default: 30.0)", ) - parser.add_argument( "--format", type=str, choices=["mp4", "avi"], - help="Video format. Auto-detected from extension if not specified.", + help="Video format (auto-detected from extension if not specified)", ) + args = parser.parse_args() - parser.add_argument( - "--xlim", - type=float, - nargs=2, - default=(-10.0, 10.0), - metavar=("XMIN", "XMAX"), - help="Renderer x-axis limits.", - ) - - parser.add_argument( - "--ylim", - type=float, - nargs=2, - default=(-10.0, 10.0), - metavar=("YMIN", "YMAX"), - help="Renderer y-axis limits.", - ) - - return parser.parse_args() - - -def main() -> int: - """Run the robot simulator.""" - args = parse_args() - - if args.steps <= 0: - print("Error: --steps must be a positive integer.", file=sys.stderr) - return 1 - - if args.dt <= 0: - print("Error: --dt must be a positive number.", file=sys.stderr) - return 1 - + # Resolve recording path record_path = resolve_record_path(args.record) fd_solver = ABAlgorithm() - physics = PhysicsEngine(fd_solver, gravity=[0.0, -9.81, 0.0]) + physics = PhysicsEngine(fd_solver, gravity=[0.0, -9.81, 0.0]) renderer = Renderer( - x_limits=tuple(args.xlim), - y_limits=tuple(args.ylim), record_path=record_path, record_fps=args.fps, record_format=args.format, ) world = World(physics, renderer) - world.dt = args.dt - robot = create_robot(args.robot) - world.add_object(robot) - - print(f"Starting simulation") - print(f"Robot: {args.robot}") - print(f"Steps: {args.steps}") - print(f"dt: {args.dt}") + # Select robot based on argument + if args.robot == "two-link": + robot = TwoLink() + elif args.robot == "tree7": + robot = Tree7() + elif args.robot == "robot-tree": + robot = RobotTree() + robot.some_tree(8, 2) + else: # cartpole (default) + robot = CartPole() - if record_path is not None: - print(f"Recording: {record_path}") + world.add_object(robot) - try: - world.run(args.steps) - except KeyboardInterrupt: - print("\nSimulation interrupted by user.") - finally: - renderer.close() + print(f"Starting simulation: {args.robot}") + if record_path: + print(f"Recording to: {record_path}") - if record_path is not None: - print(f"Recording saved: {record_path}") + world.run(args.steps) - print("Simulation finished.") - return 0 + if record_path: + print(f"Recording saved to: {record_path}") if __name__ == "__main__": - raise SystemExit(main()) \ No newline at end of file + main() From 4c2a9485d76d7ff2c1caec13ae7943b559e42acd Mon Sep 17 00:00:00 2001 From: alislaiman496 Date: Fri, 12 Jun 2026 14:27:12 +0300 Subject: [PATCH 10/10] feat: add REAFME.md file --- README.md | 149 ++++++++++++++++++++++++++++++++ recording_simulation/output.mp4 | Bin 444371 -> 539054 bytes 2 files changed, 149 insertions(+) diff --git a/README.md b/README.md index e69de29..ffbfc2a 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,149 @@ +# Robot Simulator + +A Python-based robot arm simulator with video recording capability. + + + +## Problem: How to Record Robot Simulations? + +### The Challenge + +We needed to add video recording capability to a matplotlib-based robot simulator. The requirement was to: +1. Capture each frame of the simulation +2. Save it as a video file (MP4/AVI) +3. Use OpenCV for future extensibility (robotics + AI projects) + +### Our Solution + +We used **OpenCV** (`cv2.VideoWriter`) to capture and encode video frames: + +1. **Frame Capture**: After matplotlib renders each frame, we capture it from the canvas buffer +2. **Color Conversion**: matplotlib gives RGBA format, OpenCV needs BGR - we convert using `cv2.cvtColor()` +3. **Video Encoding**: OpenCV's `VideoWriter` handles MP4/AVI encoding efficiently +4. **Auto Folder**: Recordings automatically save to `recording_simulation/` folder + +### Why OpenCV Instead of imageio? + +| Feature | OpenCV | imageio | +|---------|--------|---------| +| Computer Vision | ✅ Yes | ❌ No | +| Real-time camera support | ✅ Yes | ❌ No | +| ML/AI integration | ✅ Yes | ❌ No | +| Industry standard for robotics | ✅ Yes | ❌ No | + +OpenCV is the better choice for robotics + AI projects since you may later want to: +- Process video with ML models +- Add real camera feeds +- Do object detection (YOLO, etc.) + +## Files Added/Modified + +### New Files +- **`src/simulator/video_recorder.py`** - OpenCV-based video recording class +- **`src/simulator/spatial/__init__.py`** - Module initialization for relative imports + +### Modified Files +- **`src/simulator/renderer.py`** - Added frame capture and recording to `update()` method +- **`src/simulator/main.py`** - Added CLI arguments for recording control +- **`src/simulator/world.py`** - Simplified recording setup +- **`src/simulator/dynamics/ab_algorithm.py`** - Fixed scalar extraction bug +- **`pyproject.toml`** - Added `opencv-python` dependency + +## How to Run + +### Prerequisites + +Install dependencies: +```bash +pip install opencv-python matplotlib scipy numpy +``` + +### Basic Usage + +```bash +# Run from the simulator-master folder +cd simulator-master + +# Run simulation with default robot (CartPole) +python src/simulator/main.py --steps 300 + +# Record to video (saved in recording_simulation/ folder) +python src/simulator/main.py --record my_robot.mp4 --steps 200 --fps 15 +``` + +### Command Line Options + +| Option | Description | Default | +|--------|-------------|---------| +| `--robot` | Robot type: `cartpole`, `two-link`, `tree7`, `robot-tree` | `cartpole` | +| `--steps` | Number of simulation steps | `1000` | +| `--record` | Output filename for recording | (no recording) | +| `--fps` | Frames per second for video | `30.0` | +| `--format` | Video format: `mp4`, `avi` | (auto-detected) | + +### Examples + +```bash +# Record CartPole (default robot) +python src/simulator/main.py --record cartpole_demo.mp4 --steps 300 --fps 20 + +# Record Two-Link robot +python src/simulator/main.py --robot two-link --record two_link.mp4 --steps 200 + +# Record Tree7 robot with custom FPS +python src/simulator/main.py --robot tree7 --record tree7_sim.mp4 --fps 30 + +# Record with custom path +python src/simulator/main.py --record /path/to/my_video.mp4 --steps 150 +``` + +## Output Location + +Videos are saved in the `recording_simulation/` folder (automatically created): + +``` +TEAM-005/ +├── recording_simulation/ +│ ├── my_robot.mp4 +│ ├── cartpole_demo.mp4 +│ └── tree7_sim.mp4 +└── ... +``` + +## Robot Models Available + +1. **CartPole** - Simple pole on a cart (default) +2. **TwoLink** - Two-segment arm +3. **Tree7** - 7-DOF tree structure +4. **RobotTree** - Custom tree with configurable DOF + +## Technical Details + +### Dynamics Computation +- Uses **Articulated Body Algorithm (ABA)** from Featherstone's Rigid Body Dynamics +- Integrates equations of motion using `scipy.integrate.solve_ivp` +- Supports gravity, joint torques, and external forces + +### Rendering +- Matplotlib-based 2D visualization +- LineCollection for efficient link drawing +- Scattered points for joints +- World frame axes displayed (red=X, green=Y) + +### Recording Process +1. Each simulation step renders the robot +2. `renderer.update()` captures the canvas as RGBA numpy array +3. `VideoRecorder.add_frame()` converts RGBA→BGR and writes to file +4. On completion, `VideoRecorder.stop()` finalizes the video file + +## Future Extensions + +With OpenCV installed, you can now: +- Add real camera feeds to the simulation +- Implement ML-based controllers +- Use computer vision for feedback control +- Integrate object detection for target tracking +- Add image processing pipelines + + + diff --git a/recording_simulation/output.mp4 b/recording_simulation/output.mp4 index 66891d1e2f562339276f8bbd89493880ddad0180..d3134ac4a243a4738445df36864a28843fb3b2ac 100644 GIT binary patch delta 170696 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

;cgZmsiq*>x78UKq7jOVBhc-l!&C&Uon{TGbiK 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

0r$q@BscTCG0S5scH2Ug>=2}8rWhAc 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 delta 37863 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

J;g8QIR|C#dsAJ^B_qbz9R3qV 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 M+JIn