The collision traverser checks whether any collision have occurred. There is one built-in collision traverser, that is called automatically every frame: base.cTrav
If you create any other collision traversers (for example, self.cTrav, as you did), you should call it manually by
self.cTrav.traverse(render) # you can use some other nodepath instead of render, if needed
You also need to add collision handler and colliders to the traverser, so that it knows what collisions to determine.
Then, you need some active collision node (“from” node). You only have passive “into” nodes. You can compare the “from” node with a drunk man, and the “into” node with walls and road this man collides with.
PS: The “from” nodes can also collide with each other (if they have the same collide mask, of course), just like two drunk men can. If they have different collide mask then, of course, they won’t collide with each other, just like drunk man won’t collide with drunk spook; this is because they have different collide masks