ਕੰਪਿਊਟਰ ਸਾਇੰਸ ਫੀਲਡ ਸੈਸ਼ਨ

CG_GUI_19

ਪਿਛੋਕੜ

2020 ਦੀਆਂ ਗਰਮੀਆਂ ਦੌਰਾਨ, ਮੈਂ ਆਪਣੇ CS ਅੰਡਰਗ੍ਰੈਜੂਏਟ ਪ੍ਰੋਗਰਾਮ ਦੇ ਹਿੱਸੇ ਵਜੋਂ CSCI370 ਜਾਂ “Advanced Software Engineering” ਲਿਆ। CSCI370 ਇੱਕ ਕੋਰਸ ਹੈ ਜੋ ਵਿਦਿਆਰਥੀਆਂ ਨੂੰ ਕਿਸੇ ਕੰਪਨੀ ਲਈ ਸੌਫਟਵੇਅਰ-ਸਬੰਧੀ ਹੱਲ ਡਿਜ਼ਾਈਨ, ਲਾਗੂ, ਅਤੇ ਦਸਤਾਵੇਜ਼ ਕਰਨ ਲਈ ਕਹਿੰਦਾ ਹੈ। ਇਹ ਵਿਦਿਆਰਥੀਆਂ ਨੂੰ ਆਪਣੀ ਪਾਠ-ਕ੍ਰਮ ਦੀ ਜਾਣਕਾਰੀ ਨੂੰ ਅਸਲ ਦੁਨੀਆ ਦੇ ਕੰਪਿਊਟਰ ਸਾਇੰਸ ਸਮੱਸਿਆਵਾਂ ‘ਤੇ ਲਾਗੂ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਤੁਸੀਂ ਇਸ ਕੋਰਸ ਬਾਰੇ ਹੋਰ ਜਾਣਕਾਰੀ ਇੱਥੇ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹੋ।

ਕੋਰਸ ਵਿੱਚ, ਤੁਸੀਂ ਫ਼ੈਸਲਾ ਕਰਦੇ ਹੋ ਕਿ ਤੁਸੀਂ ਕਿਸ ਪ੍ਰੋਜੈਕਟ/ਕੰਪਨੀ ‘ਤੇ ਕੰਮ ਕਰੋਗੇ। ਕੋਰਸ ਨੇ ਹਰ ਪ੍ਰੋਜੈਕਟ ਅਤੇ ਕੰਪਨੀ ਦੀ ਵਿਸਤਾਰਿਤ ਜਾਣਕਾਰੀ ਵਾਲੇ PDFs ਪ੍ਰਦਾਨ ਕੀਤੇ। ਆਖ਼ਿਰਕਾਰ ਮੈਂ ਇੱਕ ਪ੍ਰੋਜੈਕਟ ‘ਤੇ ਕੰਮ ਕਰਨ ਦਾ ਫੈਸਲਾ ਕੀਤਾ ਜੋ ਲੂਨਰ ਆਉਟਪੋਸਟ ਨਾਮਕ ਕੰਪਨੀ ਵੱਲੋਂ ਪੋਸਟ ਕੀਤਾ ਗਿਆ ਸੀ, ਜਿਸਦਾ ਸਿਰਲੇਖ ਰੀਅਲ ਟਾਈਮ ਚੱਕਾ ਫਿਸਲਣ ਪਛਾਣ ਅਤੇ ਸੁਧਾਰੀਆਂ ਗਲਤੀਆਂ ਸਹਾਇਕ ਸੁਧਾਰੇ ਚੰਦਰਾ ਨੈਵੀਗੇਸ਼ਨ لپاره ਸੀ। ਕਿਉਂਕਿ ਨਾਮ ਲੰਬਾ ਸੀ, ਆਓ ਪ੍ਰੋਜੈਕਟ ਲਈ ਇੱਕ ਆਲਿਆਸ ਦਈਏ “ਚੱਕਾ ਫਿਸਲਣ ਪਛਾਣ”।

ਸਮੱਸਿਆ

ਲੂਨਰ ਆਉਟਪੋਸਟ ਇੱਕ ਸਟਾਰਟਅਪ ਹੈ ਜੋ ਆਟੋਨੋਮਸ ਚੰਨ ਰੋਵਰ ਬਣਾਉਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਰਿਹਾ ਹੈ। ਚੰਨ ‘ਤੇ ਬਹੁਤ ਸਾਰਾ ਚੰਦਨੀ ਧੂੜ ਹੁੰਦੀ ਹੈ ਜੋ ਚੱਕਿਆਂ ਦੇ ਬਹੁਤ ਫਿਸਲਣ ਦਾ ਕਾਰਨ ਬਣਦੀ ਹੈ। ਇਹ ਵਧੀਆ ਨਹੀਂ ਹੈ ਕਿਉਂਕਿ ਚੱਕਾ ਫਿਸਲਣਾ ਆਟੋਨੋਮਸ ਸਿਸਟਮਾਂ ਨੂੰ ਉਹਨਾਂ ਦੀ ਅਸਲ ਦੁਨੀਆ ਵਾਲੀ ਸਥਿਤੀ ਟਰੈਕ ਕਰਨ ਤੋਂ ਬਚਾ ਸਕਦਾ/ਸਕਦੀ ਹੈ। ਧਰਤੀ ‘ਤੇ, ਇਹ ਸਮੱਸਿਆ GPS ਡੇਟਾ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਚੱਕਾ ਫਿਸਲਣ ਕਾਰਨ ਹੋਏ ਕਿਸੇ ਵੀ ਓਫਸੈਟ ਨੂੰ ਠੀਕ ਕਰਨ ਨਾਲ ਹੱਲ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਪਰ GPS ਨਾਲ ਮੁੱਦਾ ਇਹ ਹੈ ਕਿ ਇਹ ਸਿਰਫ਼ ਇਸ ਤਰੀਕੇ ਨਾਲ ਕੰਮ ਕਰਦਾ ਹੈ ਕਿ 30+ ਨੈਵੀਗੇਸ਼ਨ ਸੈਟੇਲਾਈਟ ਲਗਾਤਾਰ ਧਰਤੀ ਦੇ ਗੇਰ ਚਕ੍ਰ ਵਿੱਚ ਘੁੰਮਦੇ ਰਹਿੰਦੇ ਹਨ ਅਤੇ ਵਿਲੱਖਣ ਸਿਗਨਲ ਪ੍ਰਸਾਰਿਤ ਕਰਦੇ ਹਨ ਜੋ ਕੰਪਿਊਟਰਾਂ ਨੂੰ ਉਹਨਾਂ ਦੀ ਸਥਿਤੀ ਦੀ ਗਣਨਾ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੇ ਹਨ। ਪਰ ਚੰਨ ‘ਤੇ ਇਸ ਸਮੇਂ ਕੋਈ GPS ਮੌਜੂਦ ਨਹੀਂ ਹੈ। ਇਹ ਜਾਣਕੇ, GPS ਤੋਂ ਇਲਾਵਾ ਕਿਸੇ ਹੋਰ ਤਰੀਕੇ ਦੀ ਲੋੜ ਹੈ ਤांकि ਚੱਕਾ ਫਿਸਲਣ ਦਾ ਪਤਾ ਲਗਾਇਆ ਜਾ ਸਕੇ। ਪ੍ਰੋਜੈਕਟ ਦੀ ਸਮੱਸਿਆ ਬਾਰੇ ਇੱਕ ਹੋਰ ਵਿਸਤਾਰਿਤ ਰਿਪੋਰਟ ਇੱਥੇ ਦੇਖੀ ਜਾ ਸਕਦੀ ਹੈ।

ਟੀਮ ਮੈਂਬਰ

ਇਹ ਪ੍ਰੋਜੈਕਟ ਸਧਾਰਨ ਨਹੀਂ ਸੀ, ਇਸ ਲਈ ਇਹ ਟੀਮ ਵਿੱਚ ਕੀਤਾ ਗਿਆ। ਟੀਮ ਵਿੱਚ ਪੰਜ Colorado School of Mines ਦੇ ਵਿਦਿਆਰਥੀ ਸ਼ਾਮਿਲ ਸਨ:

  • ਮੇਹਮੈਤ ਯਿਲਮਾਜ਼
  • ਕੇਨ ਬਰੂਸ
  • ਬ੍ਰੇਡਨ ਓ’ਕੈਲਾਘਨ
  • ਲਿਆਮ ਡੈਮਪਸੀ
  • ਕੇਵਿਨ ਗਰੈਂਟ

ਇਸ ਪ੍ਰੋਜੈਕਟ ਲਈ ਸਾਨੂੰ ਕੁਝ ROS, C++, Python, Linux, Raspberry Pi, ਅਤੇ Arduino ਬਾਰੇ ਜਾਣਕਾਰੀ ਹੋਣੀ ਲਾਜ਼ਮੀ ਸੀ। ਅਸੀਂ ਵਿੱਚੋਂ ਜ਼ਿਆਦਾਤਰ ਲੋਕਾਂ ਕੋਲ ਇੱਕ ਜਾਂ ਵੱਧ ਇਹਨਾਂ ਤਕਨਾਲੋਜੀਆਂ ਵਿੱਚ ਤਜ਼ਰਬਾ ਸੀ ਪਰ ਮੈਂ ਹੀ ਇਕਲਾ ਸੀ ਜਿਸਨੂੰ ROS ਦਾ ਤਜ਼ਰਬਾ ਸੀ ਕਿਉਂਕਿ ਮੈਂ Spring 2020 ਸਮੈਸਟਰ ਦੌਰਾਨ ਆਪਣੇ Human Centered Robotics (CSC470) ਕਲਾਸ ਵਿੱਚ ROS ਵਰਤਿਆ ਸੀ। ਇਸ ਕਾਰਨ, ਸ਼ੁਰੂਆਤੀ ਦੌਰ ਵਿੱਚ, ਮੈਂ ਹਰ ਕਿਸੇ ਨੂੰ ROS ਬਾਰੇ ਅਤੇ ਇਸ ਲਈ ਵਿਕਾਸ ਕਿਵੇਂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਬਾਰੇ ਸਿੱਖਣ ਵਿੱਚ ਮਦਦ ਕੀਤੀ।

ਚੁਣੌਤੀਆਂ

ਇਸ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਕਈ ਚੁਣੌਤੀਆਂ ਆਈਆਂ। ਪਰ ਸਭ ਤੋਂ ਵੱਡੀ ਚੁਣੌਤੀ ਜੋ ਸਾਨੂੰ ਸਾਹਮਣਾ ਕਰਨਾ ਪਈ ਉਹ ਸੀ ਟੈਸਟਿੰਗ ਲਈ ਅਸਲ ਦੁਨੀਆਂ ਦੇ ਰੋਬੋਟ ਤੱਕ ਪਹੁੰਚ ਨਾ ਹੋਣਾ। ਇਹ COVID ਕਾਰਨ ਸਭ ਕੁਝ ਰਿਮੋਟ ਹੋਣ ਅਤੇ ਸਾਨੂੰ ਲੂਨਰ ਆਉਟਪੋਸਟ ਦੇ ਲੈਬ/ਬਿਲਡਿੰਗਾਂ ਵਿੱਚ ਕੰਮ ਕਰਨ ਤੋਂ ਰੋਕਣ miatt ਸੀ। ਇਸ ਕਰਕੇ ਸਾਨੂੰ ਸਿਮੁਲੇਸ਼ਨਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨੀ ਪਈ।

ਸਾਡੇ ਲਈ ਹੋਰ ਇਹ ਕਿੱਤੇ, ਅਸੀਂ WVU ਨੈਵੀਗੇਸ਼ਨ ਲੈਬ ਦੇ ਕੁਝ ਅਕਾਦਮਿਕ ਖੋਜ ਪਾਠ ਪੜ੍ਹੇ ਤਾਂ ਜੋ ਇਹ ਸਮਝ ਆ ਸਕੇ ਕਿ ਚੱਕਾ ਫਿਸਲਣ ਦੀ ਸਮੱਸਿਆ ਲੂਨਰ ਆਉਟਪੋਸਟ ਦੇ ਯੂਜ਼ ਕੇਸ ਲਈ ਕਿਵੇਂ ਹੱਲ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ। ਸਾਡੇ ਲਈ, ਇੱਕ ਅੰਡਰਗ੍ਰੈਜੂਏਟ ਸੋਫ਼ੋਮੋਰ ਅਤੇ ਜੂਨੀਅਰ ਹੋਣ ਦੇ ਨਾਤੇ, ਇਹ ਉਮੀਦ ਸਾਡੀ ਤુલਨਾ ਵਿੱਚ ਜ਼ਿਆਦਾ ਮੁਸ਼ਕਲ ਸੀ।

ਹੋਰ ਇੱਕ ਚੁਣੌਤੀ ਜੋ ਸਾਨੂੰ ਸਾਹਮਣਾ ਕਰਨੀ ਪਈ ਉਹ ਸੀ ਇਸ ਪ੍ਰੋਜੈਕਟ ‘ਤੇ ਕੰਮ ਕਰਨ ਲਈ ਸਾਡੇ ਕੋਲ ਮੌਜੂਦ ਸਮੇਂ ਦੀ ਮਾਤਰਾ। CSCI370 ਇੱਕ ਇੱਕ ਮਹੀਨੇ ਦੀ ਕਲਾਸ ਹੈ। ਪਰ ਖੁਦ ਸਮੱਸਿਆ ਗੁੰਝਲਦਾਰ ਹੈ ਅਤੇ ਕਈ ਕੰਪਨੀਆਂ ਅਤੇ ਅਕਾਦਮੀਕ ਲੋਕ ਦਹਾਕਿਆਂ ਤੋਂ ਇਸਨੂੰ ਸੁਧਾਰਣ/ਹੱਲ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਰਹੇ ਹਨ। ਇਸ ਲਈ ਇੱਕ ਮਹੀਨਾ ਇਸ ਮੁੱਦੇ ਨੂੰ ਹੱਲ ਕਰਨ ਲਈ ਕਾਫ਼ੀ ਨਹੀਂ ਹੈ। ਫਿਰ ਵੀ, ਸਾਰੀਆਂ ਚੁਣੌਤੀਆਂ ਦੇ ਬਾਵਜੂਦ ਅਸੀਂ ਅੱਗੇ ਵਧੇ ਅਤੇ ਸਬੰਧਤ ਕੰਮ ਪੂਰਾ ਕਰਨ ਦੀ ਯਕੀਨੀ ਬਣਾਈ।

ਨਤੀਜਾ

ਇਸ ਪੋਸਟ ਵਿੱਚ, ਮੈਂ ਆਪਣੀਆਂ ਸਮਾਧਾਨਾਂ ਦੀ ਹੋਰ ਵਿਸਤਾਰਿਤ ਵਿਆਖਿਆ ਦੇਣਾ ਚਾਹੁੰਦਾ ਸੀ। ਨਾਲ ਹੀ ਇੱਕ ਢੁਕਵਾਂ ਨਤੀਜਾ ਦਿੱਤਿਆਂ ਦੱਸਣਾ ਕਿ ਅਸੀਂ ਕੀ ਖੋਜਿਆ ਅਤੇ ਆਖਰੀ ਨਤੀਜੇ ਕੀ ਰਹੇ। ਪਰ ਦੁੱਖ ਦੀ ਗੱਲ ਹੈ ਕਿ ਮੈਂ ਅਤੇ ਮੇਰੇ ਸਾਥੀ ਸਭ ਨੇ ਇੱਕ ਗੈਰ-ਪ੍ਰਕਾਸ਼ ਸਮਝੌਤੇ (Non-Disclosure Agreement, NDA) ‘ਤੇ ਦਸਤਖਤ ਕੀਤੇ ਹਨ ਜੋ ਸਾਨੂੰ ਇਸ ਪ੍ਰੋਜੈਕਟ ਬਾਰੇ ਕੋਈ ਵੀ ਰਾਜਦਾਰ ਜਾਣਕਾਰੀ ਸਾਂਝੀ ਕਰਨ ਤੋਂ ਰੋਕਦਾ ਹੈ। ਉਪਰ ਦਿੱਤੀ ਸਾਰੀ ਜਾਣਕਾਰੀ ਜਨਤਕ ਹੈ ਅਤੇ ਇੰਟਰਨੈਟ ਤੋਂ ਪ੍ਰਾਪਤ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ।

ਇਸ ਪ੍ਰੋਜੈਕਟ ਦੌਰਾਨ, ਅਸੀਂ ROS ਦੀ ਵਰਤੋਂ ਅਤੇ ROS ਅਤੇ Gazebo ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਸਿਮੁਲੇਸ਼ਨ ਬਣਾਉਣ ਨੂੰ ਸਚਮੁਚ ਸਿੱਖਿਆ। ਅਸੀਂ ਚੱਕਾ ਫਿਸਲਣ ਪਛਾਣ ਦੇ ਖੋਜ ਖੇਤਰ ਵਿੱਚ ਵੀ ਇੱਕ ਬਿਹਤਰ ਸਮਝ ਪ੍ਰਾਪਤ ਕੀਤੀ। ਸਾਡੇ ਲਈ ਸਤਕਾਰ ਦੀ ਗੱਲ ਸੀ ਕਿ ਸਾਨੂੰ WVU ਨੈਵੀਗੇਸ਼ਨ ਲੈਬ ਦੇ ਕੁਝ ਅਕਾਦਮਿਕ/ਖੋਜਕਾਰ ਲੋਕਾਂ ਨਾਲ ਮਿਲਣ ਦਾ ਮੌਕਾ ਮਿਲਿਆ।

ਇਨ੍ਹਾਂ ਸਭ ਨੂੰ ਜਾਣਦੇ ਹੋਏ, ਮੈਂ ਕਹਿਣا ਚਾਹਾਂਗਾ ਕਿ ਇਹ ਪ੍ਰੋਜੈਕਟ ਮੈਨੂੰ ਟੀਮ ਵਿੱਚ ਨੇਤ੍ਰਿਤਵ ਭੂਮਿਕਾ ਲੈਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ, ਸਾਥੀਆਂ ਨੂੰ ROS ਬਿਹਤਰ ਸਮਝਣ ਵਿੱਚ ਸਹਾਇਤਾ ਦੇਣ ਲਈ ਇੱਕ ਸ਼ਿਕਸ਼ਕ ਵਜੋਂ ਕੰਮ ਕਰਨ ਦਾ ਮੌਕਾ ਦਿੱਤਾ, ਅਤੇ ROS, Gazebo, ਅਤੇ Python ਵਿੱਚ ਮੈਨੂੰ ਵੱਧ ਤਜ਼ਰਬਾ ਦਿੱਤਾ। ਇਸ ਨੇ ਮੈਨੂੰ ਚੱਕਾ ਫਿਸਲਣ ਦੀ ਸਮੱਸਿਆ ਨਾਲ ਵੀ ਜਾਣੂ ਕਰਵਾਇਆ, ਜੋ ਕਿ ਮੈਂ ਇਸ ਪ੍ਰੋਜੈਕਟ ‘ਤੇ ਕੰਮ ਕਰਨ ਤੱਕ ਜਾਣਦਾ ਨਹੀਂ ਸੀ। ਕੁੱਲ ਮਿਲਾ ਕੇ, ਮੈਂ ਕਰਜ਼ਗਾਰ ਹਾਂ ਕਿ ਲੂਨਰ ਆਉਟਪੋਸਟ ਨੇ ਆਪਣੇ ਵਿਆਸਤ ਸ਼ਡਿਊਲ ਵਿੱਚੋਂ, ਖਾਸ ਕਰਕੇ COVID ਦੌਰਾਨ, ਸਮਾਂ ਨਿਕਾਲ ਕੇ ਸਾਨੂੰ ਇਸ ਪ੍ਰੋਜੈਕਟ ‘ਤੇ ਕੰਮ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੱਤੀ। ਮੈਂ ਇਹ ਵੀ ਧੰਨਵਾਦੀ ਹਾਂ ਕਿ ਮੇਰੇ ਕੋਲ ਸ਼ਾਨਦਾਰ ਟੀਮ-ਸਾਥੀ ਸਨ ਜਿਨ੍ਹਾਂ ਨੇ ਇਸ ਪ੍ਰੋਜੈਕਟ ‘ਤੇ ਬਹੁਤ ਮਿਹਨਤ ਕੀਤੀ।