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 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; and a control unit configured to operate a work robot based on the position command, wherein the teaching positions include two teaching positions having different influence on the movement of the robot, wherein the position thinning unit is further configured to remove, from the teaching position data, one of the two teaching positions having a smaller influence on the movement of the robot, wherein the influence of the teaching position includes a change in a motion of the robot in accordance with the teaching position data by removing the teaching position from the teaching position data, wherein the position thinning unit is further configured to generate the thinned position data based on an amount of offset between a teaching position and a reference line connecting teaching positions prior to and posterior to the teaching position, and characterized in that the position thinning unit is further configured to: add teaching positions of both ends in a time segment of at least part of the teaching position data to a selected group; repeat operations including deriving a reference line connecting the teaching positions added to the selected group, and adding another teaching position of the time segment to the selected group based on the amount of offset between the reference line and the other teaching position until a predetermined condition is satisfied; and remove one or more teaching positions that have not been added to the selected group to generate the thinned position data. 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 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; and a control unit configured to operate a work robot based on the position command, wherein the teaching positions include two teaching positions having different influence on the movement of the robot, wherein the position thinning unit is further configured to remove, from the teaching position data, one of the two teaching positions having a smaller influence on the movement of the robot, wherein the influence of the teaching position includes a change in a motion of the robot in accordance with the teaching position data by removing the teaching position from the teaching position data, wherein the position thinning unit is further configured to generate the thinned position data based on an amount of offset between a teaching position and a reference line connecting teaching positions prior to and posterior to the teaching position, and characterized in that the position thinning unit is further configured to: add teaching positions of both ends in a time segment of at least part of the teaching position data to a selected group; repeat operations including deriving a reference line connecting the teaching positions added to the selected group, and adding another teaching position of the time segment to the selected group based on the amount of offset between the reference line and the other teaching position until a predetermined condition is satisfied; and remove one or more teaching positions that have not been added to the selected group to generate the thinned position data. add teaching positions of both ends in a time segment of at least part of the teaching position data to a selected group; repeat operations including deriving a reference line connecting the teaching positions added to the selected group, and adding another teaching position of the time segment to the selected group based on the amount of offset between the reference line and the other teaching position until a predetermined condition is satisfied; and remove one or more teaching positions that have not been added to the selected group to generate the thinned position data.