I’m glad that you got it working!
If I may, I think that it’s often more convenient to keep a reference to a NodePath rather than a node: As you found here, NodePath provides a variety of convenience functions that the node-classes do not–and still gives you access to the node if called for. That last is done by calling “node()” on the NodePath.
So, in your example above, you might instead have something like this:
# Here, we don't keep a reference to the node--
# it's just a local variable
aircraftNode = BulletRigidBodyNode('Box')
# ... Omitting setup of the node for brevity ...
# Conversely, we >do< keep a reference to the NodePath
self.airNP = render.attachNewNode(aircraftNode)
# ... And the rest of your setup here, modified as appropriate
# to the above changes ...
Then, later, you can do something like this:
# To get the object's position
pos = self.airNP.getPos(render)
# To get the Bullet-object's inertia
inertia = self.airNP.node().getInertia()
# Or, if you're going to work with the node
# multiple times within the same function or loop:
node = self.airNP.node()
inertia = node.getInertia()
node.setLinearVelocity(someVelocityValue)
# etc...