code: def potential_energy(*body):
      """Potential energy of a multibody system.
  
      Explanation
      ===========
  
      This function returns the potential energy of a system of Particle's and/or
      RigidBody's. The potential energy of such a system is equal to the sum of
      the potential energy of its constituents. Consider a system, S, comprising
      a rigid body, A, and a particle, P. The potential energy of the system, V,
      is equal to the vector sum of the potential energy of the particle, V1, and
      the potential energy of the rigid body, V2, i.e.
  
      V = V1 + V2
  
      Potential energy is a scalar.
  
      Parameters
      ==========
  
      body1, body2, body3... : Particle and/or RigidBody
          The body (or bodies) whose potential energy is required.
  
      Examples
      ========
  
      >>> from sympy.physics.mechanics import Point, Particle, ReferenceFrame
      >>> from sympy.physics.mechanics import RigidBody, outer, potential_energy
      >>> from sympy import symbols
      >>> M, m, g, h = symbols('M m g h')
      >>> N = ReferenceFrame('N')
      >>> O = Point('O')
      >>> O.set_vel(N, 0 * N.x)
      >>> P = O.locatenew('P', 1 * N.x)
      >>> Pa = Particle('Pa', P, m)
      >>> Ac = O.locatenew('Ac', 2 * N.y)
      >>> a = ReferenceFrame('a')
      >>> I = outer(N.z, N.z)
      >>> A = RigidBody('A', Ac, a, M, (I, Ac))
      >>> Pa.potential_energy = m * g * h
      >>> A.potential_energy = M * g * h
      >>> potential_energy(Pa, A)
      M*g*h + g*h*m
  
      """
  
      pe_sys = S.Zero
      for e in body:
          if isinstance(e, (RigidBody, Particle)):
              pe_sys += e.potential_energy
          else:
              raise TypeError(
                  "*body must have only Particle or RigidBody"
              )
      return pe_sys
  
imports: from sympy.utilities import dict_merge
  from sympy.utilities.iterables import iterable
  from sympy.physics.vector import Dyadic, Vector, ReferenceFrame, Point, dynamicsymbols
  from sympy.physics.vector.printing import vprint, vsprint, vpprint, vlatex, init_vprinting
  from sympy.physics.mechanics.particle import Particle
  from sympy.physics.mechanics.rigidbody import RigidBody
  from sympy.simplify.simplify import simplify
  from sympy import Matrix, Mul, Derivative, sin, cos, tan, S
  from sympy.core.function import AppliedUndef
  from sympy.physics.mechanics.inertia import inertia, inertia_of_point_mass
  from sympy.utilities.exceptions import sympy_deprecation_warning
label_desc: Use image node_id 7 for calling a global function with example usage: potential_energy() and returns: pe_sys