One thing you can do is make the collision rect of the bed larger. These are the brBottom, brTop, brLeft and brRight properties properties of a View. However for View and Prop, they are set automatically with the BaseSetter kernel. But Act's have an optional basesetter property that lets you override that. Have a look at the NormalBase instance in the main script. It's assigned to the ego's baseSetter property. So if you made your bed an Act, you might be able to use that.
Of course, that's a rectangle. Given the shape of your bed, you might want the edges to be kind of diagonal?
Perhaps a cleaner option is to create a block. If you notice, an Act (and therefore the ego) have a blocks property. You can add/remove blocks to the ego using observeBlocks and ignoreBlocks. These describe areas the actor can't go. There are classes Blk and Cage in feature.sc that show examples of blocks. It seems like you could make one that describes a polygonal area that the actor can't enter, and then create one of those and add it to the ego's blocks. Then when you move the bed, adjust the boundaries of the block (or your block class could even take a reference to the bed, and automatically update itself?).