FreshRSS

Normální zobrazení

Jsou dostupné nové články, klikněte pro obnovení stránky.
PředevčíremHlavní kanál
  • ✇IEEE Spectrum
  • The Engineer Who Pins Down the Particles at the LHCEdd Gent
    The Large Hadron Collider has transformed our understanding of physics since it began operating in 2008, enabling researchers to investigate the fundamental building blocks of the universe. Some 100 meters below the border between France and Switzerland, particles accelerate along the LHC’s 27-kilometer circumference, nearly reaching the speed of light before smashing together. The LHC is often described as the biggest machine ever built. And while the physicists who carry out experiments
     

The Engineer Who Pins Down the Particles at the LHC

Od: Edd Gent
26. Červenec 2024 v 15:00


The Large Hadron Collider has transformed our understanding of physics since it began operating in 2008, enabling researchers to investigate the fundamental building blocks of the universe. Some 100 meters below the border between France and Switzerland, particles accelerate along the LHC’s 27-kilometer circumference, nearly reaching the speed of light before smashing together.

The LHC is often described as the biggest machine ever built. And while the physicists who carry out experiments at the facility tend to garner most of the attention, it takes hundreds of engineers and technicians to keep the LHC running. One such engineer is Irene Degl’Innocenti, who works in digital electronics at the European Organization for Nuclear Research (CERN), which operates the LHC. As a member of CERN’s beam instrumentation group, Degl’Innocenti creates custom electronics that measure the position of the particle beams as they travel.

Irene Degl’Innocenti


Employer:

CERN

Occupation:

Digital electronics engineer

Education:

Bachelor’s and master’s degrees in electrical engineering; Ph.D. in electrical, electronics, and communications engineering, University of Pisa, in Italy

“It’s a huge machine that does very challenging things, so the amount of expertise needed is vast,” Degl’Innocenti says.

The electronics she works on make up only a tiny part of the overall operation, something Degl’Innocenti is keenly aware of when she descends into the LHC’s cavernous tunnels to install or test her equipment. But she gets great satisfaction from working on such an important endeavor.

“You’re part of something that is very huge,” she says. “You feel part of this big community trying to understand what is actually going on in the universe, and that is very fascinating.”

Opportunities to Work in High-energy Physics

Growing up in Italy, Degl’Innocenti wanted to be a novelist. Throughout high school she leaned toward the humanities, but she had a natural affinity for math, thanks in part to her mother, who is a science teacher.

“I’m a very analytical person, and that has always been part of my mind-set, but I just didn’t find math charming when I was little,” Degl’Innocenti says. “It took a while to realize the opportunities it could open up.”

She started exploring electronics around age 17 because it seemed like the most direct way to translate her logical, mathematical way of thinking into a career. In 2011, she enrolled in the University of Pisa, in Italy, earning a bachelor’s degree in electrical engineering in 2014 and staying on to earn a master’s degree in the same subject.

At the time, Degl’Innocenti had no idea there were opportunities for engineers to work in high-energy physics. But she learned that a fellow student had attended a summer internship at Fermilab, the participle physics and accelerator laboratory in Batavia, Ill. So she applied for and won an internship there in 2015. Since Fermilab and CERN closely collaborate, she was able to help design a data-processing board for LHC’s Compact Muon Solenoid experiment.

Next she looked for an internship closer to home and discovered CERN’s technical student program, which allows students to work on a project over the course of a year. Working in the beam-instrumentation group, Degl’Innocenti designed a digital-acquisition system that became the basis for her master’s thesis.

Measuring the Position of Particle Beams

After receiving her master’s in 2017, Degl’Innocenti went on to pursue a Ph.D., also at the University of Pisa. She conducted her research at CERN’s beam-position section, which builds equipment to measure the position of particle beams within CERN’s accelerator complex. The LHC has roughly 1,000 monitors spaced around the accelerator ring. Each monitor typically consists of two pairs of sensors positioned on opposite sides of the accelerator pipe, and it is possible to measure the beam’s horizontal and vertical positions by comparing the strength of the signal at each sensor.

The underlying concept is simple, Degl’Innocenti says, but these measurements must be precise. Bunches of particles pass through the monitors every 25 nanoseconds, and their position must be tracked to within 50 micrometers.

“We start developing a system years in advance, and then it has to work for a couple of decades.”

Most of the signal processing is normally done in analog, but during her Ph.D., she focused on shifting as much of this work as possible to the digital domain because analog circuits are finicky, she says. They need to be precisely calibrated, and their accuracy tends to drift over time or when temperatures fluctuate.

“It’s complex to maintain,” she says. “It becomes particularly tricky when you have 1,000 monitors, and they are located in an accelerator 100 meters underground.”

Information is lost when analog is converted to digital, however, so Degl’Innocenti analyzed the performance of the latest analog-to-digital converters (ADCs) and investigated their effect on position measurements.

Designing Beam-Monitor Electronics

After completing her Ph.D. in electrical, electronics, and communications engineering in 2021, Degl’Innocenti joined CERN as a senior postdoctoral fellow. Two years later, she became a full-time employee there, applying the results of her research to developing new hardware. She’s currently designing a new beam-position monitor for the High-Luminosity upgrade to the LHC, expected to be completed in 2028. This new system will likely use a system-on-chip to house most of the electronics, including several ADCs and a field-programmable gate array (FPGA) that Degl’Innocenti will program to run a new digital signal-processing algorithm.

She’s part of a team of just 15 who handle design, implementation, and ongoing maintenance of CERN’s beam-position monitors. So she works closely with the engineers who design sensors and software for those instruments and the physicists who operate the accelerator and set the instruments’ requirements.

“We start developing a system years in advance, and then it has to work for a couple of decades,” Degl’Innocenti says.

Opportunities in High-Energy Physics

High-energy physics has a variety of interesting opportunities for engineers, Degl’Innocenti says, including high-precision electronics, vacuum systems, and cryogenics.

“The machines are very large and very complex, but we are looking at very small things,” she says. “There are a lot of big numbers involved both at the large scale and also when it comes to precision on the small scale.”

FPGA design skills are in high demand at all kinds of research facilities, and embedded systems are also becoming more important, Degl’Innocenti says. The key is keeping an open mind about where to apply your engineering knowledge, she says. She never thought there would be opportunities for people with her skill set at CERN.

“Always check what technologies are being used,” she advises. “Don’t limit yourself by assuming that working somewhere would not be possible.”

This article appears in the August 2024 print issue as “Irene Degl’Innocenti.”

Setting a meshcollider's sharedmesh to a mesh which has been generated directly on the GPU gives "Failed extracting collision mesh"

I've been attempting to modify this example project https://github.com/keijiro/ComputeMarchingCubes

I'm trying to repurpose it to build terrain. After the Update() method in Assets/NoiseField/NoiseFieldVisualizer.cs I want to set a MeshCollider's sharedMesh to use the mesh that's been generated.

All I've done is add a line after the mesh is set:

GetComponent<MeshCollider>().sharedMesh = GetComponent<MeshFilter>().sharedMesh;

Currently I get an error:

Failed extracting collision mesh because vertex at index 2817 contains a non-finite value (0.000000, -nan, 1.000000). Mesh asset path "" Mesh name ""

When I iterate over sharedMesh.vertices and log them to console, I get either (0, 0, 0) or (-431602100.00, -431602100.00, -431602100.00) for each vertex value. Presumably because the values haven't been sent back to the CPU?

I have mesh cleaning enabled for the MeshCollider.

Is it possible to generate a mesh collider with a GPU-only mesh? Preferably without transferring the points back to the CPU.

  • ✇Recent Questions - Game Development Stack Exchange
  • How to match Sprite3D's collision poly to its billboard transform?Noideas
    Assume there is a Sprite3D with a Y- billboard flag on. This sprite3D has a matching CollisionPolygon3D Collision polygon3D is set up to "look" at the camera with a look_at() function, similar to the Y-billboard. However, the collision poly and the sprite3D do not match at non-orthogonal angles: (Angle to the camera is about 45deg) I understand that Y-billboard flag achieves the "look at the camera" effect with a shader, while look_at() is a spacial matrix transform. Yet, is there a way to alig
     

How to match Sprite3D's collision poly to its billboard transform?

Assume there is a Sprite3D with a Y- billboard flag on. This sprite3D has a matching CollisionPolygon3D Collision polygon3D is set up to "look" at the camera with a look_at() function, similar to the Y-billboard.

However, the collision poly and the sprite3D do not match at non-orthogonal angles:

Angle to camera is about 45deg

(Angle to the camera is about 45deg)

I understand that Y-billboard flag achieves the "look at the camera" effect with a shader, while look_at() is a spacial matrix transform. Yet, is there a way to align these two?

  • ✇Recent Questions - Game Development Stack Exchange
  • Why is my player not colliding with animated obstacles?Ivan
    I can't figure this out. My obstacles have a basic box collider on them and my player has a rigidbody based controller and collsion detection is set to Continous and when obstacle hits him it just passes trough the player. Belowe is my player rigidbody and collider settings Update: Ok so I found out the following things: Player do seem to react a little when I add a rigidbody to the obstacle, set it to kinematic with continuous collision detection, and I increase player size (this is the most im
     

Why is my player not colliding with animated obstacles?

I can't figure this out. My obstacles have a basic box collider on them and my player has a rigidbody based controller and collsion detection is set to Continous and when obstacle hits him it just passes trough the player. Belowe is my player rigidbody and collider settings

Update:

Ok so I found out the following things: Player do seem to react a little when I add a rigidbody to the obstacle, set it to kinematic with continuous collision detection, and I increase player size (this is the most important change). Still it only moves slightly and obstacle passes trough the player.

enter image description here

  • ✇Recent Questions - Game Development Stack Exchange
  • Instantiated object not tracking collisionJamiePatt
    I have an issue, and I'm not sure why it's happening. I have a prefab that I've built in a colour-changing game. It has the following: Four 2D objects that if they collide with the player (2D collider attached to all), they cause the player to die. One 2D object that if the player strikes, it generates a duplicate of itself with the Instantiate function. All 2D objects are created; The four objects that cause the player to die are being created as normal and continue to cause the player to
     

Instantiated object not tracking collision

I have an issue, and I'm not sure why it's happening. I have a prefab that I've built in a colour-changing game. It has the following:

  • Four 2D objects that if they collide with the player (2D collider attached to all), they cause the player to die.
  • One 2D object that if the player strikes, it generates a duplicate of itself with the Instantiate function.

All 2D objects are created; The four objects that cause the player to die are being created as normal and continue to cause the player to die. However, the object that instantiates the prefab and increments the score can no longer be collided with. The player appears to pass behind it. I'm pasting my code below. I would really appreciate if anyone can offer advice on this:

void Update () {
    if (Input.GetButtonDown("Jump") || Input.GetMouseButtonDown(0))
    {
        thing.velocity = Vector2.up * bounciness;
    }
    scoreText.text = score.ToString();
}
private void OnTriggerEnter2D(Collider2D collision)
{

    if (collision.tag == "plusScore")
    {
        score++;
        Destroy(collision.gameObject);
        Instantiate(barrier, new Vector2(transform.position.x, transform.position.y + 7f), transform.rotation);
        return;
    }

    if(collision.tag != currentColour)
    {
        Debug.Log("You DIED!");
        SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
        score = 0;
    }
}
  • ✇Recent Questions - Game Development Stack Exchange
  • Player-Environment Interaction & Collision Handling in UnityNotLucifer
    Simply put, how would you go about designing environmental interactions? For example, upon pressing the interact button when near a chair, he can sit on it. (Also works with NPCs functioning with NavMeshAgent component.) For now, the interaction system works by raycasting towards players look direction and looking for Interactables and once an interactable is detected, the InputAction for Interact is able to perform its subscribed actions. So, now in my game, I want my player to be able to sit o
     

Player-Environment Interaction & Collision Handling in Unity

Simply put, how would you go about designing environmental interactions? For example, upon pressing the interact button when near a chair, he can sit on it. (Also works with NPCs functioning with NavMeshAgent component.)

For now, the interaction system works by raycasting towards players look direction and looking for Interactables and once an interactable is detected, the InputAction for Interact is able to perform its subscribed actions. So, now in my game, I want my player to be able to sit on a chair or sofa. The sofa interactable component already contains points where the Actor will sit and where it will stand up. (Not consider Stand To Sit & Sit to Stand animations for the time being.)

Flow => Walk Near Chair => Press Interact => Snap to Seating Position (with static sitting pose) => Disable Character Controls Until Canceled => Snap to standing Idle on Cancel.

The furniture already has a collider that blocks the Actors (Player & NPCs) from walking into it and is on a layer that only intractable reside in. The issue is that since both the Actor and the interactable have colliders in it, without disabling one or the other collider, the objects can't be put on each other (even forcefully through code, understandably so because of collisions, duh!)

Am I missing out something or how would you go about this situation to handle interactions that involve overlapping colliders?

❌
❌