In my answer to the question "Define a control sequence after that a space matters" I elaborated on a macro \name which is to be used as follows:
\name <tokens without braces>{<name of Control Sequence Token>}
→ <tokens without braces>\ControlSequenceToken
You can use the \name-macro both for defining and for calling macros.
Here comes the implementation:
\newcommand\name{}%
\long\def\name#1#{\romannumeral0\innername{#1}}%
%
\newcommand\innername[2]{%
\expandafter\exchange\expandafter{\csname#2\endcsname}{ #1}%
}%
%
\newcommand\exchange[2]{#2#1}%
This is the way of using \name for defining macros:
Example 1:
\name\newcommand{rthrottle5} yields:
\newcommand\rthrottle5, thus you can, e.g., do:
\name\newcommand{rthrottle5}{r_{Throttle,q5}}
→ \newcommand\rthrottle5{r_{Throttle,q5}}
Example 2:
\name\global\long\def{foo} yields:
\global\long\def\foo, thus you can, e.g., do:
\name\global\long\def{foo}#1#2{foo's arg1: #1; foo's arg2: #2.}
→ \global\long\def\foo#1#2{foo's arg1: #1; foo's arg2: #2.}
Example 3:
This is the way of using \name for calling macros:
Just leave the <tokens without braces>-argument empty:
\name{rthrottle5}
→ \rthrottle5
The <tokens without braces>-argument can also consist of a sequence of some more calls of the name-macro.
Example 4:
\name\name\let{foo}={bar}
→ \name\let\foo={bar}
→ \let\foo=\bar
Example 5:
\name\name\name\futurelet{foo}{bar}{baz}
→\name\name\futurelet\foo{bar}{baz}
→\name\futurelet\foo\bar{baz}
→\futurelet\foo\bar\baz
Using the \name-macro within your example:
\documentclass{scrbook}
\newcommand\name{}%
\long\def\name#1#{\romannumeral0\innername{#1}}%
\newcommand\innername[2]{%
\expandafter\exchange\expandafter{\csname#2\endcsname}{ #1}%
}%
\newcommand\exchange[2]{#2#1}%
\begin{document}
\name\newcommand{asteer}{a_{Steer}}
\name\newcommand{awheelfl}{a_{Wheel,FL}}
\name\newcommand{awheelfr}{a_{Wheel,FR}}
\name\newcommand{rthrottle5}{r_{Throttle,q5}}
\begin{equation}
a_{Steer} + r_{Throttle,q5} = a_{Wheel,FL} - a_{Wheel,FR} + r_{Throttle,q5}
\end{equation}
\begin{equation}
\name{asteer} + \name{rthrottle5} = \name{awheelfl} - \name{awheelfr} + \name{rthrottle5}
\end{equation}
Or. if you like:
\begin{equation}
\name\name\name\name\name%
{asteer} + {rthrottle5} = {awheelfl} - {awheelfr} + {rthrottle5}
\end{equation}
\end{document}

\newcommand, you also can't use/call them like normal macros even if you do manage to define them:\rthrottle5would just be interpreted as\rthrottle 5(i.e.\rthrottleand then a5). You could define your own 'replacement' for\newcommandthat allows numbers in command names, but those commands would have to be called differently. The usual recommendation is just to let the numbers go and try Roman numerals or words, but you could also use an argument if that makes sense. – moewe Oct 30 '18 at 09:51\awheel{FL},\awheel{FR},\rthrottle{5}with#1in the body of the command at the position of FL/FR/5. – Marijn Oct 30 '18 at 10:08\newcommandand calling the resulting macros differently (see also jfbu's answer below, you essentially have a call wrapper: instead of\foo5you call\usename{foo5}). If you must have numbers and can't use an argument then that would be my preferred solution. But before you look into this I would urge you to look into commands with arguments or to drop the number in the macro name. – moewe Oct 30 '18 at 10:20\rthrotle5. The only downside I can see now is if I wanted to do e.g.\rthrottleq5static, however I am not sure yet if that might be needed. For this the replacement of\newcommandlooks more universal to mee. Could you please point out why it's your least favourite solution? – Archer Oct 30 '18 at 11:46\usename/\@nameuse. But they are pretty close. It is definitely better than some of the other options suggested in https://texfaq.org/FAQ-linmacnames. I have no technical objection to\usename, it's just that I'm used to writing\foo, so using\usename{foo5}for some macros is somewhat inconsistent ... but that's all. – moewe Oct 30 '18 at 14:04\foodo not get tokenized while spaces behind token sequences like\usename{foo5}(or\@nameuse{foo5}or\name{foo5}) do get tokenized as space-tokens. Besides this, things might turn out confusing when doing things like\def\foo{fo}\def\bar{o}\usename{\foo\bar5}. Also I recommend to not use\csname..\endcsname-wrappers like\usename/\name/\@nameusewith obscure\endcsnamein the argument—things like\@nameuse{TeX\expandafter\endcsname\@gobble}and\@nameuse{TeX\endcsname\csname TeX}might be inscrutable . ;-) – Ulrich Diez Oct 30 '18 at 19:35