A robot system comprising: a teaching position acquisition unit configured to acquire teaching position data including a plurality of teaching positions arranged in time series based on demonstration data of an operator; a teaching force acquisition unit configured to acquire teaching force data including a plurality of teaching forces arranged in time series based on the demonstration data of the operator; a position thinning unit configured to generate thinned position data obtained by removing at least one of the teaching positions from the teaching position data; a position command generation unit configured to generate a position command based on the thinned position data; a control unit configured to operate a work robot based on the position command; a measurement data acquisition unit configured to acquire measurement data of a force applies to a work object by the work robot when the control unit operates the work robot; and a position correction unit configured to correct the position command so as to reduce a difference between the measurement data and the teaching force data, wherein the position correction unit is configured to correct the teaching position data so as to reduce the difference between the measurement data and the teaching force data, wherein the position thinning unit is configured to remove at least one of the teaching positions from the teaching position data corrected by the position correction unit to update the thinned position data, and wherein the position command generation unit is configured to update the position command based on the thinned position data updated by the position thinning unit. a teaching position acquisition unit configured to acquire teaching position data including a plurality of teaching positions arranged in time series based on demonstration data of an operator; a teaching force acquisition unit configured to acquire teaching force data including a plurality of teaching forces arranged in time series based on the demonstration data of the operator; a position thinning unit configured to generate thinned position data obtained by removing at least one of the teaching positions from the teaching position data; a position command generation unit configured to generate a position command based on the thinned position data; a control unit configured to operate a work robot based on the position command; a measurement data acquisition unit configured to acquire measurement data of a force applies to a work object by the work robot when the control unit operates the work robot; and a position correction unit configured to correct the position command so as to reduce a difference between the measurement data and the teaching force data, wherein the position correction unit is configured to correct the teaching position data so as to reduce the difference between the measurement data and the teaching force data, wherein the position thinning unit is configured to remove at least one of the teaching positions from the teaching position data corrected by the position correction unit to update the thinned position data, and wherein the position command generation unit is configured to update the position command based on the thinned position data updated by the position thinning unit.