{"id":13656,"date":"2026-10-19T14:50:43","date_gmt":"2026-10-19T18:50:43","guid":{"rendered":"https:\/\/blogs.mathworks.com\/student-lounge\/?p=13656"},"modified":"2026-10-19T14:50:43","modified_gmt":"2026-10-19T18:50:43","slug":"from-simulation-to-reality-how-uos-robotics-won-the-robocup-arm-challenge-2026","status":"publish","type":"post","link":"https:\/\/blogs.mathworks.com\/student-lounge\/2026\/10\/19\/from-simulation-to-reality-how-uos-robotics-won-the-robocup-arm-challenge-2026\/","title":{"rendered":"From Simulation to Reality: How UOS Robotics Won the RoboCup ARM Challenge 2026"},"content":{"rendered":"<div class=\"rtcContent\">\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">UOS Robotics from the University of Seoul returned to the RoboCup ARM Challenge in 2026 after winning titles in 2022 and 2023. With RoboCup 2026 held in Incheon, South Korea, the team took first place in the global simulation round and went on to win the on-site final on home soil. Today&#8217;s blog highlights the engineering work behind this success: bringing perception, planning, and control algorithms from a virtual environment to a real Universal Robot.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"imageNode\" style=\"vertical-align: baseline; width: 478px; height: 317px;\" src=\"https:\/\/blogs.mathworks.com\/student-lounge\/files\/2026\/10\/26oct19_1.png\" alt=\"UOS Robotics team members and event representatives at the RoboCup 2026 ARM Challenge awards presentation.\" width=\"478\" height=\"317\" \/><\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: center;\"><span style=\"font-style: italic;\">Figure 1. UOS Robotics celebrates its ARM Challenge victory at RoboCup 2026 in Incheon, South Korea.<\/span><\/div>\n<h2 style=\"margin: 3px 10px 5px 4px; padding: 0px; line-height: 25px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 20px; font-weight: bold; text-align: left;\">Meet the Team and the RoboCup ARM Challenge<\/h2>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">The <a href=\"https:\/\/arm.robocup.org\/\" target=\"_blank\" rel=\"noopener\">RoboCup Autonomous Robot Manipulation (ARM) Challenge<\/a> brings together student teams and young researchers from around the world to tackle autonomous robotic manipulation. Robots must recognize objects, generate grasp poses, and pick-and-place them as their positions and orientations change\u2014all without human intervention. The 2026 challenge centers on a recycling task involving objects of different shapes and colors, including bottles and cans.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">A successful ARM challenge solution requires perception, planning, and control to work together as one reliable system. The competition serves as a comprehensive test of end-to-end robotics development and system integration, challenging teams to integrate these components and take their solutions from simulation to physical hardware.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">The competition has two rounds. In <span style=\"font-weight: bold;\">Round One, the global simulation challenge<\/span>, teams develop and test their perception, planning, and control algorithms in a photorealistic 3D environment provided by MathWorks using <a href=\"https:\/\/www.mathworks.com\/products\/3d-animation.html\">Simulink 3D Animation<\/a>. They submit their code and a demonstration video for evaluation. In 2026, 259 teams registered for the simulation round, and 27 teams developed and submitted working solutions. The simulation round provides an excellent opportunity to practice robotic manipulation skills without hardware constraints and allow teams to simulate and test their algorithms before moving to the physical robot.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">The top qualifying teams advance to <span style=\"font-weight: bold;\">Round Two, the on-site final<\/span>, where they demonstrate their solutions on a physical UR5e robot from <a href=\"https:\/\/www.universal-robots.com\/products\/e-series\/\" target=\"_blank\" rel=\"noopener\">Universal Robots<\/a>. UOS Robotics was one of five teams in the 2026 final, bringing a complete workflow that integrated deep-learning-based perception and grasp generation with robot control using <a href=\"https:\/\/www.mathworks.com\/help\/robotics\/urseries-spkg.html?s_tid=CRUX_lftnav\">Robotics System Toolbox\u2122 Support Package for Universal Robots Series Manipulators<\/a>.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"imageNode\" style=\"vertical-align: baseline; width: 300px; height: 546px;\" src=\"https:\/\/blogs.mathworks.com\/student-lounge\/files\/2026\/10\/26oct19_2.gif\" alt=\"RoboCup 2026 ARM Challenge event montage showing robot manipulation demonstrations and the competition area.\" width=\"300\" height=\"546\" \/><\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: center;\"><span style=\"font-style: italic;\">Figure 2. <\/span><a href=\"https:\/\/www.instagram.com\/p\/DaVWaTyAWUM\/\">The reel<\/a><span style=\"font-style: italic;\"> from the RoboCup 2026 ARM Challenge.<\/span><\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">Let&#8217;s take a closer look at how the UOS Robotics team built its simulation solution, adapted it for the physical UR5e, and prepared for the on-site final. <span style=\"font-style: italic;\">Over to the team<\/span>.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">We are UOS Robotics, a team of graduate and undergraduate students from the Robotics Laboratory in the Department of Mechanical and Information Engineering at the University of Seoul, led by Professor Myun Joong Hwang. Our research interests include robot perception, manipulation, motion planning, and control.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">We joined the ARM challenge because it gave us the opportunity to test our research on a complete physical robot system. In the laboratory, perception, grasp generation, and robot control are often tested independently. This competition required all of these components to work together reliably in a limited amount of time and under changing object configurations.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">Senior members of our lab won the championship in both 2022 and 2023. We missed the 2024 and 2025 competitions due to scheduling issues, but we made it a point to return in 2026 because the final was being held in South Korea.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">For us, the challenge was also an opportunity to gain experience building an end-to-end robotic system. Our goal was to develop a UR5e-based autonomous sorting system that could detect objects, generate suitable grasp poses, and place each object into its designated bin. In order to achieve this, we needed to integrate deep-learning models, RGB-D image processing, coordinate transformations, inverse kinematics, and robot communication and gripper control into one single workflow.<\/div>\n<h2 style=\"margin: 3px 10px 5px 4px; padding: 0px; line-height: 25px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 20px; font-weight: bold; text-align: left;\">Round One: Building a Winning Simulation Solution<\/h2>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">Let&#8217;s break down the challenge. The task was to sort multiple objects placed randomly in the robot workspace. Their positions and orientations were not known in advance, so the grasping part of the task could not rely on fixed robot trajectories.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">The robot first had to understand the scene from an RGB-D image. It needed to distinguish individual objects even when they were close together or partially occluded. Once an object was detected, the robot had to generate a grasp pose that was not only geometrically feasible but also reachable and stable for the robot.<\/div>\n<h3 style=\"margin: 15px 10px 5px 4px; padding: 0px; line-height: 20.4px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 17px; font-weight: bold; text-align: left;\">Bringing the Components Together<\/h3>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">We used <a href=\"https:\/\/www.mathworks.com\/products\/matlab.html\">MATLAB<\/a> as the main integration environment for the complete workflow. The YOLO segmentation model and the conditional flow matching-based grasp-generation model were first trained in PyTorch. Then we exported both models in ONNX format and imported them into MATLAB for inference, using <a href=\"https:\/\/www.mathworks.com\/products\/deep-learning.html\">Deep Learning Toolbox\u2122<\/a> and <a href=\"https:\/\/www.mathworks.com\/products\/deep-learning\/converter-onnx.html\">the Deep Learning Toolbox Converter for ONNX Model Format<\/a>.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">MATLAB enabled us to use our trained neural networks while connecting them directly to the remaining robotics pipeline. MATLAB enables us to process the model outputs, calculate robot configurations, and send the resulting commands within one environment.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"imageNode\" style=\"vertical-align: baseline; width: 512px; height: 288px;\" src=\"https:\/\/blogs.mathworks.com\/student-lounge\/files\/2026\/10\/26oct19_3.png\" alt=\"System diagram showing PyTorch training, ONNX model transfer, MATLAB inference, grasp selection, and robot control.\" width=\"512\" height=\"288\" \/><\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: center;\"><span style=\"font-style: italic;\">Figure 3. The team&#8217;s overall learning, inference, and control workflow.<\/span><\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">We divided the problem into three main stages: object perception, grasp generation, and robot execution.<\/div>\n<h3 style=\"margin: 15px 10px 5px 4px; padding: 0px; line-height: 20.4px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 17px; font-weight: bold; text-align: left;\">Stage 1: Finding the Target Object<\/h3>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">The robot began each cycle by moving to an observation pose. The robot captured an RGB-D image and the YOLO model was used to identify individual objects and generate an instance mask for each detected object. Using the segmentation mask, we cropped a square region centered on the target object from the RGB and depth images. Invalid depth measurements were filtered out before this cropped observation was passed to the grasp-generation model.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"imageNode\" style=\"vertical-align: baseline; width: 600px; height: 183px;\" src=\"https:\/\/blogs.mathworks.com\/student-lounge\/files\/2026\/10\/26oct19_4.png\" alt=\"Stage 1 diagram showing an RGB image, YOLO instance segmentation, and target-image preparation.\" width=\"600\" height=\"183\" \/><\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: center;\"><span style=\"font-style: italic;\">Figure 4. Object perception identifies the target and produces a segmentation mask.<\/span><\/div>\n<h3 style=\"margin: 15px 10px 5px 4px; padding: 0px; line-height: 20.4px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 17px; font-weight: bold; text-align: left;\">Stage 2: Generating Possible Grasps<\/h3>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">A single object can have several suitable grasp poses. We used an implementation based on <a href=\"https:\/\/github.com\/atong01\/conditional-flow-matching\" target=\"_blank\" rel=\"noopener\">the TorchCFM library<\/a> to generate multiple candidates rather than predict a single deterministic pose. Each grasp pose describes where the gripper should be positioned and how it should be oriented in three-dimensional space. Our simulation configuration generated 64 candidates at each grasp-generation attempt. Producing several options gave the next stage a choice when a candidate was obstructed or could not pass the robot&#8217;s inverse-kinematics checks.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"imageNode\" style=\"vertical-align: baseline; width: 600px; height: 197px;\" src=\"https:\/\/blogs.mathworks.com\/student-lounge\/files\/2026\/10\/26oct19_5.png\" alt=\"Stage 2 diagram showing encoded observation features conditioning a vector field network that transforms noise into multiple grasp poses.\" width=\"600\" height=\"197\" \/><\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: center;\"><span style=\"font-style: italic;\">Figure 5. Conditional flow matching generates candidate gripper poses for the selected object.<\/span><\/div>\n<h3 style=\"margin: 15px 10px 5px 4px; padding: 0px; line-height: 20.4px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 17px; font-weight: bold; text-align: left;\">Stage 3: From Grasp Candidates to Robot Motion<\/h3>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">Not every generated candidate was suitable for execution. We filtered out candidates that could lead to unintended collisions. The remaining candidates were scored according to geometric criteria, including proximity to the object center and approach direction, and the highest-scoring feasible grasp was selected. In the competition environment, near-vertical, top-down grasps were often more reliable because they reduced the chance of contacting nearby objects.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"imageNode\" style=\"vertical-align: baseline; width: 600px; height: 146px;\" src=\"https:\/\/blogs.mathworks.com\/student-lounge\/files\/2026\/10\/26oct19_6.png\" alt=\"Three-panel visualization of grasp generation, local collision filtering, and scoring, with the selected candidate highlighted in blue.\" width=\"600\" height=\"146\" \/><\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: center;\"><span style=\"font-style: italic;\">Figure 6. Generated grasps are screened and ranked before robot execution.<\/span><\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">The generated grasp poses were initially expressed in the camera coordinate frame. In simulation, we used the camera pose calculated from the robot model and its mounting offset to transform the grasp poses into the robot base frame. We then used <a href=\"https:\/\/www.mathworks.com\/products\/robotics.html\">Robotics System Toolbox<\/a> to solve inverse kinematics for both a pre-grasp pose and the grasp pose, selecting the first ranked candidate that passed both checks.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">We sent joint and gripper commands through ROS 2 to the virtual robot in Simulink using <a href=\"https:\/\/www.mathworks.com\/products\/ros.html\">ROS Toolbox<\/a>. The virtual robot moved to a pre-grasp position, approached the object along the selected grasp direction, and closed the gripper. It then lifted the object vertically, moved to the destination bin, and opened the gripper. The provided simulation model handled object attachment and release through its gripper-contact logic.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"imageNode\" style=\"vertical-align: baseline; width: 600px; height: 244px;\" src=\"https:\/\/blogs.mathworks.com\/student-lounge\/files\/2026\/10\/26oct19_7.png\" alt=\"Stage 3 simulation workflow showing model-derived camera transformation, inverse kinematics, and robot commands sent from MATLAB through ROS 2 to Simulink.\" width=\"600\" height=\"244\" \/><\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: center;\"><span style=\"font-style: italic;\">Figure 7. Stage 3 in the simulation round.<\/span><\/div>\n<h3 style=\"margin: 15px 10px 5px 4px; padding: 0px; line-height: 20.4px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 17px; font-weight: bold; text-align: left;\">Testing the Complete Simulation Workflow<\/h3>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">Our staged workflow structure made the system easier to debug. When a failure occurred, we could determine whether it came from segmentation, grasp generation, coordinate transformation, inverse kinematics, robot motion, or gripper operation.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">Simulation allowed us to validate the overall task logic repeatedly before testing it on the physical robot. We could verify the perception-to-grasp pipeline, inspect generated grasp poses, and test the sequence of robot motions without the risk of collisions or hardware damage. This made it possible to iterate more quickly on the overall system structure before the final challenge.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">Watch our simulation-round demonstrations below and download our code for the simulation round <a href=\"https:\/\/drive.google.com\/drive\/folders\/1qvE37oyN71v5GAUXhRzV9OGT69Yr52FE?usp=drive_link\">here<\/a>.<\/div>\n<ul style=\"margin: 10px 0px 20px; padding-left: 0px; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-size: 14px;\">\n<li style=\"margin-left: 56px; line-height: 21px; min-height: 0px; text-align: left; white-space: pre-wrap;\"><a href=\"https:\/\/www.youtube.com\/watch?v=EVkDVilW4Xw\">RoboCup 2026 ARM Challenge (Simulation, Env 1)<\/a><\/li>\n<li style=\"margin-left: 56px; line-height: 21px; min-height: 0px; text-align: left; white-space: pre-wrap;\"><a href=\"https:\/\/www.youtube.com\/watch?v=6yfTP2o7mrk\">RoboCup 2026 ARM Challenge (Simulation, Env 2)<\/a><\/li>\n<\/ul>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">We took first place in the simulation round and earned a place in the on-site final. The next step was to bring the workflow to the physical UR5e.<\/div>\n<h2 style=\"margin: 3px 10px 5px 4px; padding: 0px; line-height: 25px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 20px; font-weight: bold; text-align: left;\">From Simulation to the Physical Robot<\/h2>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">Successful behavior in simulation did not directly guarantee success on the physical robot. In the real environment, RGB-D noise, calibration errors, uncertain object placement, and physical contact introduced additional failure modes. Inverse-kinematics and motion constraints also remained important when moving from the model to the actual setup. A good segmentation result could still lead to a failed grasp, and a promising grasp candidate could still fail because of calibration error, inverse-kinematics limitations, or unstable robot motion.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">We therefore combined the learned grasp model with practical filtering and staged robot motions, and tested the components again on the physical UR5e. To improve reliability, we added several practical checks between grasp generation and robot execution. We first removed grasp candidates that were likely to collide with the object or surrounding scene, and then scored the remaining candidates according to their distance from the object center and their approach direction. We also separated the motion into pre-grasp, vertical approach, grasp, lift, and transfer stages. This staged motion structure made it easier to identify and debug errors at each step of the robot execution.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"imageNode\" style=\"vertical-align: baseline; width: 600px; height: 279px;\" src=\"https:\/\/blogs.mathworks.com\/student-lounge\/files\/2026\/10\/26oct19_8.png\" alt=\"Side-by-side views of the virtual manipulation workspace and the physical UR5e competition setup.\" width=\"600\" height=\"279\" \/><\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: center;\"><span style=\"font-style: italic;\">Figure 8. The simulation environment and physical competition setup.<\/span><\/div>\n<h3 style=\"margin: 15px 10px 5px 4px; padding: 0px; line-height: 20.4px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 17px; font-weight: bold; text-align: left;\">Connecting Camera Coordinates to the Robot<\/h3>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">As we mentioned earlier, the selected grasp was initially expressed relative to the camera. Using the camera-to-robot calibration result, we transformed it into the UR5e base frame. We then used <a href=\"https:\/\/www.mathworks.com\/products\/robotics.html\">Robotics System Toolbox<\/a> to calculate a robot configuration through inverse kinematics.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">This step mattered because the camera and robot described positions from different reference frames. The camera-to-robot transform established the relationship between them. A transform available from a simulation model could not replace checking that relationship on the physical setup.<\/div>\n<h3 style=\"margin: 15px 10px 5px 4px; padding: 0px; line-height: 20.4px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 17px; font-weight: bold; text-align: left;\">Direct UR Remote Control with MATLAB<\/h3>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">MATLAB was also where we issued commands to the physical UR5e. After processing the camera data and calculating the desired robot configuration, we sent the arm and gripper commands through <a href=\"https:\/\/www.mathworks.com\/help\/robotics\/get-started-urseries-rtde.html\">the Real-Time Data Exchange (RTDE) Connectivity Interface<\/a>. Direct remote control from MATLAB kept perception, grasp selection, and the task sequence connected within our program, while the robot controller executed the requested motions.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"imageNode\" style=\"vertical-align: baseline; width: 600px; height: 238px;\" src=\"https:\/\/blogs.mathworks.com\/student-lounge\/files\/2026\/10\/26oct19_9.png\" alt=\"Physical workflow connecting RGB-D observations, MATLAB grasp selection, calibrated coordinate transformation, inverse kinematics, and task sequencing to the UR5e through the robot communication interface.\" width=\"600\" height=\"238\" \/><\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: center;\"><span style=\"font-style: italic;\">Figure 9. From perception to physical robot execution.<\/span><\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">Another advantage of MATLAB was its visualization capability. We could inspect segmentation results, preprocessed depth data, and generated grasp candidates, which helped us detect errors before executing motion on the physical robot. Seeing these intermediate results alongside the robot calculations helped us understand how an error in one stage affected the next.<\/div>\n<h2 style=\"margin: 3px 10px 5px 4px; padding: 0px; line-height: 25px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 20px; font-weight: bold; text-align: left;\">Round Two: Winning on Home Soil<\/h2>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">During the competition, the robot autonomously observed the workspace, detected objects, generated grasp candidates, selected a suitable grasp, picked up the object, and placed it into the designated bin.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">For us, the most important result was not just the final ranking. The competition showed how our learning-based models could be integrated into a complete physical robot system. It also gave us experience identifying and solving system-level problems that were difficult to observe in isolated laboratory tests.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\"><a href=\"https:\/\/www.youtube.com\/watch?v=lr7dUQcEaEo\">Watch UOS Robotics in the RoboCup 2026 Final<\/a><\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"imageNode\" style=\"vertical-align: baseline; width: 480px; height: 356px;\" src=\"https:\/\/blogs.mathworks.com\/student-lounge\/files\/2026\/10\/26oct19_10.gif\" alt=\"UOS Robotics team members watching the physical UR5e operate at the RoboCup 2026 ARM Challenge.\" width=\"480\" height=\"356\" \/><\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: center;\"><span style=\"font-style: italic;\">Figure 10. UOS Robotics monitors the UR5e during the on-site competition.<\/span><\/div>\n<h2 style=\"margin: 3px 10px 5px 4px; padding: 0px; line-height: 25px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 20px; font-weight: bold; text-align: left;\">What the Team Learned\u2014and What Comes Next<\/h2>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">Our main takeaway was that a successful robotic manipulation system depends on more than the accuracy of an individual neural network. Perception, grasp generation, coordinate transformation, inverse kinematics, robot motion, and gripper operation all need to work together. Even a small error in one stage can affect the entire task.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">MATLAB was useful because it provided a common environment for integrating these different components. We could import ONNX models, process RGB-D images, calculate robot poses, solve inverse kinematics, and control the UR5e.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">We also learned that simple and understandable strategies can be effective in a real robot system. We used predefined observation poses, preferred centered and downward-facing grasps, and separated the motion into clear stages. We also considered the order in which objects were handled to reduce occlusion and keep the remaining objects accessible.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">In future work, we plan to improve collision checking, grasp-candidate evaluation, and recovery behavior after failed detections or grasps.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">Finally, the competition emphasized the importance of teamwork. Different members worked on perception, grasp generation, robot control, testing, and competition strategy. Frequent communication was essential because changes in one part of the pipeline often affected the others.<\/div>\n<\/div>\n<p><script type=\"text\/javascript\">var css = ''; var head = document.head || document.getElementsByTagName('head')[0], style = document.createElement('style'); head.appendChild(style); style.type = 'text\/css'; if (style.styleSheet){ style.styleSheet.cssText = css; } else { style.appendChild(document.createTextNode(css)); }<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"overview-image\"><img src=\"https:\/\/blogs.mathworks.com\/student-lounge\/files\/2026\/10\/uos-robotics-sim-to-real-short.gif\" class=\"img-responsive attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"\" decoding=\"async\" loading=\"lazy\" \/><\/div>\n<p>\nUOS Robotics from the University of Seoul returned to the RoboCup ARM Challenge in 2026 after winning titles in 2022 and 2023. With RoboCup 2026 held in Incheon, South Korea, the team took first&#8230; <a class=\"read-more\" href=\"https:\/\/blogs.mathworks.com\/student-lounge\/2026\/10\/19\/from-simulation-to-reality-how-uos-robotics-won-the-robocup-arm-challenge-2026\/\">read more >><\/a><\/p>\n","protected":false},"author":183,"featured_media":13660,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14],"tags":[813],"class_list":["post-13656","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-robotics","tag-robotic-manipulation"],"_links":{"self":[{"href":"https:\/\/blogs.mathworks.com\/student-lounge\/wp-json\/wp\/v2\/posts\/13656","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.mathworks.com\/student-lounge\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.mathworks.com\/student-lounge\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/student-lounge\/wp-json\/wp\/v2\/users\/183"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/student-lounge\/wp-json\/wp\/v2\/comments?post=13656"}],"version-history":[{"count":2,"href":"https:\/\/blogs.mathworks.com\/student-lounge\/wp-json\/wp\/v2\/posts\/13656\/revisions"}],"predecessor-version":[{"id":13662,"href":"https:\/\/blogs.mathworks.com\/student-lounge\/wp-json\/wp\/v2\/posts\/13656\/revisions\/13662"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/student-lounge\/wp-json\/wp\/v2\/media\/13660"}],"wp:attachment":[{"href":"https:\/\/blogs.mathworks.com\/student-lounge\/wp-json\/wp\/v2\/media?parent=13656"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.mathworks.com\/student-lounge\/wp-json\/wp\/v2\/categories?post=13656"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.mathworks.com\/student-lounge\/wp-json\/wp\/v2\/tags?post=13656"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}