4thKibo-RPC PGManual
4thKibo-RPC PGManual
4thKibo-RPC PGManual
0
Release Date: April 3rd, 2023
List of Changes
All changes to paragraphs, tables, and figures in this document are shown below;
Contents
1. Introduction..................................................................................................................................... 1
2. Setting up your machine ................................................................................................................ 2
2.1. Requirements .......................................................................................................................... 2
2.2. Setting up Android Studio ........................................................................................................ 2
3. Creating your application ............................................................................................................... 4
3.1. Creating an Android project..................................................................................................... 4
3.2. Writing the application ............................................................................................................. 5
3.3. Building your application ......................................................................................................... 7
4. Running your program on the simulator ...................................................................................... 12
4.1. Using the simulator server .................................................................................................... 12
4.2. Login ...................................................................................................................................... 13
4.3. Uploading the APK and running your program ..................................................................... 14
4.4. Checking simulation while running ........................................................................................ 15
4.5. Checking the result ................................................................................................................ 15
4.6. Running on your own machine (optional) ............................................................................. 23
5. Programming tips ......................................................................................................................... 30
5.1. Do NOT write infinite loops.................................................................................................... 30
5.2. Debugging feature for image processing .............................................................................. 31
5.3. Dealing with randomness ...................................................................................................... 31
5.4. About navigation errors ......................................................................................................... 33
5.5. Flashlight ............................................................................................................................... 33
5.6. Error handling ........................................................................................................................ 33
5.7. Attention to computing resources .......................................................................................... 34
5.8. Cautions when irradiating laser ............................................................................................. 35
5.9. Performance of Localization.................................................................................................. 35
5.10. Code review ......................................................................................................................... 37
5.11. Setting the application ID..................................................................................................... 37
5.12. Questions and information exchange ................................................................................. 37
6. Simulator change log ................................................................................................................... 39
7. Game API details ......................................................................................................................... 40
7.1. Method summary ................................................................................................................... 40
7.2. Method details ....................................................................................................................... 41
8. Tips for Astrobee Characteristics ................................................................................................. 47
8.1. Rendering of Astrobee........................................................................................................... 47
8.2. Specification of Astrobee ....................................................................................................... 49
8.3. References of Astrobee ......................................................................................................... 49
Version 1.0
Release Date: April 3rd, 2023
1. Introduction
Let's start programming!
Astrobee can be controlled with an Android application called the Guest Science APK
(GS APK). First, setup your machine to build your application according to the instructions
in Chapter 2. Next, read Chapter 3 and create a GS APK. Then, try running the GS APK in
the simulator environment. Chapter 4 describes how to use the simulator environment.
1
Version 1.0
Release Date: April 3rd, 2023
2.1. Requirements
The machine must meet the following requirements.
64-bit processor
4 GB RAM (8 GB RAM recommended)
Ubuntu 20.04 (64-bit version) ( http://releases.ubuntu.com/20.04/ )
or Windows 10 (64-bit version)
NOTE: If you want to run your program on your own PC, you need 16 GB of RAMand
Ubuntu 20.04. For details, please refer to 4.6. Running on your own machine (optional).
openJDK8
ADB (Android Debug Bridge)
Gradle
2
Version 1.0
Release Date: April 3rd, 2023
3
Version 1.0
Release Date: April 3rd, 2023
1) Download the APK template (Template APK) from the download page on the web
site.
2) Extract the zip file to the directory where you want it.
3) Launch Android Studio.
4) Open the APK template folder with [File] -> [Open].
5) Open [app/java/jp.jaxa.iss.kibo.rpc.defaultapk /YourService.java] in Project view.
6) Write your code in runPlan1 – runPlan3 methods in the YourService.java file.
When you open the APK template folder, the “Android Gradle Plugin Update
Recommended” dialog may appear. However, you must not update the plugin because
of a dependency problem, so select “Don’t remind me again for this project.”
4
Version 1.0
Release Date: April 3rd, 2023
while (true){
// get the list of active target id
List<Integer> list = api.getActiveTargets();
// move to a point
Point point = new Point(10.4d, -10.1d, 4.47d);
Quaternion quaternion = new Quaternion(0f, 0f, 0f, 1f);
api.moveTo(point, quaternion, false);
/* ************************************************ */
/* write your own code and repair the ammonia leak! */
/* ************************************************ */
5
Version 1.0
Release Date: April 3rd, 2023
break;
}
loop_counter++;
if (loop_counter == 2){
break;
}
}
// turn on the front flash light
api.flashlightControlFront(0.05f);
/* ********************************************************** */
/* write your own code to move Astrobee to the goal positiion */
/* ********************************************************** */
You can find methods of the game APIs by using the code completion function of
Android Studio.
Please refer to 7. Game API details for more information and you can download a
sample APK from the download page on the web site.
6
Version 1.0
Release Date: April 3rd, 2023
$ cd <YOUR_APK_PATH>
$ ANDROID_HOME=$HOME/Android/Sdk ./gradlew assembleDebug
3.3.2. On Windows
Please build your application with the following steps.
3.3.3. Change the application ID, APK name and short name (optional)
You can change the application ID (jp.jaxa.iss.kibo.rpc.sampleapk or
jp.jaxa.iss.kibo.rpc.defaultapk by default).
In this step, we change the application ID to “jp.jaxa.iss.kibo.rpc.myteam” and the APK
name/short name to “myteam” with the SampleAPK project.
NOTE: This instruction is for the Final Round. Changing the application ID is not
necessary and not recommended in the Preliminary Round.
NOTE: “jp.jaxa.iss.kibo.rpc” cannot be changed.
7
Version 1.0
Release Date: April 3rd, 2023
4) Click on settings (the gear icon) and deselect [Compact Middle Package].
8
Version 1.0
Release Date: April 3rd, 2023
7) A warning will be displayed, but you want to go ahead and click [Rename Package].
After that, enter theAPKname that you want. (In the picture, we rename as it
“myteam”.)
8) At the bottom of Android Studio, “Refactoring Preview” will be displayed. Here, click
[Do Refactor].
9
Version 1.0
Release Date: April 3rd, 2023
9) Open build.gradle (Module: app) in Gradle Scripts on the left-side of the menu.
Please change the application ID and click [Sync Now].
10) Open strings.xml in app -> src -> main -> res -> values on the left-side of the
menu. Please change the APK name and save it.
11) Open commands.xml in app -> src-> main -> res -> xml on the left-side of the
menu. Please change the value of “shortName” tag and save it. If there is no
“shortName” tag, please add it under the “apkInfo” tag and set your short name.
<shortName>myteam</shortName>
You have successfully changed the application ID in Android Studio. If you want to
change the Android project name and its directory name, follow the following steps.
10
Version 1.0
Release Date: April 3rd, 2023
(1) On Ubuntu
12) Close Android Studio.
13) Please execute the following commands.
cd <YOUR_APK_PATH>
cd ../
mv SampleApk <YOUR_APK_NAME>
cd <YOUR_APK_NAME>
mv SampleApk.iml <YOUR_APK_NAME>.iml
(2) On Windows
12) Close the Android Studio.
13) Please rename a SampleApk folder to <YOUR_APK_NAME> with Windows Explorer.
14) Now rename SampleApk.iml to <YOUR_APK_NAME>.iml in the SampleApk folder with
Windows Explorer.
11
Version 1.0
Release Date: April 3rd, 2023
Also, the veiws of Astrobee’s NavCam and DockCam are different between the
simulator and the real robot. Refer to the image below.
12
Version 1.0
Release Date: April 3rd, 2023
4.2. Login
Access the Kibo-RPC web site ( https://jaxa.krpc.jp/ ) and click “LOGIN.”
On the login page, enter the ID and password for your team’s account, and click the
“LOGIN” button. If you have forgotten your ID, please contact the Kibo-RPC secretariat.
You can reset your password by clicking the “Forgot your Password?” link.
13
Version 1.0
Release Date: April 3rd, 2023
Now, you can access the web simulator from this page.
“Target Pattern” can be selected from “Random” and “Customized”. If you select
Customized, you can specify which targets to activate for each phase.
A simulation may take longer than 20 minutes to run, and it does not need your attention
while it runs. After starting your simulation, you can log out, get a cup of coffee, then go
back to the web site.
When there is a simulation running, the slot displays its original information, and you
cannot run another simulation in the same slot until it finishes.
14
Version 1.0
Release Date: April 3rd, 2023
If you want to stop your simulation, click the “TERMINATE SIMULATION” button. Note
that terminating a simulation loses its game score and output files (such as rosbag and the
Android Emulator’s log).
Enter the password for your remote connection to log in. Now you can use rviz to see
how Astrobee moves in your simulation. This viewer is available until the simulation is
finished.
The viewer displays a real-time simulation in the view-only mode for the simulation
stability. You cannot operate the viewer.
On the result page, you can see the details of your simulation, such as the game time,
laser accuracy, and so on.
15
Version 1.0
Release Date: April 3rd, 2023
16
Version 1.0
Release Date: April 3rd, 2023
17
Version 1.0
Release Date: April 3rd, 2023
{
"Mission Time": { “Mission Time” is the difference
"start": "20230315 203208003", between the “start” time and the
“finish” time.
"finish": "20230315 203656003"
},
"Phases": [
{
"phaseNumber": 1,
"timestamp": "20230315 203223123",
"activeTargets": [1, 2],
"Targets": [
{
"targetId": 1,
"direction": true, “direction” is true if the laser shot is
18
Version 1.0
Release Date: April 3rd, 2023
"targetId": 3,
"direction": true, “direction” is true if the laser shot is
"x": 1.22, on the Target plane.
"y": -3.44, “r” is the distance between the center
of Target and the laser shot.
"r": 4.12,
"timestamp": "20230315 203527123"
},
{
"targetId": 5,
"direction": true,
"x": 1.22,
"y": -3.44,
"r": 4.12,
"timestamp": "20230315 203628123"
}
]
}
],
"Report": {
"arrival": {
“try” is true if you execute
"try": true,
reportMissionCompletion API.
"success": true, “success” is true if you execute
"distance": 3.2 reportMissionCompletion API at the
}, correct position.
"qr": {
"try": true, “success” is true if a report message
paired with QR code content is
"success": true
correct.
}
}, “illegal” is for server internal use.
"illegal": false
}
You can also get a rosbag as a ZIP file by clicking the “DOWNLOAD ROSBAG FILE”
button. The size of this file will be so large that it may take a long time to download it.
In addition, you can save any debug images with saveBitmapImage/saveMatImage API
and download the images by clicking the “DOWNLOAD IMAGE FILES” button.
19
Version 1.0
Release Date: April 3rd, 2023
The “VIEW RESULT” button is the same as the one on the simulation page. Please be
careful when you click the “REMOVE RESULT” button; it removes the output files of the
selected simulation and these results will be lost.
You can play the rosbag (simulation result) at 0.5x – 3x speed with the viewer. You can
change rosbag replay settings and rviz settings. The details are, described in the sections
below.
20
Version 1.0
Release Date: April 3rd, 2023
Type Description
21
Version 1.0
Release Date: April 3rd, 2023
Trajectory [Visualize]->[Trajectory]
KeepInZone/KeepOutZone [Visualize]->[Zones]
NavCam [Sensors]->[NavCam]
DockCam [Sensors]->[DockCam]
HazCam [Sensors]->[HazCam]
22
Version 1.0
Release Date: April 3rd, 2023
4.6.2. Requirements
The following requirements are needed to set up a simulation environment on your
machine.
64-bit processor
16 GB RAM
Ubuntu 20.04 (64-bit version) ( http://releases.ubuntu.com/20.04/ )
Disk: 30GB of free space (SSD is highly recommended)
4.6.3. Overview
The overall procedure is as follows.
1. Installing Docker
2. Building the Kibo-RPC Simulator with Docker
3. Setting Android Emulator to run APK
4. Building the Guest Science Manager APK
5. Setting up the network to connect the Android emulator and the simulator
6. Installing your APK to Android Emulator
7. Launching the simulator and run your APK
i. Launching the Android Emulator
ii.Starting the Kibo-RPC Simulator
iii.Running the Guest Science Manager, GDS Simulator and your APK
23
Version 1.0
Release Date: April 3rd, 2023
kr
Then, logout abd log back in.
For more details, see official instructions:
https://docs.docker.com/engine/install/ubuntu/
https://docs.docker.com/engine/install/linux-postinstall/
The build.sh clones the Astrobee Robot software from GitHub, applies patches of Kibo-
RPC modules and builds docker images.
Once building the docker images is finished, you can launch the simulator.
24
Version 1.0
Release Date: April 3rd, 2023
127.0.0.1 hlp
127.0.0.1 mlp
127.0.0.1 llp
bash run.sh
Type Ctrl+C on the terminal to stop the simulator, and proceed to the next step.
25
Version 1.0
Release Date: April 3rd, 2023
In the Android Virtual Device Manager window, you will see “AstrobeeAndroidSim” in the
list.
Click the Play button in the Action column. If the AVD launches successfully, you will see
the following image.
26
Version 1.0
Release Date: April 3rd, 2023
Execute the following commands to build the Guest Science Manager APK.
cd $ANDROID_PATH/core_apks/guest_science_manager
ANDROID_HOME=$HOME/Android/Sdk ./gradlew assembleDebug
Comment out the previous three lines, add new three lines below and save the hosts
file.
#127.0.0.1 hlp
#127.0.0.1 mlp
#127.0.0.1 llp
10.42.0.36 hlp
10.42.0.35 mlp
10.42.0.34 llp
27
Version 1.0
Release Date: April 3rd, 2023
export ANDROID_PATH=${HOME}/astrobee_android
export EMULATOR=$HOME/Android/Sdk/tools/emulator
export AVD="AstrobeeAndroidSim"
Note that you need to execute the above commands whenever you open a terminal. If
you write these commands in your .bashrc file, you don’t have to execute them.
(3) Setting up the Android network and starting the Android Emulator
Execute the following commands to set up the Android network and launch the Android
Emulator.
cd $ANDROID_PATH/scripts
./launch_emulator.sh -n
cd $ANDROID_PATH/scripts
./launch_emulator.sh -n
In another terminal, execute the following commands to install the Guest Science
Manager APK and your GS APK.
cd $ANDROID_PATH/core_apks/guest_science_manager
adb install -g -r activity/build/outputs/apk/activity-debug.apk
cd <YOUR_APK_PATH>
adb install -g -r app/build/outputs/apk/app-debug.apk
28
Version 1.0
Release Date: April 3rd, 2023
cd $ANDROID_PATH/scripts
./launch_emulator.sh -n
cd ${HOME}/krpc4_simulator
bash run.sh
(3) Running the Guest Science Manager, GDS Simulator and your GS APK
Execute the following commands to start the Guest Science Manager APK and to
launch the GDS simulator.
Note: It’s required to re-execute these commands whenever you re-launch the simulator
or re-install your APK.
ANDROID_PATH/scripts/gs_manager.sh start
29
Version 1.0
Release Date: April 3rd, 2023
5. Programming tips
5.1. Do NOT write infinite loops
You must not write any infinite loops in your code because no one can stop Astrobee
while the loop is executing.
Double check that you use finite loops with a defined counter value, as shown below.
// NG
while(!result.hasSucceeded()){
// do something
}
// OK
final int LOOP_MAX = 5;
int loopCounter = 0;
while(!result.hasSucceeded() && loopCounter < LOOP_MAX){
// do something
++loopCounter;
}
30
Version 1.0
Release Date: April 3rd, 2023
If you are running APK on your local machine, the image can be obtained by the
following command.
Up to 50 images can be saved per simulation, and the maximum image size is 1228800
pixels (1280 x 960 px).
// move to point 1
api.moveTo(point1, quaternion1, true);
// move to point 2
api.moveTo(point2, quaternion2, true);
// move to point 3
api.moveTo(point3, quaternion3, true);
31
Version 1.0
Release Date: April 3rd, 2023
However, Astrobee may be faced with errors such as tolerance violations and
collision detection (*), and your code will not work, so you have to provide redundant
code, as we see below.
Remember, Do NOT allow any infinite loops in your code!
* Tolerance violation error occurs when there is a discrepancy between Astrobee’s pose
(estimated) and the target pose. Collision detection occurs when Astrobee’s HazCam
detects any obstacles on the target path. Both errors can occur for a variety of causes
including false detection, especially in the real environment.
Result result;
final int LOOP_MAX = 5;
// retry
result = api.moveTo(point1, quaternion1, true);
++loopCounter;
}
// move to point 2
//…
32
Version 1.0
Release Date: April 3rd, 2023
You have to consider that self-positioning and self-orientation obtained from the APIs
(getRobotKinematics) includes these errors.
5.5. Flashlight
You must consider the effect of light conditions on reading a QR code in the real
environment. Flashlight might help you to improve the reading accuracy. In our past
experiments, the best brightness value was 0.05.
// turn on the front flashlight
api.flashlightControlFront(0.05f);
// you might need some sleep…
Thread.sleep(2000);
// get a camera image
Mat image = api.getMatNavCam();
// turn off the front flashlight
api.flashlightControlFront(0.0f);
33
Version 1.0
Release Date: April 3rd, 2023
If (image == null) {
/** Error handling**/
} else {
readAR(image);
}
Size of list/array: Check the length of list/array when access its element.
List<String> list = getStringList();
// Bad
for (int i=0; i<5; i++) {
// this code cause an exception when the list size is less than 5.
String str = list.get(i);
}
// Good
for (int i=0; i<list.size(); i++) {
String str = list.get(i);
}
34
Version 1.0
Release Date: April 3rd, 2023
For more information, mapped landmark (ML) features coverage heat map is shown in
the figures below.
The localization performance depends on how many ML features NavCam captures.
The heat map represents the number of mapped landmark (ML) features in a volume of 30
㎤ along an imaginary grid on the overhead, aft, forward, deck walls and the front of the
airlock.
The more ML features in a given volume the more stable Astrobee localization will be.
Aft x
y
35
Version 1.0
Release Date: April 3rd, 2023
y
Deck
z
Figure 5-2 ML features on aft wall
y
Deck
z
Figure 5-3 ML features on fwd wall
Aft
x
y
Figure 5-4 ML features on deck wall
36
Version 1.0
Release Date: April 3rd, 2023
Airlock
x
z
x
Figure 5-5 ML features on Airlock
37
Version 1.0
Release Date: April 3rd, 2023
38
Version 1.0
Release Date: April 3rd, 2023
39
Version 1.0
Release Date: April 3rd, 2023
List<Integer> getActiveTargets()
Get the current active target IDs.
Bitmap getBitmapDockCam()
Gets Bitmap image of DockCam.
Bitmap getBitmapNavCam()
Get Bitmap image of NavCam.
double[][] getDockCamIntrinsics()
Get camera matrix and distortion coefficients of DockCam.
Mat getMatDockCam()
Gets Mat image of DockCam.
Mat getMatNavCam()
Gets Mat image of NavCam.
double[][] getNavCamIntrinsics()
Get camera matrix and distortion coefficients of NavCam.
Kinematics getRobotKinematics()
Gets current data related to positioning and orientation for
Astrobee.
List<Long> getTimeRemaining()
Get the remaining time of the currently active phase and the
remaining time of the mission.
40
Version 1.0
Release Date: April 3rd, 2023
void notifyGoingToGoal()
Notice by ROS message that participant is heading to the goal.
boolean startMission()
Astrobee starts counting the mission time.
Gets current data related to positioning and orientation for Astrobee. Note that the data cannot be
trusted when the confidence is POOR or LOST.
Returns:
Current Kinematics.
• getBitmapNavCam
41
Version 1.0
Release Date: April 3rd, 2023
• getBitmapDockCam
• getMatNavCam
• getMatDockCam
• flashlightControlFront
• flashlightControlBack
42
Version 1.0
Release Date: April 3rd, 2023
• moveTo
Moves Astrobee to the given point and rotates it to the given orientation.
Parameters:
goalPoint - Absolute cardinal point (xyz)
orientation - An instance of the Quaternion class. You may want to use
CENTER_US_LAB or CENTER_JEM as an example depending on your initial
position.
printRobotPosition - Flag whether to print robot positions in log or
not.
Returns:
A Result instance carrying data related to the execution. Returns null
if the command is NOT executed because of an error.
• relativeMoveTo
• laserControl
Turns power on/off Laser Pointer. If it is same state as input parameter, nothing happens.
Parameters:
state - Set a laser pointer true:power on / false:power off.
Returns:
A Result instance carrying data related to the execution. Returns null
if the command is NOT executed because of an error
• startMission
43
Version 1.0
Release Date: April 3rd, 2023
Undock Astrobee from docking station. Astrobee then starts counting the mission time.
Returns:
Returns True if the execution is successful. Returns false if the
command is NOT executed because of an error.
• notifyGoingToGoal
• reportMissionCompletion
Parameters:
report - a report message paired with QR code content.
Returns:
Returns True if the execution is successful. Returns false if the
command is NOT executed because of an error.
• takeTargetSnapshot
Take a snapshot of Target. The laser is turned off at the end of this API.
Parameters:
targetId - Target ID to take snapshot
• getNavCamIntrinsics
Get camera matrix and distortion coefficients of NavCam. Different values are returned on orbit and in
the simulator. *The parameter values are different between the simulator and real Astrobee in the ISS as
shown below. Therefore this API returns different value depending on whether the APK is running on
simulator or on real Astrobee.
Returns:
Array of camera parameters [camera matrix, distortion coefficients] for
NavCam. The array of the camera matrix and distortion coefficients is
as follows.
・Simulator
44
Version 1.0
Release Date: April 3rd, 2023
・Real Astrobee
Camera matrix: [ 608.8073, 0.0, 632.53684, 0.0, 607.61439, 549.08386, 0.0, 0.0, 1.0 ]
Distortion coefficients: [ -0.212191, 0.073843, -0.000918, 0.001890, 0.0 ]
• getDockCamIntrinsics
Get camera matrix and distortion coefficients of DockCam. Different values are returned on orbit and in
the simulator. *The parameter values are different between the simulator and real Astrobee in the ISS as
shown below. Therefore this API returns different value depending on whether the APK is running on
simulator or on real Astrobee.
Returns:
Array of camera parameters [camera matrix, distortion coefficients] for
DockCam. The array of the camera matrix and distortion coefficients is
as follows.
・Simulator
・Real Astrobee
Camera matrix: [ 753.51021, 0.0, 631.11512, 0.0, 751.3611, 508.69621, 0.0, 0.0, 1.0 ]
Distortion coefficients: [ -0.411405, 0.177240, -0.017145, 0.006421, 0.000000 ]
• saveBitmapImage
Save a bitmap image for debug. The maximum pixel size of an image is 1228800 (height x width) and up
to 50 images can be saved per simulation. The image is saved in Android Emulator (/sdcard/data/) as a
png file and can be download on the dashboard display.
Parameters:
image - Bitmap Images to save.
imageName - string Image name to save.
• saveMatImage
45
Version 1.0
Release Date: April 3rd, 2023
Save a mat image for debug. The maximum pixel size of an image is 1228800 (height x width) and up to
50 images can be saved per simulation. The image is saved in Android Emulator (/sdcard/data/) as a png
file and can be download on the dashboard display.
Parameters:
image - Mat Images to save.
imageName - string Image name to save.
• getTimeRemaining
Get the remaining time of the currently active phase and the remaining time of the mission.
Returns:
Active Time left and Mission Time left.
(0): Remaining milliseconds of Active Time.
(1): Remaining milliseconds of Mission Time.
• getActiveTargets
Type URL
gov.nasa.arc.astrobee https://github.com/nasa/astrobee_android/blob/a8560ab0270
.Kinematis ac281d8eadeb48645f4224582985e/astrobee_api/api/src/mai
n/java/gov/nasa/arc/astrobee/Kinematics.java
gov.nasa.arc.astrobee https://github.com/nasa/astrobee_android/blob/a8560ab0270
.Result ac281d8eadeb48645f4224582985e/astrobee_api/api/src/mai
n/java/gov/nasa/arc/astrobee/Result.java
gov.nasa.arc.astrobee https://github.com/nasa/astrobee_android/blob/a8560ab0270
.types.Vec3d ac281d8eadeb48645f4224582985e/astrobee_api/api/src/mai
n/java/gov/nasa/arc/astrobee/types/Vec3d.java
gov.nasa.arc.astrobee https://github.com/nasa/astrobee_android/blob/a8560ab
.types.Quaternion 0270ac281d8eadeb48645f4224582985e/astrobee_api/a
46
Version 1.0
Release Date: April 3rd, 2023
Type URL
pi/src/main/java/gov/nasa/arc/astrobee/types/Quaternio
n.java
gov.nasa.arc.astrobee https://github.com/nasa/astrobee_android/blob/a8560ab0270
.types.Point ac281d8eadeb48645f4224582985e/astrobee_api/api/src/mai
n/java/gov/nasa/arc/astrobee/types/Point.java
47
Version 1.0
Release Date: April 3rd, 2023
Figures and tables below show the positions of the hardware components.
48
Version 1.0
Release Date: April 3rd, 2023
49