테마 지구 주위를 공전하는 인공 위성 간 충돌 가능성을 바탕으로 현대 사회에서 인공 위성은 필수 요소이다.과학적 현상의 측정, 군사적 정찰 목적, 기상 현상 관측, GPS항법 위성 통신 등 여러 방면에서 사용된다.그렇게 유용함에서 지구에서는 인공 위성이 많이 발사됐다.문제는 많아도 너무 많다는 것이다.1970년대 후반부터 전성기를 맞은 인공 위성은 2004년 1월 기준으로 5천 624개가 발사됐다.초기에는 대부분의 인공 위성은 국가 차원에서 만들어졌다.그러나 과학이 발전할수록, 요즘은 민간 기업에서도 인공 위성을 발사하고 있다.대표적이면서 가장 크게 기여하는 예로서 민간 기업 스페이스 X는 4만 2000개의 인공 위성을 발사하고 전 세계에 위성 인터넷을 보급하는 스타 링크 프로젝트를 진행 중이며 이는 2021년까지 인류가 발사한 모든 인공 위성보다 4배 많다.그렇게 발사된 인공 위성의 개수는 늘어나고 나가면서 이에 따른 큰 문제가 생겼다.바로 인공 위성 간 충돌이 발생할 수 있다는 점이다.이로써 인공 위성의 개수 증가에 따른 충돌 가능성 증가를 예상하고 보기 때문에 구글 코라보의 파이썬 기능을 활용하고 인공 위성의 충돌 횟수를 시뮬레이션했다.설계 우선, 인공 위성의 운동에 대해서 개략적인 데이터를 요구하고 위성의 움직임을 구상했다.인공 위성은 궤도의 높이로 저궤도 위성(250~2000㎞)중 궤도 위성(2000~3만 6000㎞), 정지 궤도 위성(3만 6000㎞)로 나뉜다.지구의 인력과 자유 낙하에 의한 중력이 균형을 이루며 원심력이 평형이다”타원 궤도”에서 지구를 공전한다.이런 지구의 궤도와 중력 낙하 곡선을 일치시키기 위한 속도는 적어도 약 시속 27,000km(초속 7.9km)이상의 속도가 필요하다.또 이보다 더 큰 속도를 내면 지구의 인력에서 벗어나궤도를 얻게 되는데, 약 시속 40,000km(11.3km/sec)이상으로 그 한계를 넘으면 지구의 궤도를 돌고 있던 인공 위성은 궤도를 벗어나고 우주로 나아갈 수 있다”탈출 속도”를 얻게 된다.즉, 인공 위성은 궤도를 유지하기 위한 최소 속도와 궤도를 이탈하는 탈출 속도 사이의 속도를 갖고 있으며 특히 특정 궤도를 반복해서 움직이는 정지 궤도 위성의 경우 속도가 거의 일정하다.그러므로 본 시뮬레이션에서는 인공 위성의 높이의 범위를 최저점(저궤도 위성)정지 궤도 위성의 비율인 1:300을 고려하여 10~3000로 단순화하는 인공 위성의 속도는 거의 일정하다고 가정함으로써 구면 좌표계로 가늘게 타 모가 일정하게 증가하는 형태로 움직임을 구현했다.또 인공 위성의 초기 위치를 구면 좌표계의 r, θ(세타), ø(띠)를 쓰고 임의로 지정했고 이때 세타와 띠의 경우 0부터 시작된 314사이의 임의의 상수에 지정되도록 한 뒤 100에서 배포함으로써 0~2pi의 근사치로 지정했다.이때 인공 위성의 궤도 이심률은 약 0.001에서 매우 작기 때문에 타원 궤도가 아닌 원궤도로 움직임을 구현했다.이처럼 하나의 인공 위성의 움직임을 코드로 구성한 뒤 이를 함수에 인공 위성이 자동적으로 배치된 뒤 일정 속도로 이동할 때의 인공 위성의 좌표(xyz좌표)를 t에 따르고 배열에 저장하는 것으로 기록했다.이를 인공 위성의 개수를 늘리고 갔을 때 특정 시간(t)에 동일한 좌표에 존재하는 인공 위성이 존재하는 경우 충돌 판정을 내고 인공 위성의 개수에 몇번의 충돌이 일어날지를 헤아리는 코드를 만들었다.결과 및 자료 초기 r, 세타, 띠를 다 랜덤으로 두었을 때, 인공 위성의 개수 증가에 따른 충돌 횟수 곡선
테마지구 주변을 공전하는 인공위성 간 충돌 가능성을 배경으로 현대사회에서 인공위성은 빼놓을 수 없는 요소다. 과학적 현상 측정, 군사적 정찰 목적, 기상 현상 관측, GPS 항법, 위성 통신 등 여러 방면에서 사용된다. 그렇게 유용하기 때문에 지구에서는 인공위성이 많이 발사됐다. 문제는 많아도 너무 많다는 것이다.1970년대 후반부터 전성기를 맞은 인공위성은 2004년 1월 기준 5천624개가 발사됐다. 초기에는 대부분의 인공위성이 국가 차원에서 만들어졌다. 그러나 과학이 발전하면서 최근에는 민간기업에서도 인공위성을 발사하고 있다. 대표적이면서도 가장 크게 기여하는 예로 민간기업 스페이스X는 4만2000개의 인공위성을 발사해 전 세계에 위성인터넷을 보급하는 스타링크 프로젝트를 진행 중이며, 이는 2021년까지 인류가 발사한 모든 인공위성보다 4배 많다. 그렇게 발사된 인공위성의 개수는 늘어나는 한편 이에 따른 큰 문제가 생겼다. 바로 인공위성 간 충돌이 발생할 수 있다는 점이다. 이에 따라 인공위성 개수 증가에 따른 충돌 가능성 증가를 예상해 보기 위해 구글 콜라보 파이썬 기능을 활용해 인공위성 충돌 횟수를 시뮬레이션해봤다. 설계 우선, 인공위성의 운동에 대해 개략적인 데이터를 요구해 위성의 움직임을 구상했다.인공위성은 궤도 높이에 따라 저궤도위성(2502000km), 중궤도위성(20003만6000km), 정지궤도위성(3만6000km)으로 나뉜다. 지구가 잡아당기는 인력과 자유낙하로 인한 중력이 균형을 이뤄 원심력이 평형인 타원궤도에서 지구를 공전하게 된다. 이러한 지구 궤도와 중력 낙하 곡선을 일치시키기 위한 속도는 적어도 약 시속 27,000km(초속 7.9km) 이상의 속도가 필요하다. 또 이보다 더 큰 속도를 내면 지구 인력에서 벗어나는 궤도를 얻을 수 있는데, 약 시속 40,000㎞(11.3㎞/sec) 이상으로 그 한계를 넘어서면 지구 궤도를 돌고 있던 인공위성은 궤도를 벗어나 우주를 향해 나아갈 수 있는 ‘탈출 속도’를 얻게 된다. 즉 인공위성은 궤도를 유지하기 위한 최소속도와 궤도를 이탈하는 탈출속도 사이의 속도를 가지고 있으며, 특히 특정 궤도를 반복적으로 움직이는 정지궤도위성의 경우 속도가 거의 일정하다. 따라서 본 시뮬레이션에서는 인공위성의 높이 범위를 최저점(저궤도위성)~정지궤도위성의 비율인 1:300을 고려하여 10~3000으로 간략화하고 인공위성의 속도는 거의 일정하다고 가정함으로써 구면좌표계에서 세타각이 일정하게 증가하는 형태로 움직임을 구현하였다.또한 인공위성의 초기위치를 구면좌표계의 r, ø(띠), ø(띠)를 사용하여 랜덤하게 지정하고, 이때 시타와 띠의 경우 0에서 시작하여 314사이의 임의의 정수로 지정되도록 한 후 100으로 나누어 줌으로써 0~2pi의 근사치로 지정하였다. 이때 인공위성의 궤도 이심률은 약 0.001로 매우 작기 때문에 타원궤도가 아닌 원궤도에서 움직임을 구현했다. 이와 같이 하나의 인공위성의 움직임을 코드로 구성한 후 이를 함수로 하여 인공위성이 자동으로 배치된 후 일정 속도로 이동할 때 인공위성의 좌표(xyz 좌표계)를 t에 따라 어레이에 저장함으로써 기록하였다. 이를 인공위성 개수를 늘려갈 때 특정 시간(t)에 동일한 좌표에 존재하는 인공위성이 존재할 경우 충돌 판정을 내리고 인공위성 개수당 몇 번의 충돌이 일어나는지 세는 코드를 만들었다. 결과 및 자료 초기 r, 세타, 띠를 모두 랜덤으로 놓았을 때 인공위성 개수 증가에 따른 충돌 횟수 그래프
-초기 r값을 통일(인공위성 높이 통일하기: 모든 위성을 정지궤도 위성으로 설정한 후 움직임 시뮬레이션)하여 r, 세타, 띠의 랜덤 여부가 어떻게 인공위성의 충돌 횟수에 기여하는지 확인하기 위해 각각의 값만 랜덤화했을 때 충돌 횟수를 확인했다.
z축과의 각도인 세타와 x축으로 각도인 띠를 동일한 범위에서 각각 랜덤으로 주어진 경우 비슷한 평균 충돌 횟수가 나왔지만 비교적 적은 횟수의 충돌이 발생했다.위성의 높이이며 r값만 랜덤으로 준 경우에는 충돌 횟수가 매우 많은 위성의 개수가 증가와 충돌 횟수가 연속적으로 비례하고 증가하는 모습을 보였다.고찰 보텀 프로젝트에서는 인공 위성의 증가에 따른 충돌 가능성이 증가하는 것을 가시적으로 확인했다.비율을 감안하면 약 1만 5천개의 인공 위성도 한번 정도의 충돌이 발생한다고 예상한.이는 상당히 낮은 확률이지만, 발사된 상공에 존재하는 인공 위성의 개수가 급격히 늘고 있어 무시할 수 없는 확률인데, 인공 위성의 개수가 더 늘어나면서 충돌 가능성 또한 증가한다고 추론할 수 있다.실제로 2009년 2월 10일에는 미국 인공 위성과 러시아 인공 위성의 충돌이 발생하고 2021년에는 7월 10월경에 충돌이 거의 일어나는 곳이었다.스페이스 X처럼 민간 업체도 인공 위성을 발사, 여러 우주 쓰레기 등이 증가하면서 인공 위성 간의 충돌 문제는 진지하게 고려 대상이 돼야 한다.수명이 너무 짧다고 예상된다, 즉 인공 위성의 역할을 제대로 수행할 수 없는 그것의 무분별한 발사를 줄이고 이미 수명이 다한 인공 위성을 회수하거나 궤도에서 이탈하는 방법을 찾을 필요성이 보인다.또한 이하에, 본 텀 프로젝트에 대해서 개선 가능성을 논했다.본 코드에서는 인공 위성의 궤도를 특정하지 않고 저궤도~고 궤도를 통합했지만 이를 분리하고 궤도별 인공 위성 간의 움직임을 살펴볼 필요성이 있어 보인다.다만 본문 코드가 치우친 결과(각도의 다양성 부족에 따른 잦은 충돌 발생)을 피하려고 하지 않았다.각도를 더욱 다양화(0~314*1/10000), 보다 긴 연산 시간을 감수하면 개선할 수 있다고 본다.이 코드에서는 세타치를 변환하는 것으로 인공 위성의 움직임을 구현했기 때문에 인공 위성의 이동 속도가 고정된.그러나 실제 인공 위성의 경우 정지 궤도 위성이 아닌 경우 인공 위성의 공전 속도가 변화하는 것도 있다.이것은 인공 위성의 이심률(0.001)과 중력 가속도를 고려한 식을 사용하고 공전 속도가 실시간으로 조정되도록 하는 것에서 개선할 수 있지만 마찬가지로 인공 위성의 개수를 증가시킬 경우 필요한 연산이 급격히 증가하는 연산 시간이 지나치게 오래 걸렸기 때문에(약 10개의 인공 위성을 지정할 때 연산 시간이 5분을 초과)본 프로젝트에서는 제외했다.실제 우주 발사는 완전한 엔화 아니라 이심률 0.001의 타원 궤도를 가지므로 해당 이심률을 적용하면 충돌 횟수가 다소 감소할 것이다.더욱이 최근의 인공 위성의 경우, 원지점 모터(apogee motor)라는 로켓 엔진을 원지점 고도의 작동시킴으로써 8자형으로 남북을 이동하는 등 궤도면 및 고도를 바꾸기도 한다.해당 요소를 융합하면 보다 현실적인 인공 위성의 움직임을 구현할 것으로 기대되고 궤도 높이마다 서로 다른 인공 위성의 수명-그에 따른 인위적 궤도 조정의 유지 가능성을 적용하면 궤도 높이에 따른 인공 위성의 종류와 융합하고 보다 현실적인 인공 위성의 움직임을 구현할 것으로 기대된다.상기의 인위적인 인공 위성 궤도 조정에다 위성의 원 운동을 방해하는 “궤도 섭동력”이라는 힘이 작용하기 때문에 위성 궤도가 조금씩 달라진다.타원 궤도에 의한 일정하지 않는 중력도 영향을 주고, 태양풍처럼 우주에서 날아오는 고에너지 입자에 있어서 궤도가 왜곡되기도 한다.이 3가지 요소를 적용하면 보다 현실적인 인공 위성의 움직임을 실현할 것으로 기대된다.개선된 코드 고찰에서 논의한 개선 방안 중 첫번째의 내용과 2번째의 내용을 간접적으로 적용을 받고 보기 때문에 코드를 개선했다.우선 저궤도에서 궤도, 고 궤도(정지 궤도)을 r거리를 통해서 구분하고 3개로 나누어 3종류로 세타치 증가량을 바꿈으로써 위성 간 속도 차이를 구현했다.일반적으로 궤도의 낮은 인공 위성 정도로 공전 속도가 빠르다.한국 항공 우주 연구원이 발표한 자료에 따르면 낮은 고도 위치하며 다목적 실용 위성은 초속 7.5킬로로, 중 궤도 위성은 초속 4.9킬로로, 정지 궤도 위성(고 궤도)는 초속 약 3킬로미터로 비행한다.그러므로 세타 변화치를 대충 상기 비율과 함께 2.5,1.6,1의 비율로 조정하라는 if문을 통해서 코드를 고쳤다.코드를 실행한 결과 오래 작동 시간을 감수하고 W(인공 위성의 개수)을 80까지 늘리고 보고도 인공 위성 간 충돌이 거의 일어나지 않았다.그러므로 보다 현실적인 모델:인공 위성 궤도에 따른 이동 속도를 변화시킨 모델에서는 충돌이 거의 일어나지 않아 현실에서는 인공 위성의 개수가 증가할 때의 충돌 가능성 증가율이 본 추가 내용 앞 코드보다 적다고 생각한다.다만 증가율이 덜 뿐 여전히 충돌 가능성은 증가하기 때문에 인공 위성이 증가함에 충돌 위험성이 증가하고 있다는 결론은 여전히 유효하다.