# The Proper Motion of the Pulsar J1124–5916 in the Galactic Supernova Remnant
G292.0+1.8

Xi Long Center for Astrophysics $|$ Harvard & Smithsonian
60 Garden St., MS-3
Cambridge, MA 02138, USA  Daniel J. Patnaude Center for Astrophysics $|$
Harvard & Smithsonian
60 Garden St., MS-3
Cambridge, MA 02138, USA  Paul P. Plucinsky Center for Astrophysics $|$
Harvard & Smithsonian
60 Garden St., MS-3
Cambridge, MA 02138, USA  Terrance J. Gaetz Center for Astrophysics $|$
Harvard & Smithsonian
60 Garden St., MS-3
Cambridge, MA 02138, USA

###### Abstract

We present the first direct measurement of the proper motion of pulsar
J1124–5916 in the young, oxygen-rich supernova remnant G292.0+1.8. Using deep
Chandra ACIS-I observations from 2006 and 2016, we measure a positional change
of 0$\farcs$21 $\pm$ $0\farcs 05$ over the $\sim$ 10 year baseline, or $\sim$
$0\farcs 02$ yr-1. At a distance of 6.2 $\pm$ 0.9 kpc, this corresponds to a
kick velocity in the plane of the sky of $\mathrm{612\pm 152\,km\,s^{-1}}$. We
compare this direct measurement against the velocity inferred from estimates
based on the center of mass of the ejecta. Additionally, we use this new
proper motion measurement to compare the motion of the neutron star to the
center of expansion of the optically emitting ejecta. We derive an age
estimate for the supernova remnant of $\gtrsim$ 2000 years. The high measured
kick velocity is in line with recent studies of high proper motion neutron
stars in other Galactic supernova remnants, and consistent with a hydrodynamic
origin to the neutron star kick.

††facilities: Chandra, GAIA††software: CIAO (v4.13; Fruscione et al., 2006),
MARX (v5.5.1; Davis et al., 2012), SAOTrace (v2.05; Jerius et al., 2004),
Sherpa (Freeman et al., 2001; Doe et al., 2007; Burke et al., 2020),
AstroPy(Astropy Collaboration et al., 2013, 2018)

##  1 Introduction

Neutron stars (NSs) are formed during the core-collapse supernovae (CCSNe) of
stars with zero age main sequence masses of $\gtrsim$ 8M☉. Observations of
neutron stars and pulsars indicate high space velocities with
$v_{\mathrm{3D}}$ $\approx$ 300–400 km s-1 (Hobbs et al., 2005; Igoshev,
2020). There are currently believed to be two possible mechanisms which can
accelerate neutron stars to these high velocities at birth: anisotropic
neutrino emission (e.g., Woosley, 1987; Socrates et al., 2005; Fryer &
Kusenko, 2006), and hydrodynamic kicks (e.g., Janka & Mueller, 1994; Burrows &
Hayes, 1996).

In the case of anisotropic neutrino emission, an anisotropy of only $\sim$1%
would be sufficient to impart a kick velocity of several hundred km s-1 (e.g.,
Socrates et al., 2005), though Wongwathanarat et al. (2013) argue that an
anisotropy of this size is difficult to achieve without invoking strong
assumptions about the proto-neutron star. In particular, exotic theories
concerning neutrino interactions, strong magnetic fields ($B>10^{15}$ G) in
the proto-neutron star, or turbulence in the neutrinosphere of the neutron
star are required (Wongwathanarat et al., 2010). In contrast, recent two- and
three-dimensional models for neutrino-driven core-collapse supernovae suggest
that NS kicks of $\lesssim$ 1500 km s-1 are achievable solely through bulk
hydrodynamic kicks (e.g., Nakamura et al., 2019). By way of momentum
conservation, the neutron star is imparted a momentum in the direction
opposite to that of asymmetrically ejected stellar debris. On short timescales
($t$ $\sim$ 1 second) both hydrodynamic and gravitational forces work to
impart momentum to the neutron star (Wongwathanarat et al., 2010, 2013), while
on longer timescales, additional momentum is imparted by gravity from high
velocity ejecta (the gravitational “tugboat” effect; Wongwathanarat et al.,
2013).

Recent studies by Holland-Ashford et al. (2017) and Katsuda et al. (2018)
investigated, by independent means, the relationship between neutron star kick
velocity and direction, and the location of iron-group and intermediate mass
elements in the shocked supernova ejecta of several Galactic supernova
remnants (SNRs). In both instances, the authors concluded that the measured or
inferred kick velocities of the neutron stars in their sample were brought
about by asymmetric explosions. In both papers, neutron star proper motions
were incorporated either from a direct measurement of the proper motion or by
measuring the offset of the neutron star from the geometric center of
expansion (center of mass). However, in two cases, Cas A and G292.0+1.8, the
authors note that they compute the proper motion based off of the offset of
the neutron star from the optically determined center of expansion Holland-
Ashford et al. (2017). For G292.0+1.8, both papers assume a kick velocity of
$\sim$ 450 km s-1 (Winkler et al., 2009).

G292.0+1.8 (hereafter G292) is a young ($t_{\mathrm{SNR}}$ $\sim$ 3000 year
old, Winkler et al. (2009)) oxygen-rich SNR. The remnant is bright in X-ray
emission from shocked ejecta and exhibits a prominent bar of shocked
circumstellar material across the middle. A pulsar (J1124–5916) and bright
pulsar wind nebula are associated with this remnant. The SNR is located at a
distance of $\sim$ 6 kpc, and has an angular diameter of $\sim$ 8$\arcmin$
(Gaensler & Wallace, 2003). The SNR is thought to be the remnant of a IIL/IIb
supernova (Chevalier, 2005), with initial progenitor mass estimates of 13–30
M☉ (Bhalerao et al., 2019). X-ray studies of shocked circumstellar material
suggest it is still expanding into the red supergiant wind (Lee et al., 2010).
The mass loss rate during the red supergiant phase is estimated to be
2–5$\times$10-5 M☉ yr-1, with 15–40 M☉ of circumstellar material shock heated
to X-ray temperatures (Lee et al., 2010). A recent analysis by Jacovich et al.
(2021) placed tighter constraints on the progenitor properties, suggesting an
initial mass of $\lesssim$ 20 M☉, though the estimated mass loss rate from Lee
et al. (2010) is broadly consistent with values from Jacovich et al. (2021)
for a 20 M☉ progenitor. Bhalerao et al. (2019) performed a fairly complete
census of the X-ray emitting material, and derived a total ejecta mass of
$\sim$ 6 M☉.

Here we report on the first direct measurement of the proper motion of
J1124–5916 in G292. Combining deep multi-epoch Chandra observations registered
against the Gaia Data Release 3, we are able to correct the astrometry to an
accuracy of 50 milliarcseconds (mas). In Sections 2 and 3, we present the
Chandra observations and our registration technique; in Section 4 we present
the proper motion measurement. In Section 5, we discuss our results, and
attempt to place the measured proper motion of J1124–5916 in the context of
other neutron stars.

##  2 Data and Reduction

G292 has been observed several times over the course of the Chandra mission.
Here we make use of two large programs from 2006 and 2016. Our goal is to
match faint point sources detected in the Chandra observations against known
sources from the Gaia 3rd Data Release (DR3). In order to minimize any
cumulative error which we might incur when adding several shorter Chandra
observations performed at different roll angles and exposure times, we limited
ourselves to the longest observations from each program, all performed at a
similar roll angle, in order to minimize any systematic error. The
observations are listed in Table 1, where we also list relevant observation
information, and the $\Delta t$ between the individual exposure and the Gaia
DR3 reference epoch of $2016.0$ (denoted as $\Delta t_{\mathrm{2016.0}}$).

###  2.1 Relevant Software and Archives

Using the CIAO tool
chandra_repro111https://cxc.harvard.edu/ciao/ahelp/chandra_repro.html and
CALDB 4.9.5, we reprocessed each observation to generate new L2 event lists.
MARX 222https://space.mit.edu/cxc/marx/ and SAOTrace
333https://cxc.cfa.harvard.edu/cal/Hrma/SAOTrace.html were used for simulating
the point spread function (PSF) of point sources. The positions of the point
sources, as determined by the CIAO tool wavedetect were fitted using the PSF
image with Sherpa, following the CIAO thread that discusses how to account for
PSF effects in 2D image
fitting444https://cxc.harvard.edu/sherpa/threads/2dpsf/. To correct for time
dependent changes to the quantum efficiency and exposure time differences
among observations event-by-event, we used the CIAO tool eff2evt, by setting
the option detsubsysmod to the start time of the observation, and the start
time of the reference observation, ObsID 19892\. Finally, we used the GAIA
Archive555https://gea.esac.esa.int/archive/ to search for optical counterparts
to detected X-ray sources. The matched optical point sources are used as a
reference frame to register all the observations.

Table 1: Observation List ObsID | Start Date | Exposure | Roll Angle | $\Delta t_{2016.0}$
---|---|---|---|---
|  | (ks) |  | (yr)
6677 | 2006-10-16 | 159.13 | 140.19 | 9.21
6679 | 2006-10-03 | 153.95 | 156.69 | 9.24
8221 | 2006-10-20 |  064.96 | 140.19 | 9.20
19892 | 2016-10-05 |  049.48 | 150.19 | -0.76
19899 | 2016-10-18 |  042.57 | 144.19 | -0.80

###  2.2 Position of X-ray point sources

To determine the position of the X-ray sources, we use a PSF fitting method
based on the CIAO thread on 2D image fitting described in the previous
section. We include more details specific to our analysis in the discussion
below. We first create an image of the source to be modelled from a $31\farcs
5\times 31\farcs 5$ box region, which we refer to as the “data image”. We then
use SAOTrace to simulate the PSF at the off-axis position appropriate for each
point source of interest with a power-law spectrum with an index of 2.94
consistent with the average spectral properties of the sources used for
registration. We scale the source flux by a factor of five thousand to reduce
the statistical noise. This simulation is used to create an image of a point
source at this position in the focal plane. We convolve this PSF model image
with a Gaussian plus a constant. The convolution with a Gaussian smooths the
statistical fluctuations in the simulated data, ensures that the values are
strictly positive, and allows for interpolation between pixels to non-integer
values. This smoothing is necessary to prevent the possible source positions
from being quantized to the original grid of values determined by the detector
coordinate system. The constant term accounts for the background in the real
data. We refer to this image as the “model image”. We then fit the model image
to the data image (both binned to 1/4 sky pixels). The center, amplitude, and
sigma of the Gaussian function, and the constant value are free to vary in the
fit. We employed the C-statistic (Cash, 1979) to determine the best fit value
of the parameters. The fitted center of the Gaussian function $(x,y)$ is the
position of the point source in image coordinates. The coordinates are
transformed to sky coordinates using the WCS tranformations. The $1\sigma$
confidence intervals are determined using the sherpa
conf666https://cxc.harvard.edu/sherpa/ahelp/conf.html routine, which finds the
root of the C-stat function vs $x$ or $y$: $c(x)-(c_{\mathit{min}}+1)=0$ or
$c(y)-(c_{\mathit{min}}+1)=0$. The root of the C-stat function vs $x$ or $y$
is determined using Muller’s method. An approximate root $x_{\mathit{k}}$ is
generated for each iteration $k$; the iteration is halted when
$x_{\mathit{k+1}}-x_{\mathit{k}}<0.01$; $x_{\mathit{k+1}}$ is then the root of
$c(x)-(c_{\mathit{min}}+1)=0$. The sigma of the Gaussian must remain small in
our fits in order to avoid broadening the model image significantly beyond the
resolution of the Chandra PSF. The fitted values of $\sigma$ were never larger
than 0$\farcs$35 in our fits. The point sources were all at off-axis angles
$\gtrsim 4\arcmin$. The Chandra 90% encircled energy is $2\farcs 0$ at an off-
axis angle of 4$\farcm$0\. The additional broadening due to our Gaussian
smoothing is small or negligible compared to the scale of the Chandra PSF.

Figure 1: The ratio of counts to 90% enclosed area of the simulated point
sources versus the fitted positional error. The cyan line is the fitted power-
law model using the least absolute deviation (LAD) method. The red dashed line
indicates a positional error of $0\farcs 3$. Those point sources with a
positional error larger than $0\farcs 3$ indicate that the relationship
between positional error, surface brightness, and off-axis angle is not well
described by a power-law model beyond $0\farcs 3$. For high precision source
registration, these sources would be excluded, as nonlinear effects appear to
influence the measured positional error.

The measured error in an X-ray source’s position depends upon at least the
number of counts in the source and the size and shape of the PSF, which
depends primarily on the off-axis angle of the source and roll angle of the
telescope. In Table 2, we list the number of counts, off-axis angle and the
positional errors for each of the X-ray sources.

Table 2: Point source and the pulsar counts ($C$), off-axis angles ($\theta$)
and the fitted positional errors $\sigma_{P}$ of the point sources.

|  | 6677 |  |  | 6679 |  |  | 8221 |  |  | 19892 |  |  | 19899 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---
Source ID† | $C$ | $\theta$ | $\sigma_{P}$ | $C$ | $\theta$ | $\sigma_{P}$ | $C$ | $\theta$ | $\sigma_{P}$ | $C$ | $\theta$ | $\sigma_{P}$ | $C$ | $\theta$ | $\sigma_{P}$
1 | 1263 | $7.0\arcmin$ | 0.04″ | 1201 | $6.9\arcmin$ | 0.04″ | 529 | $7.1\arcmin$ | 0.06″ | 388 | $6.8\arcmin$ | 0.07″ | 398 | $6.8\arcmin$ | 0.06″
2 | 1485 | $8.6\arcmin$ | 0.05″ | 1126 | $8.5\arcmin$ | 0.05″ | 465 | $8.7\arcmin$ | 0.08″ | 643 | $8.3\arcmin$ | 0.06″ | 599 | $8.4\arcmin$ | 0.09″
3 | 99 | $4.5\arcmin$ | 0.14″ | 92 | $4.6\arcmin$ | 0.17″ | 51 | $4.5\arcmin$ | 0.21″ | 20 | $4.8\arcmin$ | 0.21″ | 18 | $4.7\arcmin$ | 0.27″
4 | 197 | $4.4\arcmin$ | 0.10″ | 130 | $4.6\arcmin$ | 0.09″ | 86 | $4.4\arcmin$ | 0.10″ | 25 | $4.7\arcmin$ | 0.26″ | 23 | $4.6\arcmin$ | 0.19″
5 | 304 | $5.2\arcmin$ | 0.07″ | 148 | $5.4\arcmin$ | 0.09″ | 57 | $5.2\arcmin$ | 0.17″ | 36 | $5.5\arcmin$ | 0.29″ | 23 | $5.4\arcmin$ | 0.25″
6 | 441 | $4.7\arcmin$ | 0.05″ | 517 | $4.6\arcmin$ | 0.05″ | 163 | $4.7\arcmin$ | 0.14″ | 102 | $4.5\arcmin$ | 0.10″ | 147 | $4.5\arcmin$ | 0.10″
7 | 795 | $7.7\arcmin$ | 0.05″ | 1119 | $7.6\arcmin$ | 0.05″ | 314 | $7.7\arcmin$ | 0.09″ | 106 | $7.7\arcmin$ | 0.16″ | 191 | $7.7\arcmin$ | 0.10″
8 | 376 | $7.7\arcmin$ | 0.08″ | 433 | $7.5\arcmin$ | 0.06″ | 163 | $7.7\arcmin$ | 0.19″ | 64 | $7.5\arcmin$ | 0.17″ | 71 | $7.5\arcmin$ | 0.17″
9 | 391 | $4.0\arcmin$ | 0.08″ | 306 | $4.0\arcmin$ | 0.16″ | 122 | $4.0\arcmin$ | 0.28″ | 64 | $3.9\arcmin$ | 0.26″ | 69 | $3.9\arcmin$ | 0.30″
J1124–5916∗1 | 4804 | $0.6\arcmin$ |  | 4698 | $0.6\arcmin$ |  | 1961 | $0.5\arcmin$ |  | 1436 | $0.7\arcmin$ |  | 1273 | $0.7\arcmin$ |

  * ††footnotetext: The point source’s number of counts are from energy band 0.5-7.0 keV.**footnotetext: The pulsar’s number of counts are from energy band 1.2-7.0 keV.

We investigated this relationship by conducting simulations where we modeled
sources with 5–400 counts and at off-axis angles from 1$\arcmin$–6$\arcmin$.
The results of the simulations are shown in Figure 1. The data follow a
roughly power-law relationship between measured position error and surface
brightness and off-axis angle, until the surface brightness decreases below
$\sim 5$ counts arcsec-2 and the off-axis angle increases above 4$\arcmin$.
Sources with the highest surface brightness and smallest off-axis angles have
the smallest positional errors. At lower surface brightness values and larger
off-axis angles, the power-law relationship begins to break down and the
positional errors increase significantly (Figure 1). We interpret this to mean
that for a point source with lower counts and/or higher off-axis angle, our
method will result in a larger error in the measured position.

We use the results of the simulations shown in Figure 1 to develop criteria to
inform us on the suitability of sources for image registration in the 2006 and
2016 observations. The 2006 observations ObsID 6677 and ObsID 6679 are $\sim$
3 times longer than the 2016 observations (Table 1). Additionally, the
continued accumulation of the ACIS contaminant will reduce the relative number
of counts in any one source between 2006 and 2016. Therefore, we apply
different criteria for source acceptance between the 2006 and 2016
observations. For the purposes of registration at high precision, we exclude
point sources with measured positional errors larger than $0\farcs 1$ in the
2006 observations ObsID 6677 and ObsID 6679\. For the 2006 observation ObsID
8211, we exclude point sources with measured positional errors larger than
$0\farcs 15$. In order to include enough sources for proper registration of
the 2016 observations, we exclude those sources which have measured positional
errors greater than $0\farcs 2$.

###  2.3 Optical Counterparts

As noted in § 2.1, we used wavdetect to detect X-ray point sources for all
four observations. We only use those point sources which are detected in all
four observations and which meet our criteria laid out at the end of § 2.2.
For each X-ray point source, we searched GAIA DR3 to find an optical
counterpart within $1.5\arcsec$ radius of the X-ray source. We identified nine
optical point sources which match our detected X-ray sources (Figure 2).

Table 3 lists the matched GAIA point sources together with coordinates and
proper motions. The RA and Dec columns are the values for epoch $2016.0$. We
precessed the RA and Dec values of the GAIA sources using the proper motions
to the epoch of the start date of each X-ray observation. Accordingly the
error of the RA and Dec will be corrected using the error of the proper motion
and the time baseline between 2016 and the start dates of the observations as
listed in Table 1. The nine point sources with optical counterparts are shown
in Figures 3 – 7, where we plot the GAIA DR3 positions and the X-ray point
source fitted positions.

The corrected coordinates of an optical point source are:

$\begin{pmatrix}\alpha\\\ \delta\end{pmatrix}=\begin{pmatrix}\alpha_{2016}\\\
\delta_{2016}\end{pmatrix}+\begin{pmatrix}v_{\alpha}\cdot\cos(\delta_{2016})\\\
v_{\delta}\end{pmatrix}\Delta t$ (1)

Here, $(\alpha,\delta)$ are the corrected RA and Dec values,
$(\alpha_{2016},\delta_{2016})$ are the coordinates of the optical point
sources at epoch 2016.0. $v_{\alpha}$, $v_{\delta}$ are the proper motions in
Right Ascension and Declination, respectively. The corrected error of RA and
Dec value is:

$\begin{pmatrix}\sigma_{\alpha}^{2}\\\
\sigma_{\delta}^{2}\end{pmatrix}=\begin{pmatrix}\sigma_{\alpha_{2016}}^{2}\\\
\sigma_{\delta_{2016}}^{2}\end{pmatrix}+\begin{pmatrix}\sigma_{v_{\alpha}}^{2}\cdot\cos^{2}(\delta_{2016})\\\
\sigma_{v_{\delta}}^{2}\end{pmatrix}\Delta t^{2}$ (2)

In Eq 2, $(\sigma_{\alpha},\sigma_{\delta})$ are the corrected errors of RA
and Dec. $(\sigma_{\alpha_{2016}},\sigma_{\delta_{2016}})$ are the errors of
RA and Dec of the optical point sources at epoch 2016.0.
$(\sigma_{v_{\alpha}},\sigma_{v_{\delta}})$ are the errors of proper motion in
RA and Dec.

Figure 2: The x-ray point sources used to register to optical counterparts from GAIA DR3. See Table 3 for details on the individual sources. Table 3: Gaia DR 3 point sources (Epoch 2016) Source | RA | $\mathrm{RA_{error}}$ | Dec | $\mathrm{Dec_{error}}$ | PMRA | $\mathrm{PMRA_{error}}$ | PMDec | $\mathrm{PMDec_{error}}$
---|---|---|---|---|---|---|---|---
ID |  $\alpha$ deg |  $\sigma_{\alpha}$ mas |  $\delta$ deg |  $\sigma_{\delta}$ mas |  $v_{\alpha}$ $\mathrm{mas\,yr^{-1}}$ |  $\sigma_{v_{\alpha}}$ $\mathrm{mas\,yr^{-1}}$ |  $v_{\delta}$ $\mathrm{mas\,yr^{-1}}$ |  $\sigma_{v_{\alpha}}$ $\mathrm{mas\,yr^{-1}}$
1 | 170.94734977 | 0.41 | -59.30954920 | 0.39 | -7.00 | 0.55 | 3.30 | 0.43
2 | 170.88732949 | 2.40 | -59.30245101 | 2.00 | 0.00 | 0.00 | 0.00 | 0.00
3 | 171.29742299 | 0.05 | -59.24006532 | 0.04 | -10.09 | 0.05 | 4.36 | 0.04
4 | 171.29006194 | 0.04 | -59.234464888 | 0.03 | -6.60 | 0.05 | 1.90 | 0.04
5 | 171.31207660 | 0.03 | -59.226011711 | 0.03 | -6.61 | 0.04 | 1.94 | 0.03
6 | 171.06676207 | 0.07 | -59.200712270 | 0.07 | -12.77 | 0.09 | 3.26 | 0.08
7 | 171.10550819 | 0.01 | -59.388699202 | 0.01 | -21.10 | 0.01 | 4.37 | 0.01
8 | 170.96760530 | 0.02 | -59.346279838 | 0.02 | -10.34 | 0.02 | 4.94 | 0.02
9 | 171.10721361 | 0.02 | -59.201670503 | 0.02 | -21.53 | 0.02 | 6.82 | 0.02
Figure 3: The GAIA point source position (blue crosses) at the epoch of the
start time of ObsID 6677\. White crosses indicate the X-ray source positions
based on the PSF fit method. The red numbers in the upper left corners
identify the sources used in the registration of this obsid, while white
numbers indicate that the source was not included in the registration process.
Figure 4: The GAIA point source position (blue cross) at the epoch of the
start time of ObsID 6679\. White crosses indicate the X-ray source positions
based on the PSF fit method. The red numbers in the upper left corners
identify the sources used in the registration of this obsid, while white
numbers indicate that the source was not included in the registration process.
Figure 5: The GAIA point source position (blue cross) at the epoch of the
start time of ObsID 8221\. White crosses indicate the X-ray source positions
based on the PSF fit method. The red numbers in the upper left corners
identify the sources used in the registration of this obsid, while white
numbers indicate that the source was not included in the registration process.
Figure 6: The GAIA point source position (blue cross) at the epoch of the
start time of ObsID 19892\. White crosses indicate the X-ray source positions
based on the PSF fit method. The red numbers in the upper left corners
identify the sources used in the registration of this obsid, while white
numbers indicate that the source was not included in the registration process.
Figure 7: The GAIA point source position (blue cross) at the epoch of the
start time of ObsID 19899\. White crosses indicate the X-ray source positions
based on the PSF fit method. The red numbers in the upper left corners
identify the sources used in the registration of this obsid, while white
numbers indicate that the source was not included in the registration process
.

##  3 Registration method

Using point sources from each X-ray observation, we can register the
observation by shifting the positions of the point sources, $(x,y)$, to match
positions of the corresponding GAIA point sources, $(x_{0},y_{0})$. The
shifted positions are:

$\begin{pmatrix}x^{\prime}\\\
y^{\prime}\end{pmatrix}=\begin{pmatrix}a_{11}&a_{12}\\\
a_{21}&a_{22}\end{pmatrix}\begin{pmatrix}x\\\
y\end{pmatrix}+\begin{pmatrix}t_{1}\\\ t_{2}\end{pmatrix}$ (3)

The parameters $a_{11}$, $a_{12}$, $a_{21}$, and $a_{22}$ account for the
scale factor and rotation angle, while $t_{1}$, and $t_{2}$ account for the
translation in the x and y directions. To match the positions of the point
sources to those in the reference observation, $(x_{0},y_{0})$, we minimize a
loss function which is weighted by the the position errors:

$D=\sum^{n}\left(\left[1+\frac{(x^{\prime}-x_{0})^{2}}{\sigma_{x}^{2}+\sigma_{x_{0}}^{2}}+\frac{(y^{\prime}-y_{0})^{2}}{\sigma_{y}^{2}+\sigma_{y_{0}}^{2}}\right]^{\frac{1}{2}}-1\right)$
(4)

The loss function, $D$, is a sum of softened $L_{1}$ (absolute value)
functions. The softened L1 varies quadratically near the minimum, but
asymptotically approaches a linear variation with distance from the minimum.
This is provided by the soft_l1 option of python routine
scipy.optimize.least_squares. This loss function is more robust than least-
squares or chi-squared since the weighting of outliers approaches a linear
rather than quadratic penalty.  Here $n$ is the number of matched point
sources, $\sigma_{x}$ and $\sigma_{y}$ are the position error of the X-ray
point sources at positions $(x,y)$; $\sigma_{x_{0}}$ and $\sigma_{y_{0}}$ are
the position error of the GAIA point sources at positions $(x_{0},y_{0})$. The
fitted parameters $a_{11}$, $a_{12}$, $a_{21}$, $a_{22}$, $t_{1}$ and $t_{2}$
will be used by the CIAO tool wcs_update, to update the aspect solution file
and the WCS of each L2 event list for each observation which is registered to
the reference GAIA point sources. Finally, the error of the registration
method is estimated by the weighted average position residual of the matched
point sources of the two observations:

$r=\frac{\sum^{n}(d/\sigma_{d}^{2})}{\sum^{n}(1/\sigma_{d}^{2})}$ (5)

In Eq 5, $d$ is the position residual of the point sources after registration,
$\sigma_{d}$ is the combined position error:

$\begin{split}d&=\sqrt{(x^{\prime}-x_{0})^{2}+(y^{\prime}-y_{0})^{2}}\\\
\sigma_{d}&=\sqrt{\sigma_{x^{\prime}}^{2}+\sigma_{x_{0}}^{2}+\sigma_{y^{\prime}}^{2}+\sigma_{y_{0}}^{2}}\end{split}$
(6)

The registration error of each X-ray observation to the GAIA point sources is
shown in Table 4.

Table 4: Registration error of X-ray data to Gaia point sources.

ObsID | 6677 | 6679 | 8221 | 19892 | 19899
---|---|---|---|---|---
n | 7 | 7 | 5 | 5 | 6
$r^{*}$ | $0.050\arcsec$ | $0.035\arcsec$ | $0.043\arcsec$ | $0.056\arcsec$ | $0.078\arcsec$

  * **footnotetext: Registration error

We note here that our ultimate goal is to measure the motion of J1124–5916.
Since we are using the positions of the GAIA stars to correct the astrometry
of the Chandra observations, we must consider the effects of solar motion and
of differential galactic rotation on the measured positions of the GAIA
sources and J1124–5916 (e.g., Halpern & Gotthelf, 2015). We have considered
this effect and found that it results in at most a $0\farcs 02$ difference in
measured positions for our GAIA sources over the $\sim$ 10 year baseline
between observations, and the effects of Galactic rotation will not be
measurable in the reference frame of our GAIA field stars.

##  4 Proper motion of the pulsar

To measure the proper motion of the pulsar, we employed a similar method to
that used to determine the positions of the X-ray point sources. After
registering the images with the new WCS, for each observation we extracted a
$14.76\arcsec\times 14.76\arcsec$ box region around the pulsar. We used the
pulsar image from observation ObsID 6677 as the “template” image, and the
pulsar image from a later observation, for instance ObsID 19892, as the data
image. In Sherpa the template image was convolved with a 2-D symmetric
Gaussian function plus a constant value to make a model image. The Gaussian
function is used to reduce the Poisson error among the adjacent pixels, and
the constant value is added to account for the difference of the sky
background plus diffuse pulsar wind emission level. Even though the pulsar is
embedded in a wind nebula and there is shocked ejecta and circumstellar
material along the line of sight, it is nevertheless reasonable to assume that
the sky background is homogeneous over the small extraction region.

In the model image, the center, amplitude and sigma of the Gaussian function
and the constant value are free to vary. The C-statistic is again used as the
fit statistic. The difference between the fitted center of the Gaussian
function $(x,y)$ and that of the center of the pulsar image for which the
proper motion is being computed is the absolute shift in the position between
the epochs. As in § 2.2, we use the sherpa conf routine to determine this
difference in two dimensions. However, in this case, we use the 2006
observation as our template image, instead of a raytrace of the PSF. The
$1\sigma$ errors of the center $(\sigma_{x},\sigma_{y})$ are calculated by
varying the value of $x$ or $y$ along a grid of values while the values of all
the other thawed parameters are allowed to float to new best-fit values. The
measured shifts and inferred transverse velocities are listed in Table 5. In
Figure 8 we plot the difference images between the 2006 and 2016 observations;
the resulting measurements are presented in Table 5. Also shown in Figure 8
are vectors indicating the measured direction of motion of J1124–5916, with
lengths that are proportional to the measured shift in the pulsar centroid.

Figure 8: The difference counts images of the pulsar in the energy band
1.2–7.0 keV, in a $9\arcsec\times 7\arcsec$ region, binned to $1/4$ of ACIS
sky pixel ($0\farcs 123$). The salmon arrows indicate the direction of the
proper motion. The salmon-colored arrows show the proper motions scaled by a
factor of 10.

As indicated in Table 5, the mean measured positional shift of J1124–5916 is
$0.208\arcsec\pm 0.010\arcsec$. At a distance of 6.2 kpc to G292.0+1.8, this
corresponds to a mean transverse velocity of $\mathrm{612\,km\,s^{-1}\pm
30\,km\,s^{-1}}$. Considering the registration errors of the observations to
the GAIA point sources, there is a systematic error which should be added to
the proper motion result. To combine the statistical uncertainty and the
systematic error, we adopt the multiple imputation method to calculate the
total error (Lee et al., 2011). Because the spread in the time deltas between
our observations spans the narrow range of 9.96 yr to 10.05 yr, it is
reasonable to assume the proper motion does not change within the precision of
our measurement over that time period. We have six measurements of the proper
motion. The average value of the six measurements is reported as the estimated
proper motion. The statistical uncertainty is the average of each individual
measurement. The systematic error is from the registration error, and is
estimated from the variance of the six measurements. The total error is the
combined statistical uncertainty and the systematic error, according to the
Equations 4–6 in (Lee et al., 2011). Therefore, the proper motion velocity
with the total error is $\mathrm{612\,km\,s^{-1}\pm 152\,km\,s^{-1}}$.

Table 5: Proper motion measured between 2006 and 2016 observations and relative shifts of pulsar position between 2006 and 2016 epochs ObsID | 6677-19892 | 6677-19899 | 6679-19892 | 6679-19899 | 8221-19892 | 8221-19899 | average | total error
---|---|---|---|---|---|---|---|---
$\mathrm{\Delta x\,(mas)}$ | $-162\pm 20$ | $-176\pm 21$ | $-229\pm 20$ | $-203\pm 19$ | $-125\pm 21$ | $-112\pm 20$ | -168 | 52
$\mathrm{\Delta y\,(mas)}$ | $-118\pm 14$ | $-84\pm 14$ | $-158\pm 14$ | $-112\pm 14$ | $-142\pm 15$ | $-106\pm 15$ | -120 | 32
$\mathrm{\Delta R\,(mas)}$ | $201\pm 24$ | $195\pm 25$ | $278\pm 25$ | $232\pm 24$ | $189\pm 26$ | $154\pm 25$ | 208 | 52
$\mathrm{\Delta t\,(yrs)}$ | 9.97 | 10.02 | 10.02 | 10.05 | 9.96 | 10.00 | – | –
$\mathrm{v\,(km\,s^{-1})}$ | $592\pm 71$ | $572\pm 73$ | $816\pm 73$ | $679\pm 70$ | $558\pm 76$ | $452\pm 74$ | 612 | 152
Position angle | $126\pm 7$ | $116\pm 6$ | $125\pm 5$ | $119\pm 5$ | $139\pm 8$ | $133\pm 9$ | 126 | 17

##  5 Discussion

As mentioned in Section 4, we measure a proper motion of 612 km s-1 assuming a
distance of 6.2 kpc. In Figure 9 we plot our measured kick velocity for the
neutron star in G292 against the distribution of Galactic neutron stars
presented in Hobbs et al. (2005). We include recent results presented by Mayer
& Becker (2021) for a sample of central compact objects (CCOs) in SNRs, and
the recent measurement of the pulsar proper motion in MSH 15–56 (Temim et al.,
2017).

As seen in Figure 9, the proper motion of the neutron star in G292 lies at the
higher end of the distribution of kick velocities for Galactic neutron stars,
and has a transverse kick velocity similar to the pulsar located in MSH 15-56
(Temim et al., 2017). Wongwathanarat et al. (2013) noted that some neutrino-
driven supernova models can impart kick velocities in excess of 600 km s-1
within the first few seconds of core-collapse, but that study only considered
20 models, with a limited range of progenitor masses. Interestingly, Figure 8
of Wongwathanarat et al. (2013) suggests that the 20 M☉ progenitor model did
not impart a large kick velocity on the neutron star. The progenitor mass for
G292 is poorly constrained, with an estimate between 13–30 M☉ (Bhalerao et
al., 2019), though a recent study by Jacovich et al. (2021) suggests a
progenitor mass of $\sim$ 22 M☉. In this sense and in light of this new
result, additional high fidelity simulations may be required in order to
connect the measured kick velocity back to supernova explosion models.

We also consider whether the kick velocity arises from anisotropic neutrino
emission. Burrows et al. (2007) parametrized the degree of anisotropy as
$\sin{(i)}$ and derived an expression for the kick velocity as:

$V_{k}\sim
1000\left(\frac{E_{SN}}{10^{51}\,\mathrm{erg}}\right)\sin{(i)}\,\mathrm{km\
s^{-1}}\,,$ (7)

For our measured value of 612 km s-1 we require an explosion energy of $\sim$
1051 erg and a high degree of anisotropy is required ($\sin{(i)}$ $\sim$ 1).
In studying the X-ray properties of the SNR shock, Lee et al. (2010) assumed
an explosion energy of 0.5–1.0$\times$1051 erg. The models of Jacovich et al.
(2021) were tuned to match the 56Ni yields of 1D explosion models, with
explosion energies of $\sim$ 8$\times$1050 erg, which is bracketed by the
assumed energies in Lee et al. (2010). In order to match the blastwave
kinematics, a lower explosion energy requires a lower ejecta mass. The cradle-
to-grave models of Jacovich et al. (2021) give an ejecta mass of $\sim$ 10M☉,
while those of Lee et al. (2010) range from $\sim$ 5 – 20 M☉. 20 M☉ of ejecta
seems unlikely, ruling out an explosion energy of 1051 erg, unless the density
of the circumstellar environment was considerably higher than what was assumed
in Lee et al. (2010). In light of this, we choose explosion energies of
0.5–0.8$\times$1051 erg. This gives an asymmetry parameter $\sin{(i)}$
$\gtrsim$ 0.8. This degree of anisotropy is considerably higher than what is
found for the neutron star in Puppis A (e.g., $\sin{(i)}$ $\sim$ 0.7; Becker
et al., 2012), suggesting that the lower explosion energies required to
explain the X-ray properties are only feasible if the explosion that imparted
the high kick velocity on the G292 neutron star was highly asymmetric.

Figure 9: Distribution of transverse neutron star kick velocities from Hobbs
et al. (2005). We overplot our measurement as well as measurements from recent
studies. References: (a): This work; (b): Mayer & Becker (2021); (c): Mayer et
al. (2020); (d): Mignani et al. (2007, 2019); (e): Halpern & Gotthelf (2015);
(f): Temim et al. (2017).

We are now in a position to compare the measured proper motion to the center
of expansion as determined from optical observations (Winkler et al., 2009)
and from the distribution of intermediate mass elements in the shocked ejecta
(Holland-Ashford et al., 2017; Katsuda et al., 2018). In Figure 10 we project
the motion of the neutron star back 3000 years, using our mean proper motion
of $0\farcs 021$ yr-1. We also mark the geometric center of expansion and the
center of mass for intermediate mass elements as measured by Katsuda et al.
(2018). Using the range of position errors, we find good agreement with our
direction of motion and the center of expansion measured from proper motions
of optical knots (Winkler et al., 2009).

G292 is quoted as being 2990$\pm$60 years old (Winkler et al., 2009). As seen
in Figure 10, our mean proper motion implies an age much closer to 2000 years
old, suggesting that G292 might be the remnant of an historical supernova.
Unfortunately, the low declination of G292 means that a historical companion
to G292 would be below the horizon to Europe, China, and the Middle East
(Clark & Stephenson, 1976). The closest historical SN is that of AD 185, but a
reconstruction of the historical record places all candidate SNRs for that
event in the range of 310–320$\arcdeg$ in Galactic longitude (Stephenson &
Green, 2002).

Figure 10: Projection of G292 neutron star back to the center of expansion.
The opening angle corresponds to the range of position angle (including the
error on that angle). We assume the mean proper motion of $0\farcs 021$ yr-1.
The blue shaded ellipse corresponds to the center of expansion from proper
motion measurements of optical ejecta (Winkler et al., 2009). The magenta
cross corresponds to the geometrical center of the X-ray emission, while the
black cross corresponds to the center of mass for the distribution of
intermediate mass elements (Katsuda et al., 2018). The length of each shaded
segment corresponds to 1000 years of motion of the neutron star, assuming no
deceleration.

Lastly, we briefly comment on the kick direction with respect to the apparent
rotation of the pulsar. In Figure 11, we show a zoomed in image of the pulsar
wind nebula, with the direction of motion indicated. Park et al. (2007) first
noted in a deep Chandra observation of G292.0+1.8 the torus and jet structure
in the PWN in high detail, with the jet appearing to be aligned along the
north–south axis (see inset of Figure 1; Park et al., 2007). The nearly north-
south alignment of the jet is misaligned from the kick direction by $\sim$
45$\arcdeg$. This observed misalignment is consistent with recent results
which demonstrated a seemingly random distribution of spin–kick alignments in
3D simulations of core-collapse supernovae (Janka et al., 2022), though at
odds with observations of spin–kick alignment in other systems (e.g., Ng &
Romani, 2007; Noutsos et al., 2012; Yao et al., 2021).

Figure 11: The pulsar and pulsar wind nebula image stacked from all 5
observations registered to the observation ObsID 6677\. The bin size is 1/4
sky pixel ($0.123\arcsec$). The black arrow shows the proper motion direction
of the pulsar; the length of the arrow is 10 times the measured shift of the
pulsar. The image has been smoothed with a Gaussian kernel with a $\sigma$ of
1 bin and diameter of 5 bins.

##  6 Conclusions

We measure a position shift of the pulsar in supernova remnant G292.2+1.8 of
$0\farcs 21\pm 0\farcs 05$ over a 10 year observation baseline. At a distance
of $\sim$ 6.2 kpc, this corresponds to a transverse velocity of:
$\mathrm{612\,km\,s^{-1}\pm 152\,km\,s^{-1}}$. The measured velocity of the
pulsar is $\sim$ 30% higher than the $\sim$ 450 km s-1 which was determined by
comparing the position of the pulsar to that of the optical center of
expansion inferred from kinematic fits to the motion of O-rich ejecta knots
which also give an age of $\lesssim$ 3000 yr (Winkler et al., 2009).

We compute the degree of neutrino anisotropy which is required to impart a
kick velocity of 600 km s-1, and find that an extreme degree of anisotropy is
required to explain the high velocity, unless the explosion energy was
considerably higher than what is typically assumed. A high explosion energy is
inconsistent with other observables in G292. We therefore conclude that the
neutron star kick in G292 has a hydrodynamic origin.

Lastly our new measured velocity suggests an age $\sim$ two-thirds of what is
typically assumed. For a 2000 year old SNR, we explore the possibility that
G292 is the result of a historical supernova. However, a literature search
notes that the Galactic longitude of G292 is below the horizon for most
northern hemisphere civilizations that might have observed it. The closest
candidate is SN AD 185, which is still located several degrees in Galactic
latitude and longitude from G292. There is no record in the literature of a SN
being observed in the southern hemisphere in the direction of G292.

T.J.G, D.J.P, and P.P.P acknowledge support under NASA Contract NAS8-03060.
X.L. acknowledges support from CXC grants SP8-19002X and GO9-20068X, and NASA
grant 80NSSC18K0988.

##  Appendix A A Determination of the Sytematic Error on Registration with
GAIA Sources

In order estimate the systematic error on the registration of our Chandra data
with the GAIA sources and to provide a sanity check on our method, we compared
one observation from one epoch (either 2006 or 2016) to another observation
from the same epoch and searched for a shift in position. We generated a
difference image of the pulsar using the registered observations ObsID 6677
and 6679, which are observed within one week of each other, and therefore the
pulsar should have no shift in position.

The upper left panel of Figure 12 shows the difference image of the pulsar by
subtracting the image of ObsID 6679 from the image of ObsID 6677\. It seems
there is a slight shift in the southeast to northwest direction. Applying our
proper motion measurement method, we measured a $0\farcs 064\pm 0\farcs 025$
shift listed in Table 6. This value is consistent with the registration error
of ObsID 6677 and 6679 reported in § 2. The red arrow shows the direction of
the measured shift. In order to highlight the shift, the length of the arrow
has been artificially increased by a factor of 10. The bottom left panel of
Figure 12 shows the difference image after correcting the measured shift of
$0\farcs 064$. The random distribution of white and black pixels in the
difference image indicates that there is no obvious shift compared to the
distribution in Figure 8 which shows a clear shift in the pulsar position.
This analysis is repeated for ObsID 6677 and 8221 and ObsID 19892 and 19899
and the results are shown in the center and right panels of Figure 12 and in
Table 6.

The measured shift between ObsID 6677 and 8221 is $0\farcs 056\pm 0\farcs 025$
and the measured shift between ObsID 19892 and 19899 is $0\farcs 047\pm
0\farcs 026$, also consistent with our estimate of the registration error. The
statistical fluctuations in the 2016 data are larger given the shorter
exposure times of those observations.

According to this analysis the systematic error in the registration of the
Chandra data with the GAIA sources is $0\farcs 047-0\farcs 064$ which is
comparable to our estimate of the uncertainty in the GAIA registration of
$0\farcs 035-0\farcs 078$ listed in Table 4. Both of these uncertainties are
significantly smaller than the measured positional change of the pulsar of
$0\farcs 21$.

Figure 12: The difference counts image of the pulsar of observations ObsID 6677 and ObsID 6679, ObsID 6677 and ObsID 8221, ObsID 19892 and ObsID 19899 in energy band 1.2–7.0 keV, the bin size is $1/4$ of ACIS sky pixel ($0.123\arcsec$). The images have been smoothed in DS9 with a Gaussian kernel. The $\sigma$ and radius are set at 1.5 bins and 3 bins, respectively. Upper: the difference image after registration. Lower: the difference image corrected the shifted measured using our method for measuring proper motion.  Table 6: Relative shifts of pulsar position between 2006 and 2016 epochs ObsID | 6677-6679 | 6677-8221 | 19892-19899 | average | total error
---|---|---|---|---|---
$\mathrm{\Delta x\,(mas)}$ | $45\pm 21$ | $-52\pm 21$ | $-27\pm 21$ | $-11$ | 62
$\mathrm{\Delta y\,(mas)}$ | $45\pm 14$ | $20\pm 14$ | $38\pm 15$ | 34 | 21
$\mathrm{\Delta R\,(mas)}$ | $64\pm 25$ | $56\pm 25$ | $47\pm 26$ | 56 | 27
Position angle | $-45\pm 29$ | $69\pm 27$ | $55\pm 32$ | – | –

## References

  * Astropy Collaboration et al. (2013) Astropy Collaboration, Robitaille, T. P., Tollerud, E. J., et al. 2013, A&A, 558, A33, doi: 10.1051/0004-6361/201322068
  * Astropy Collaboration et al. (2018) Astropy Collaboration, Price-Whelan, A. M., Sipőcz, B. M., et al. 2018, AJ, 156, 123, doi: 10.3847/1538-3881/aabc4f
  * Becker et al. (2012) Becker, W., Prinz, T., Winkler, P. F., & Petre, R. 2012, ApJ, 755, 141, doi: 10.1088/0004-637X/755/2/141
  * Bhalerao et al. (2019) Bhalerao, J., Park, S., Schenck, A., Post, S., & Hughes, J. P. 2019, ApJ, 872, 31, doi: 10.3847/1538-4357/aafafd
  * Burke et al. (2020) Burke, D., Laurino, O., Wmclaugh, et al. 2020, sherpa/sherpa: Sherpa 4.12.1, 4.12.1, Zenodo, Zenodo, doi: 10.5281/zenodo.3944985
  * Burrows & Hayes (1996) Burrows, A., & Hayes, J. 1996, Phys. Rev. Lett., 76, 352, doi: 10.1103/PhysRevLett.76.352
  * Burrows et al. (2007) Burrows, A., Livne, E., Dessart, L., Ott, C. D., & Murphy, J. 2007, ApJ, 655, 416, doi: 10.1086/509773
  * Cash (1979) Cash, W. 1979, ApJ, 228, 939, doi: 10.1086/156922
  * Chevalier (2005) Chevalier, R. A. 2005, ApJ, 619, 839, doi: 10.1086/426584
  * Clark & Stephenson (1976) Clark, D. H., & Stephenson, F. R. 1976, QJRAS, 17, 290
  * Davis et al. (2012) Davis, J. E., Bautz, M. W., Dewey, D., et al. 2012, in Society of Photo-Optical Instrumentation Engineers (SPIE) Conference Series, Vol. 8443, Space Telescopes and Instrumentation 2012: Ultraviolet to Gamma Ray, ed. T. Takahashi, S. S. Murray, & J.-W. A. den Herder, 84431A, doi: 10.1117/12.926937
  * Doe et al. (2007) Doe, S., Nguyen, D., Stawarz, C., et al. 2007, in Astronomical Society of the Pacific Conference Series, Vol. 376, Astronomical Data Analysis Software and Systems XVI, ed. R. A. Shaw, F. Hill, & D. J. Bell, 543
  * Freeman et al. (2001) Freeman, P., Doe, S., & Siemiginowska, A. 2001, in Society of Photo-Optical Instrumentation Engineers (SPIE) Conference Series, Vol. 4477, Astronomical Data Analysis, ed. J.-L. Starck & F. D. Murtagh, 76–87, doi: 10.1117/12.447161
  * Fruscione et al. (2006) Fruscione, A., McDowell, J. C., Allen, G. E., et al. 2006, in Society of Photo-Optical Instrumentation Engineers (SPIE) Conference Series, Vol. 6270, Society of Photo-Optical Instrumentation Engineers (SPIE) Conference Series, ed. D. R. Silva & R. E. Doxsey, 62701V, doi: 10.1117/12.671760
  * Fryer & Kusenko (2006) Fryer, C. L., & Kusenko, A. 2006, ApJS, 163, 335, doi: 10.1086/500933
  * Gaensler & Wallace (2003) Gaensler, B. M., & Wallace, B. J. 2003, ApJ, 594, 326, doi: 10.1086/376861
  * Halpern & Gotthelf (2015) Halpern, J. P., & Gotthelf, E. V. 2015, ApJ, 812, 61, doi: 10.1088/0004-637X/812/1/61
  * Hobbs et al. (2005) Hobbs, G., Lorimer, D. R., Lyne, A. G., & Kramer, M. 2005, MNRAS, 360, 974, doi: 10.1111/j.1365-2966.2005.09087.x
  * Holland-Ashford et al. (2017) Holland-Ashford, T., Lopez, L. A., Auchettl, K., Temim, T., & Ramirez-Ruiz, E. 2017, ApJ, 844, 84, doi: 10.3847/1538-4357/aa7a5c
  * Igoshev (2020) Igoshev, A. P. 2020, MNRAS, 494, 3663, doi: 10.1093/mnras/staa958
  * Jacovich et al. (2021) Jacovich, T., Patnaude, D., Slane, P., et al. 2021, ApJ, 914, 41, doi: 10.3847/1538-4357/abf935
  * Janka & Mueller (1994) Janka, H. T., & Mueller, E. 1994, A&A, 290, 496
  * Janka et al. (2022) Janka, H.-T., Wongwathanarat, A., & Kramer, M. 2022, ApJ, 926, 9, doi: 10.3847/1538-4357/ac403c
  * Jerius et al. (2004) Jerius, D. H., Cohen, L., Edgar, R. J., et al. 2004, in Society of Photo-Optical Instrumentation Engineers (SPIE) Conference Series, Vol. 5165, X-Ray and Gamma-Ray Instrumentation for Astronomy XIII, ed. K. A. Flanagan & O. H. W. Siegmund, 402–410, doi: 10.1117/12.509378
  * Katsuda et al. (2018) Katsuda, S., Morii, M., Janka, H.-T., et al. 2018, ApJ, 856, 18, doi: 10.3847/1538-4357/aab092
  * Lee et al. (2011) Lee, H., Kashyap, V. L., van Dyk, D. A., et al. 2011, ApJ, 731, 126, doi: 10.1088/0004-637X/731/2/126
  * Lee et al. (2010) Lee, J.-J., Park, S., Hughes, J. P., et al. 2010, ApJ, 711, 861, doi: 10.1088/0004-637X/711/2/861
  * Mayer et al. (2020) Mayer, M., Becker, W., Patnaude, D., Winkler, P. F., & Kraft, R. 2020, ApJ, 899, 138, doi: 10.3847/1538-4357/aba121
  * Mayer & Becker (2021) Mayer, M. G. F., & Becker, W. 2021, A&A, 651, A40, doi: 10.1051/0004-6361/202141119
  * Mignani et al. (2007) Mignani, R. P., de Luca, A., Zaggia, S., et al. 2007, A&A, 473, 883, doi: 10.1051/0004-6361:20077768
  * Mignani et al. (2019) Mignani, R. P., De Luca, A., Zharikov, S., et al. 2019, MNRAS, 486, 5716, doi: 10.1093/mnras/stz1195
  * Nakamura et al. (2019) Nakamura, K., Takiwaki, T., & Kotake, K. 2019, PASJ, 71, 98, doi: 10.1093/pasj/psz080
  * Ng & Romani (2007) Ng, C. Y., & Romani, R. W. 2007, ApJ, 660, 1357, doi: 10.1086/513597
  * Noutsos et al. (2012) Noutsos, A., Kramer, M., Carr, P., & Johnston, S. 2012, MNRAS, 423, 2736, doi: 10.1111/j.1365-2966.2012.21083.x
  * Park et al. (2007) Park, S., Hughes, J. P., Slane, P. O., et al. 2007, ApJ, 670, L121, doi: 10.1086/524406
  * Socrates et al. (2005) Socrates, A., Blaes, O., Hungerford, A., & Fryer, C. L. 2005, ApJ, 632, 531, doi: 10.1086/431786
  * Stephenson & Green (2002) Stephenson, F. R., & Green, D. A. 2002, Historical supernovae and their remnants, 5
  * Temim et al. (2017) Temim, T., Slane, P., Plucinsky, P. P., et al. 2017, ApJ, 851, 128, doi: 10.3847/1538-4357/aa9d41
  * Winkler et al. (2009) Winkler, P. F., Twelker, K., Reith, C. N., & Long, K. S. 2009, ApJ, 692, 1489, doi: 10.1088/0004-637X/692/2/1489
  * Wongwathanarat et al. (2010) Wongwathanarat, A., Janka, H.-T., & Müller, E. 2010, ApJ, 725, L106, doi: 10.1088/2041-8205/725/1/L106
  * Wongwathanarat et al. (2013) Wongwathanarat, A., Janka, H. T., & Müller, E. 2013, A&A, 552, A126, doi: 10.1051/0004-6361/201220636
  * Woosley (1987) Woosley, S. E. 1987, in The Origin and Evolution of Neutron Stars, ed. D. J. Helfand & J. H. Huang, Vol. 125, 255
  * Yao et al. (2021) Yao, J., Zhu, W., Manchester, R. N., et al. 2021, Nature Astronomy, 5, 788, doi: 10.1038/s41550-021-01360-w


11institutetext: Western Sydney University, Locked Bag 1797. Penrith NSW 2751,
Australia
Website %First ̵names ̵are ̵abbreviated ̵in ̵the ̵running ̵head.%If ̵there
̵are ̵more ̵than ̵two ̵authors, ̵’et ̵al.’ ̵is ̵used.https://wsu-
turtlerabbit.github.io/
Corresponding author: 11email<EMAIL_ADDRESS>
# TurtleRabbit 2024 SSL Team Description Paper

Linh Trinh Authorship: team lead first, contributors in alphabetical order,
academic lead last. Alif Anzuman  Eric Batkhuu  Dychen Chan  Lisa Graf Lisa
Graf is with the Neurorobotics Lab, Universität Freiburg, Germany, and was a
visiting researcher at Western Sydney University, Jan/Feb 2024. Darpan Gurung
Tharunimm Jamal  Jigme Namgyal  Jason Ng  Wing Lam Tsang  X. Rosalind Wang
0000-0001-5454-6197 Eren Yilmaz  Oliver Obst  0000-0002-8284-2062

###### Abstract

TurtleRabbit is a new RoboCup SSL team from Western Sydney University. This
team description paper presents our approach in navigating some of the
challenges in developing a new SSL team from scratch. SSL is dominated by
teams with extensive experience and customised equipment that has been
developed over many years. Here, we outline our approach in overcoming some of
the complexities associated with replicating advanced open-sourced designs and
managing the high costs of custom components. Opting for simplicity and cost-
effectiveness, our strategy primarily employs off-the-shelf electronics
components and “hobby” brushless direct current (BLDC) motors, complemented by
3D printing and CNC milling. This approach helped us to streamline the
development process and, with our open-sourced hardware design, hopefully will
also lower the bar for other teams to enter RoboCup SSL in the future. The
paper details the specific hardware choices, their approximate costs, the
integration of electronics and mechanics, and the initial steps taken in
software development, for our entry into SSL that aims to be simple yet
competitive.

###### Keywords:

RoboCup BLDC Motor Control open-source hardware cost-effective design

##  1 RoboCup Small Size League without the custom PCBs

Our team, TurtleRabbit, aims to qualify as a new participant for the RoboCup
2024 Small Size League (SSL). SSL is one of the oldest leagues in RoboCup, and
despite strong participation in its earliest days [15, 5, 7], it has been 20
years [3] since an Australian team qualified for participation in this league.
Many of the currently participating institutions have a long history and
tremendous experience, which is evident from their extended team descriptions
and some of the open-source designs. This experience is reflected in the level
of detail with which parts of the designs are created, whether to save space,
ease maintenance and repairs, or to ensure longevity and protect the
components. While this sophistication in the design of the robots appears to
be a factor in their success, it poses significant technical and financial
barriers for new teams such as ours in replicating these successful
approaches. Creating a team comparable to most of the existing ones requires
expertise in fabricating custom circuit boards, mechanics, and software,
ranging from low-level controllers to methods that determine high-level team
actions.

Contrary to this trend, our strategy is deliberately simple and relies on
(mostly) off-the-shelf components. As a result, our robot locomotion hardware
is limited to a single Raspberry Pi 4 (RPI), paired with a MJbots PiHat and
moteus controllers for relatively inexpensive BLDC drone motors. This approach
accelerates our development and reduces cost and complexity. For controlling
our kicker and dribbler, we employ an Arduino Every board connected to the
RPI.

##  2 Electronics and motors

Most teams in RoboCup SSL use high-quality BLDC motors for their robots, from
electronic manufacturers such as Nanotec, Maxon, Moons, both for driving and
dribbling. The relatively high cost of these motors and their controllers can
be an obstacle for a new team. We have opted for an approach with cheaper BLDC
drone motors, an approach also taken by the GreenTea SSL team [13]. For the
drive motors, we use a Tarot Martin 4008 brushless drone motor. We use MJbots
moteus r4 controllers [11] to turn our drone motors into servo actuators. The
moteus boards integrate the necessary drive electronics for 3-phase brushless
field-oriented control of BLDC motors, with an STM32G4 microcontroller, an
absolute magnetic encoder, and a
$5\text{\,}\mathrm{M}\mathrm{b}\mathrm{p}\mathrm{s}$ CAN-FD interface. Moteus
boards are commercial, off-the-shelf controllers with an open source firmware,
originally developed for quadruped robots. Their on-board absolute encoder has
been placed close to a diametrically magnetised magnet that we mount to the
secondary output (rear motor axis) with a small 3D-printed holder. Moteus
boards support position, torque, and velocity control modes. For our robots,
we use the boards in velocity control mode.

The controller boards support communication with a CAN interface with flexible
data-rate (CAN-FD), and are connected to a Raspberry Pi 4b with an MJbots
pi3hat. The pi3hat attaches to the Raspberry Pi GPIO and provides 5
independent CAN-FD interfaces. The pi3hat also powers the Raspberry Pi and
contains a $1\text{\,}\mathrm{k}\mathrm{h}\mathrm{z}$ Attitude Reference
System / Inertial Measurement Unit (IMU); in its current stage our software
does not make use of the IMU yet though we plan to integrate the data into our
world model for the 2024 competition. Similar to the moteus boards, the MJbots
pi3hat firmware is also open source.

To distribute power from a 6S1P Lithium Polymer battery (Lipo) to motors and
controllers we use an MJbots power distribution board that also pre-charges
high capacitance loads like BLDC motors to protect the controllers, and allows
software-controlled shut down.

For the qualification stage, we integrated a single (straight) kicker device
using an off-the-shelf push-pull solenoid powered using a DC-DC boost
converter to increase its strength, and controlled using an Arduino Nano
Every. The Arduino is connected to the Raspberry Pi over USB. The solenoid
provides a reasonably strong “kick”, though custom designed kickers (see,
e.g., [2, 4]) appear to be advantageous. Our design also leaves sufficient
space for a secondary chip-kicker but is currently not integrated into our
robots.

Our dribble device is currently still under development and being tested. In
order to save costs, we opted for a BLDC micro drone motor, controlled from
the Arduino Every using a $20\text{\,}\mathrm{A}$ XRotor ESC. The dribbler is
powered by a separate 2S1P Lipo.

An overview of the electronic components along with their approximate prices
converted to US$ can be found in Table 1. Additionally required are connectors
and cables for power, USB and CAN bus, and potentially additional onboard
sensors, such as a camera or other sensors for ball detection, if not included
with the Raspberry Pi.

The components we chose are mostly off-the-shelf and allowed us to develop the
robot without having to create custom PCBs and without designing custom
control boards. One potential disadvantage of cheaper drone motors compared to
the more “professional” BLDC motors used by many other teams is their higher
cogging torque, resulting in less smooth motion at low RPM. Apart from simply
using faster speeds, a solution to this problem is to adjust moteus controller
board parameters in order to compensate for cogging torque (resulting in an
overall lower torque bandwidth). So far we have not found this adjustment
necessary.

Table 1: Electronic components used per robot. Prices are approximate and per item. Total electronics costs for a single robot adds up to approx. US$1,045 (or AU$1,600). Component | Specs | Price (US$)
---|---|---
($4\times$) | Tarot 4008 Martin BLDC Motor |  $85\text{\,}\mathrm{g}$ weight, $44.5\text{\,}\mathrm{m}\mathrm{m}$ diameter, | 55.00
| (18N/24 Pole $330\text{\,}\mathrm{K}\mathrm{V}$) |  $22\text{\,}\mathrm{m}\mathrm{m}$ height, $497\text{\,}\mathrm{W}$ power |
|  |  $30\text{\,}\mathrm{A}$ max continuous current |
($4\times$) | MJbots moteus controller | 3 phase brushless FOC based | 75.00
|  | control, 10-$44\text{\,}\mathrm{V}$, $500\text{\,}\mathrm{W}$ peak |
|  | power, $100\text{\,}\mathrm{A}$ peak phase current |
MJbots pi3hat r4 |  $4\times$5\text{\,}\mathrm{M}\mathrm{b}\mathrm{p}\mathrm{s}$$ CAN-FD bus, $1\times$ | 150.00
|  |  $125\text{\,}\mathrm{k}\mathrm{b}\mathrm{p}\mathrm{s}$ CAN, $1\text{\,}\mathrm{k}\mathrm{H}\mathrm{z}$ IMU, I2C |
MJbots power dist board r4 | CAN-FD bus, energy monitoring | 150.00
Raspberry Pi 4 Model B |  $4\text{\,}\mathrm{G}\mathrm{B}$, $32\text{\,}\mathrm{G}\mathrm{B}$ uSD card | 80.00
Arduino Nano Every |  | 16.50
RCinpower GTS V3 1003 micro motor |  $10\,000\text{\,}\mathrm{K}\mathrm{V}$, $3.45\text{\,}\mathrm{g}$ weight | 15.00
XRotor ESC |  $20\text{\,}\mathrm{A}$, 2S-4S | 15.00
($2\times$) | DC-DC Boost Converter | 45-$390\text{\,}\mathrm{V}$ output | 5.00
| (we currently use only one) |  |
($2\times$) | Push-pull solenoid (Adafruit) |  $144\text{\,}\mathrm{g}$ weight | 25.00
| (we currently use only one) |  |
6S1P Lipo Battery CNHL Ministar | $1000\text{\,}\mathrm{m}\mathrm{A}\mathrm{h}$ | 45.00
2S1P Lipo Battery CNHL Ministar | $450\text{\,}\mathrm{m}\mathrm{A}\mathrm{h}$ | 24.00

##  3 Mechanical design

For the initial mechanical design, we investigated both a 3-wheeled and a
4-wheeled setup. While a 3-wheeled setup appeared attractive because of
overall lower costs, the more conventional 4-wheel configuration makes it
easier to evenly distribute weight and also leaves more space along the
longitudinal axis, e.g., for kicker or battery. We kept the two front wheels
at a $120^{\circ}$ angle (as they would be in a 3-wheel configuration) to make
space for a kicker and dribbler, and the two rear wheels at a $90^{\circ}$
angle from each other (see Fig. 1 left). Since our motor controllers need to
be close to the (relatively flat) drone motors, they have to be mounted
vertically resulting in a mechanical design different to most teams with
exception of GreenTea [13], though the subsequent sections will also highlight
some differences to their approach. Our custom mechanical parts are machined
on a Makera Carvera Desktop CNC, or printed on Ender 5+ and Bambu Lab
X1-Carbon 3D printers. We used (mostly) Fusion 360 for design; all designs and
STEP files are available on our GitHub https://github.com/WSU-TurtleRabbit.

Figure 1: Left: Render of the base plate with wheel arrangement and kicker
(front right wheel and controller removed, exposing motor). Centre:
Intermediate stage, plywood base plate. Right: completed, with PETG shell.

###  3.1 TurtleRabbit Omniwheel

The Tarot 4008 Martin motor is an efficient BLDC motor designed for
quadcopters. It is a small, “outrunner” type motor with a diameter of
$44.5\text{\,}\mathrm{m}\mathrm{m}$, and a height of
$22\text{\,}\mathrm{m}\mathrm{m}$. In order to save space, we designed the
wheels so the motor sits inside the main wheel chassis. As a result, the main
wheel chassis is large, comparing to other teams, with a diameter of
$64.5\text{\,}\mathrm{m}\mathrm{m}$ ($67\text{\,}\mathrm{m}\mathrm{m}$ wheel
diameter incl. subwheels, see Fig. 2).

Figure 2: The TurtleRabbit omniwheel drive with motor, controller, and motor
mount.

We based the principal wheel design on GreenTea [13], who use a fully (PLA)
printed wheel chassis with a similar sized BLDC motor to ours, but we were
also concerned about mechanical and thermal issues (cf. [12]). As a
compromise, we decided to print the main wheel chassis in PETG, while
machining both the front and rear wheel covers from
$3\text{\,}\mathrm{m}\mathrm{m}$ 6061-T6 aluminium. The aluminium front wheel
cover, directly attached to the flat front of the BLDC motor, offers thermal
conductivity and heat dissipation properties critical in managing the elevated
temperatures generated by the motor during operation. We used M2 brass heat-
set inserts to provide robust threading for the connection between wheel
covers and the wheel chassis.

####  3.1.1 Subwheel design

Our subwheel design (Fig. 3) is inspired by Tigers Mannheim wheel [12], with
some differences mostly due to availability or cost of components in
Australia. Each main wheel holds 2 rows of 15 subwheels. Each of the 30
subwheels consists of a $\diameter$ $2\text{\,}\mathrm{m}\mathrm{m}$ $\times$
$10\text{\,}\mathrm{m}\mathrm{m}$ steel dowel pin, two $2\times 5\times 2.5$
flanged bearings, 2 M$2\times$0.5\text{\,}\mathrm{m}\mathrm{m}$$ washers, and
two NBR X-rings (ID
$$4.47\text{\,}\mathrm{m}\mathrm{m}$\times$$1.78\text{\,}\mathrm{m}\mathrm{m}$
thickness) as “tyres”.

Figure 3: Left: Subwheels mounted on PETG wheel chassis. Right: Subwheel
exploded view, with washers, MF52 2Z bearings, NBR
$$4.47\text{\,}\mathrm{m}\mathrm{m}$\times$1.78\text{\,}\mathrm{m}\mathrm{m}$$
X-ring,
$$2\text{\,}\mathrm{m}\mathrm{m}$\times$10\text{\,}\mathrm{m}\mathrm{m}$$
dowel pin.

###  3.2 Motor mounts, base plates, shell and other parts

Our motor mounts hold the BLDC motor on one side, and the controller on the
opposite side. In our design, they also act as the connection between base
plate and mid level plate in our design. Initially, we 3D printed the motor
mounts, and cut the base plates from $3\text{\,}\mathrm{m}\mathrm{m}$ plywood,
but for thermal and mechanical reasons we decided to machine the motor mounts
from $8\text{\,}\mathrm{m}\mathrm{m}$ 6061-T651 aluminium. The base plate is
machined from $3\text{\,}\mathrm{m}\mathrm{m}$ 6061-T6 aluminium, and the mid-
level plate from $2\text{\,}\mathrm{m}\mathrm{m}$ 6061-T6. The aluminium also
acts as a heat sink for controllers and motors. Even though size and
arrangement of our wheels is unique, it was very helpful to use the open
source designs from Tigers Mannheim [12] as a reference for our base plate
design.

Shells for our robots are printed using either white PolyLite ASA, or a matte
black PETG. Both are more suitable as material for the shell than PLA for
mechanical and thermal properties. For the top cover, we use black PLA-CF for
its matte visual appearance. Shells are attached to the mid plate using
M$4\times$70\text{\,}\mathrm{m}\mathrm{m}$$ brass standoffs and two black
thumbscrews. Kicker front and battery holder suspended from the mid-level
plate are printed in PLA-CF, and some of the kicker mechanics is machined from
aluminium.

Figure 4: Left: Motor mount Right: Completed drive with motor mount, wheel,
and controller.

Other parts required include stand-offs and various screws in M2, M2.5, M3 and
M4 sizes. Our dribbler is currently still under development, and we are
planning to experiment with different kinds of tubing to investigate suitable
materials, similar to the KIKS team study in [10]. It is clear from a few
approaches (e.g., [1, 8, 14]) that both geometry and material selection
provide a lot of space for experimentation and design, something we have
planned for the time before the competition.

Table 2: Mechanical components used for one robot. Prices are approximate, per robot. Required aluminium sheet and bar sizes are approximate and dependent on supplier and CNC machine sizes. Total mechanical costs do not include printed parts, machine time, tools, screws, or shipping; for a single robot the listed mechanical components add up to approx. US$179 (or approx. AU$275). Component | Specs | Price (US$)
---|---|---
120 | dowel pins |  $$2\text{\,}\mathrm{m}\mathrm{m}$\times$$10\text{\,}\mathrm{m}\mathrm{m}$, stainless steel | 3.40
240 | MF52 2Z |  $2\times 5\times 2.5$ flanged bearing | 66.00
240 | NBR X-rings | ID $$4.47\text{\,}\mathrm{m}\mathrm{m}$\times$1.78\text{\,}\mathrm{m}\mathrm{m}$$ | 47.00
40 | heat set inserts | M$2\times$4\text{\,}\mathrm{m}\mathrm{m}$\times$3.2\text{\,}\mathrm{m}\mathrm{m}$$ | 1.00
8 | wheel covers |  ${100}\times{100}\times$3.18\text{\,}\mathrm{m}\mathrm{m}$$ 6061-T6 aluminium | 18.00
4 | motor mounts |  $62\times 50\times$7.94\text{\,}\mathrm{m}\mathrm{m}$$ 6061-T651 aluminium | 26.60
4 | wheel chassis, 3D printed | PETG |
Base plate |  $200\times 200\times$3.18\text{\,}\mathrm{m}\mathrm{m}$$ 6061-T6 aluminium | 9.00
Mid plate |  $200\times 200\times$2.03\text{\,}\mathrm{m}\mathrm{m}$$ 6061-T6 aluminium | 8.00
shell, 3D printed | ASA or PETG |
shell top and kicker, 3D printed | PLA-CF |

##  4 Field setup and communication

The official playing area size for SSL Division B is 9 m by 6 m. For practical
and cost saving reasons, we set up a smaller field size of approximately 5 m
by 2.75 m. Our room has a relatively low usable ceiling, of approximately 2.65
m, and the chosen field size allowed us to work with a single camera. As the
surface, we use a DIY polypropylene golf putting carpet from a local hardware
store (US$230 or A$350). We tried multiple cameras: (1) an ELP wide-angle
global shutter camera from AliExpress (114 degrees field of view), for approx
US$90 (A$138), and (2) a StereoLabs Zed 2i camera (120 degrees field-of-view)
for approximately US$500 (A$800). Both cameras work with v4l drivers on
Ubuntu; we tested both at 60Hz, though both also advertise higher supported
frame rates (90Hz and 100Hz, respectively). We decided to use one of the
outputs of the stereo camera for our current setup, as the barrel distortion
for the cheaper AliExpress camera is quite significant, while the outputs from
the Zed camera appear almost undistorted in comparison.

We are planning to experiment with larger field sizes, multiple cameras, and
virtual camera splitters for the stereo output, in order to re-create a more
faithful standard “Division B” setup, as well as to increase quality of the
vision system output.

At present, we use the Raspberry WLAN for communication between robots and
team controller. Earlier version of the MJbots pi3hat featured a spread
spectrum nRF24L01 interface, but unfortunately recent versions of the pi3hat
no longer have this component. To provide more options for communication in
radio-congested environments like RoboCup competitions, we aim to add a
similar transceiver module to the Arduino instead, as one of the next steps.

##  5 Software

At present, the various software modules are the components undergoing most
development in our team. We started development of the team mid May 2023. A
significant fraction of the time that we spent in the 9 months since then went
into team organisation, hardware design, and manufacturing of our robots.
Nevertheless, the software is at a stage where our robots can autonomously
follow or intercept a ball, and avoid obstacles detected by the global vision
system. The software is not yet at a stage where it autonomously follows the
rules of the game, and there is no component that implements a strategy or
coordination between individual robots yet. We do have software modules
running locally on the Raspberry Pis that implement our motor control, and a
first level of team control running on a central machine using radio / WiFi
communication (see also Sec. 4) with the robots. We also implemented
preliminary tools to aid further development of our software. The architecture
we used to record the qualification video is based on an agent-based approach
where behaviours can be replaced on demand. For all our code we used python as
programming language.

###  5.1 Structure

To test and experiment with our hardware, we implemented multiple versions of
motor control on the Raspberry Pis. The purpose of our “motor control” is to
translate requests for a robot velocity into individual motor velocities. As
mentioned earlier, the moteus boards implement different control loops out of
the box, including a velocity control mode. Our motor control needs to set the
desired motor velocities for each of the four motors. Our program receives the
requested robot velocities, calculates the appropriate motor velocities using
the geometry of the robot, and passes these resulting values to the moteus
controllers via CAN bus. Any lower level control is handled by the moteus
controllers and firmware. Our python module also handles communication with
the centralised team controller.

As one of the first tests, we were also able to implement a “remote-control”
mode, where robots instantly follow keyboard commands on a computer connected
via WiFi.

###  5.2 Path Planner

The path planner used in this study implements a Probabilistic Roadmap (PRM)
approach [9], adapted from the open source repository
(https://github.com/KaleabTessera/PRM-Path-Planning). The algorithm consists
of several steps aimed at achieving safe and efficient robot navigation in
dynamic environments. First, a set of $n$ random samples, called milestones,
is generated within the configuration space. These milestones serve as
reference points for constructing a roadmap of feasible paths. A collision
check is then performed to determine the feasibility of these milestones,
ensuring that they do not intersect with obstacles or other robots present in
the environment.

Importantly, the positions of obstacles are extracted from the SSL vision
system and fed into the algorithm. This integration allows the path planner to
dynamically adapt to changes in the environment, ensuring accurate
representation of obstacle positions and facilitating collision-free path
planning. Once collision-free milestones have been identified, the algorithm
proceeds to find the $k$ valid neighbours for each milestone. By connecting
each milestone to its $k$ nearest neighbours, links are generated. These links
are only retained as local paths if they are collision free.

In addition, the algorithm incorporates a critical parameter – the number of
samples used to generate milestones. This parameter plays a key role in
balancing path efficiency and computational overhead. While a higher number of
samples generally leads to more efficient paths by providing a finer
representation of the configuration space, it also leads to increased
computational overhead. To address this trade-off, experiments were conducted
to determine an optimal value for the number of samples. In our
implementation, the use of 10 samples proved to be an effective compromise,
allowing the generation of diverse and collision-free paths while efficiently
managing computational resources.

Finally, Dijkstra’s shortest path algorithm [6] is used to find the shortest
path from the start (acting robot) to the end node (target position, e.g. the
ball) within the PRM graph (see Fig. 5). Our approach is simple and easy to
implement, making it well suited as an initial path planner.

We added code to call the planner only when necessary: if there is an
obstacle-free direct path between current position and target, we remove any
active plan and just move towards the target. If the direct path is
obstructed, and if there is an active plan, we check if we can still reach the
next milestone without running into an obstacle. Only if this is not the case,
we will create a new plan.

Figure 5: Path planner example for a robot moving to the ball with 20 random
milestones. The other robots are seen as obstacles. While the thin lines show
collision free paths between neighbouring milestones, the thick blue lines
show the shortest path.

###  5.3 Trajectory Estimation

For the trajectory estimation of the ball we use a linear regression model. We
use linear regression to predict the trajectory of a moving ball. The system
uses a series of observed ball positions obtained from the SSL vision
software. By fitting a linear regression model to the last few frames of ball
positions, our system estimates the future trajectory of the ball. It then
assesses whether this trajectory intersects with the line along which the
goalkeeper is moving, indicating that the opponent will score. In addition,
the framework provides essential information such as the direction and speed
of the ball’s movement, the intersection of the ball’s trajectory with the
goalkeeper’s trajectory (see Fig. 6), so that the goalkeeper can move into
position to block the ball. Furthermore, the estimated trajectory can be used
by other robots trying to receive a pass or steal the ball.

The main reason for using linear regression for trajectory estimation in our
software is its simplicity and ease of implementation.

(a) Example for a the ball trajectory where the ball does go into the goal.

(b) Example for a ball trajectory where the ball does not go into the goal.

Figure 6: Examples of ball trajectory estimation based on linear regression.

###  5.4 Strategy

In the future, our game will feature a dynamic system where each robot is
assigned a specific role from a pre-defined list at the start of the match. So
far, we implemented a strategic positioning module that keeps track of
different formations and roles the different robots will take. It defines, for
each formation, a dynamically calculated “home” position for each robot,
dependent on ball position and player role. The roles influence how much the
robot position will change with the position of the ball, and also if the
robot will, in general, aim to stay behind the ball. There is also a formation
manager module that can read the different formations from a plain text file.

We ran simulations with our strategic positioning module, but have not tested
on robots yet. It will add an element of strategy to the gameplay, and will
also be useful for setplays. The available roles include the goalkeeper,
though this role is possibly less influenced by the formation than other
players. The goalie will be responsible for guarding the goal area by moving
along a vertical line directly in front of the goal. With our formations and
roles module we can realise different types of defenders, who will be
responsible for intercepting passes and shots towards the goal from the
opposing team; a main attacker, who will focus on scoring goals and passing as
needed; and the attacker’s assistants, who will position themselves to receive
passes from the main attacker and potentially transition into the primary
scoring role themselves. This role allocation mechanism promises to enhance
the tactical dimension of the game, providing players with varied
responsibilities and opportunities for strategic coordination.

##  6 Conclusion

This paper describes our first attempt in qualifying for RoboCup SSL league.
One aim of this report is to give an approximate overview of hardware costs to
establish a new SSL team, with what we believe is a solid but cost-efficient
approach that leverages more off-the-shelf hardware than most other teams.
Teams in Division B have up to 6 robots on the field. With an approximate cost
of US$1,230 (A$1,900) for each of our robots, and US$730 / A$1,150 for the
field setup (excluding a PC to run the vision software), total initial cost
for a team is about US$8,110 (A$12,500). This amount does not include
substitute robots, necessary reserves for replacements of components that
inevitably will get damaged as part of the process, nor tools and other minor
expenses. For our qualification, we have completed two robots (with the
dribbler still work in progress), and an earlier robot prototype with a
plywood base and 3D-printed motor mounts.

With our open-source hardware design and an approach that bypasses some of the
complexity inherent in the designs of more established teams, we aspire to
lower the barriers to entry for the league. This is particularly aimed at
those starting in the league with a smaller emphasis on electronics
engineering. Our strategy emphasises accessibility and educational value. Our
github repositories for our hard- and software are at https://github.com/WSU-
TurtleRabbit.

## Acknowledgements

We extend our gratitude to Pradeshi Khadka for contributions during the early
stages of our project. Additionally, we acknowledge the support provided by
the School of Computer, Data, and Mathematical Sciences for parts of our
hardware. Our thanks also go to the Western Sydney University Robotics,
Automation and Manufacturing (RAM) Club for their administrative support.

## References

  * [1] Almagro, J., Avidano, C., Lindbeck, C., Neiger, J., Olkin, Z., Peterson, E., Stuckey, W., White, M., Woodward, M., Burdell, G.P.: RoboJackets 2019 Team Description Paper. Tech. rep., RoboCup TDP (2019)
  * [2] Andringa, J., Bink, T., Bojkow, B., Bojorge-Alvarez, J.: RoboTeam Twente Extended Team Description Paper for RoboCup 2023. Tech. rep., RoboCup TDP (2023)
  * [3] Ball, D., Wyeth, G., Nuske, S.: A Global Vision System for a Robot Soccer Team. In: Australasian Conference on Robotics and Automation (2004)
  * [4] Bergmann, P., Engelhardt, T., Gareis, E., Hahn, U., Hopf, V., Möser, R., Mutter, F., Schmid, M., Stadler, M., Wendler, A., Wiedmann, M.: ER-Force 2023 Extended Team Description Paper. Tech. rep., RoboCup TDP (2023)
  * [5] Chang, M.M., Browning, B., Wyeth, G.F.: ViperRoos 2000. In: Stone, P., Balch, T., Kraetzschmar, G. (eds.) RoboCup 2000: Robot Soccer World Cup IV. pp. 527–530. Lecture Notes in Computer Science, Springer, Berlin, Heidelberg (2001). https://doi.org/10.1007/3-540-45324-5_78
  * [6] Dijkstra, E.W.: A note on two problems in connexion with graphs. Numerische mathematik 1(1), 269–271 (1959)
  * [7] Howard, A.: MuCows. In: Stone, P., Balch, T., Kraetzschmar, G. (eds.) RoboCup 2000: Robot Soccer World Cup IV. pp. 535–538. Lecture Notes in Computer Science, Springer, Berlin, Heidelberg (2001). https://doi.org/10.1007/3-540-45324-5_80
  * [8] Huang, Z., Wang, Y., Chen, L., Li, J., Chen, Z., Xiong, R.: Mechatronic Design of a Dribbling System for RoboCup Small Size Robot. Tech. Rep. arXiv:1905.09934, arXiv (May 2019), http://arxiv.org/abs/1905.09934
  * [9] Kavraki, L., Svestka, P., Latombe, J.C., Overmars, M.: Probabilistic roadmaps for path planning in high-dimensional configuration spaces. IEEE Transactions on Robotics and Automation 12(4), 566–580 (Aug 1996). https://doi.org/10.1109/70.508439
  * [10] Miyajima, D., Naito, K., Mitsuda, H., Harada, K., Nonoyama, M., Shirai, R., Sato, F., Tanaka, R., Dori, Y., Sugiura, T.: KIKS Extended Team Description for RoboCup 2023. Tech. rep., RoboCup TDP (2023)
  * [11] Pieper, J.: Moteus controller reference manual (2024), https://github.com/mjbots/moteus/blob/main/docs/reference.md
  * [12] Ryll, A., Jut, S.: TIGERs Mannheim – Extended Team Description for RoboCup 2020. Tech. rep., RoboCup TDP (2020)
  * [13] Sato, H., Okamoto, N., Ito, A., Kayaki, S., Nakaaki, S., Nakao, T., Nishimura, Y., Hara, Y., Fujita, K., Yuri, R.: GreenTea 2023 Team Description Paper. Tech. rep., RoboCup TDP (2023)
  * [14] Senthilkumar, A., Sidhu, A., Balamurali, A., Sturn, D., Antoniuk, D., To, D., Muhstaq, F., Crema, F., Bryant, H., Rovner, H., Lew, J., Wakaba, K., Zareian, N., Levy, O., Khan, R., Cao, R., Nedjabat, R., Kong, T., Ajmal, S., Ly, S., Zhou, Y.: 2023 Team Description Paper: UBC Thunderbots. Tech. rep., RoboCup TDP (2023)
  * [15] Wyeth, G., Browning, B., Tews, A.: The UQ RoboRoos Small-Size League Team Description for RoboCup’98. In: Asada, M., Kitano, H. (eds.) RoboCup-98: Robot Soccer World Cup II. pp. 428–433. Lecture Notes in Computer Science, Springer, Berlin, Heidelberg (1999). https://doi.org/10.1007/3-540-48422-1_41