The description of weights
parameter in lmrob
states that it is
vector of observation weights; if supplied, the algorithm fits to
minimize the sum of a function of the square root of the weights
multiplied into the residuals. The length of weights must be the same
as the number of observations. The weights must be nonnegative and it
is strongly recommended that they be strictly positive, since zero
weights are ambiguous, compared to use of the subset argument.
and so it is defined as in other methods (e.g. lm), what means that it is used to provide some external weights such as survey weights. You use such weights to tell your function that some observations are "more important" than others in your data (e.g. they appear in your data less frequent than in population of interest). It is not connected anyhow to the robustness of this method and you do not have to provide this parameter - in most cases you leave it empty.
So if you want the first 25% of sample to have greater weight and the last 25% to have lower weight you define such weights that have this property and sum to 1. For example, if you have 4 observations, then the weights could be: $3/8, 2/8, 2/8, 1/8$. However generally, you do not use some arbitrary weights but you base them on some external criteria e.g. on how much undersampled some values are comparing to the population.