A robot controller for controlling a robot arm, where said robot arm comprises a plurality of robot joints (102a, 102b, 102c, 102d, 102e, 102f) connecting a robot base and a robot tool flange, where each of said robot joints comprises: • an output flange movable in relation to a robot joint body; • a joint motor configured to move said output flange in relation to said robot joint body; said robot controller is configured to: • obtaining vibrational properties of said robot arm; • provide a robot arm impulse train based on said vibrational properties of said robot arm, wherein said robot arm impulse train comprises a number of impulses; characterized in that said robot controller comprises an external object installation interface configured to receive vibrational properties of at least one external object connected to said robot arm; wherein said robot controller is configured to • generate a control signal for said robot arm based on a target motion for said arm and said received vibrational properties of said at least one external object, wherein said control signal comprises control parameters for said joint motor, wherein the control signal is generated by: ∘ providing at least one object impulse train based on said received vibrational properties of said at least one external object, wherein said object impulse train comprises a number of impulses, and ∘ convolving (472, 575) said target motion with said robot arm impulse train and said at least one object impulse train. • an output flange movable in relation to a robot joint body; • a joint motor configured to move said output flange in relation to said robot joint body; said robot controller is configured to: • obtaining vibrational properties of said robot arm; • provide a robot arm impulse train based on said vibrational properties of said robot arm, wherein said robot arm impulse train comprises a number of impulses; characterized in that said robot controller comprises an external object installation interface configured to receive vibrational properties of at least one external object connected to said robot arm; wherein said robot controller is configured to • generate a control signal for said robot arm based on a target motion for said arm and said received vibrational properties of said at least one external object, wherein said control signal comprises control parameters for said joint motor, wherein the control signal is generated by: ∘ providing at least one object impulse train based on said received vibrational properties of said at least one external object, wherein said object impulse train comprises a number of impulses, and ∘ convolving (472, 575) said target motion with said robot arm impulse train and said at least one object impulse train. said robot controller is configured to: • obtaining vibrational properties of said robot arm; • provide a robot arm impulse train based on said vibrational properties of said robot arm, wherein said robot arm impulse train comprises a number of impulses; • obtaining vibrational properties of said robot arm; • provide a robot arm impulse train based on said vibrational properties of said robot arm, wherein said robot arm impulse train comprises a number of impulses; characterized in that said robot controller comprises an external object installation interface configured to receive vibrational properties of at least one external object connected to said robot arm; wherein said robot controller is configured to • generate a control signal for said robot arm based on a target motion for said arm and said received vibrational properties of said at least one external object, wherein said control signal comprises control parameters for said joint motor, wherein the control signal is generated by: ∘ providing at least one object impulse train based on said received vibrational properties of said at least one external object, wherein said object impulse train comprises a number of impulses, and ∘ convolving (472, 575) said target motion with said robot arm impulse train and said at least one object impulse train. • generate a control signal for said robot arm based on a target motion for said arm and said received vibrational properties of said at least one external object, wherein said control signal comprises control parameters for said joint motor, wherein the control signal is generated by: ∘ providing at least one object impulse train based on said received vibrational properties of said at least one external object, wherein said object impulse train comprises a number of impulses, and ∘ convolving (472, 575) said target motion with said robot arm impulse train and said at least one object impulse train. ∘ providing at least one object impulse train based on said received vibrational properties of said at least one external object, wherein said object impulse train comprises a number of impulses, and ∘ convolving (472, 575) said target motion with said robot arm impulse train and said at least one object impulse train.