larvaworld.lib.model.modules.locomotor ====================================== .. py:module:: larvaworld.lib.model.modules.locomotor Classes ------- .. autoapisummary:: larvaworld.lib.model.modules.locomotor.Locomotor Module Contents --------------- .. py:class:: Locomotor(conf: Any, dt: float = 0.1, **kwargs: Any) Bases: :py:obj:`larvaworld.lib.param.NestedConf` Locomotor module orchestrating agent movement control. Coordinates multiple behavioral modules (crawler, turner, feeder, intermitter) to produce realistic larva locomotion patterns with peristaltic crawling, turning, feeding, and run/pause transitions. Attributes: interference: Crawl-bend coupling module (attenuates turning during crawling) intermitter: Behavioral intermittency module (controls run/pause/feed states) feeder: Feeding behavior module (head-sweeping motions) turner: Body-bending module (directional changes) crawler: Peristaltic crawling module (forward locomotion) dt: Simulation time step (seconds) Args: conf: Locomotor configuration dict with module configs: - 'crawler': Crawler module config (or None) - 'turner': Turner module config (or None) - 'feeder': Feeder module config (or None) - 'intermitter': Intermitter module config (or None) - 'interference': Interference module config (or None) dt: Simulation time step in seconds (default: 0.1) **kwargs: Additional keyword arguments passed to parent class Returns: Tuple of (linear_velocity, angular_velocity, feed_flag) from step() Example: >>> locomotor = Locomotor(conf=loco_conf, dt=0.1) >>> lin_vel, ang_vel, feeding = locomotor.step(A_in=0.5, length=2.0, on_food=False) .. py:attribute:: interference .. py:attribute:: intermitter .. py:attribute:: feeder .. py:attribute:: turner .. py:attribute:: crawler .. py:attribute:: dt :type: float :value: 0.1 .. py:method:: on_new_pause() -> None .. py:method:: on_new_run() -> None .. py:method:: on_new_feed() -> None .. py:method:: step_intermitter(**kwargs: Any) -> None .. py:property:: stride_completed :type: bool .. py:property:: feed_motion :type: bool .. py:method:: step(A_in: float = 0, length: float = 1, on_food: bool = False) -> tuple[float, float, bool]