ਰੋਬੋਵਰਕਸ ਰੋਬੋਫਲੀਟ ਓਰਿਨ ਨੈਨੋ x3 ROS ਰੋਬੋਟ 

ਰੋਬੋਵਰਕਸ ਰੋਬੋਫਲੀਟ ਓਰਿਨ ਨੈਨੋ x3 ROS ਰੋਬੋਟ

ਸੰਖੇਪ

ਇਹ ਦਸਤਾਵੇਜ਼ ਮੁੱਖ ਤੌਰ 'ਤੇ wheeltec_multi ਨਾਮਕ ਮਲਟੀ-ਰੋਬੋਟ ਫਾਰਮੇਸ਼ਨ ਫੰਕਸ਼ਨ ਪੈਕੇਜ ਦੀ ਵਰਤੋਂ ਦੀ ਵਿਆਖਿਆ ਕਰਦਾ ਹੈ।

ਇਸ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਚਾਰ ਭਾਗਾਂ ਵਿੱਚ ਵੰਡਿਆ ਗਿਆ ਹੈ:

  • ਪਹਿਲਾ ਭਾਗ ਮੁੱਖ ਤੌਰ 'ਤੇ ਬਹੁ-ਰੋਬੋਟ ਨਿਰਮਾਣ ਵਿਧੀ ਦੀ ਸ਼ੁਰੂਆਤ ਬਾਰੇ ਹੈ;
  • ਦੂਜਾ ਭਾਗ ਮੁੱਖ ਤੌਰ 'ਤੇ ROS ਮਲਟੀ-ਮਸ਼ੀਨ ਸੰਚਾਰ ਸੈਟਿੰਗਾਂ ਦਾ ਵਰਣਨ ਕਰਦਾ ਹੈ, ਜਿਸ ਵਿੱਚ ਬਹੁ-ਮਸ਼ੀਨ ਸੰਚਾਰ ਦਾ ROS ਨਿਰਮਾਣ ਅਤੇ ROS ਸੰਚਾਰ ਦੀ ਪ੍ਰਕਿਰਿਆ ਵਿੱਚ ਆਉਣ ਵਾਲੀਆਂ ਸਮੱਸਿਆਵਾਂ ਸ਼ਾਮਲ ਹਨ;
  • ਤੀਜਾ ਭਾਗ ਮੁੱਖ ਤੌਰ 'ਤੇ ਮਲਟੀ-ਮਸ਼ੀਨ ਟਾਈਮ ਸਿੰਕ੍ਰੋਨਾਈਜ਼ੇਸ਼ਨ ਦੇ ਸੰਚਾਲਨ ਕਦਮਾਂ ਦਾ ਵਰਣਨ ਕਰਦਾ ਹੈ;
  • ਚੌਥਾ ਭਾਗ ਮਲਟੀ-ਮਸ਼ੀਨ ਫਾਰਮੇਸ਼ਨ ਫੰਕਸ਼ਨ ਪੈਕੇਜ ਦੀ ਖਾਸ ਵਰਤੋਂ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ।

ਇਸ ਦਸਤਾਵੇਜ਼ ਦਾ ਉਦੇਸ਼ ਮਲਟੀ-ਏਜੰਟ ਰੋਬੋਟਿਕ ਸਿਸਟਮ ਦੀ ਜਾਣ-ਪਛਾਣ ਹੈ ਅਤੇ ਉਪਭੋਗਤਾ ਨੂੰ ਮਲਟੀ-ਰੋਬੋਟ ਨਿਰਮਾਣ ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਜਲਦੀ ਸ਼ੁਰੂ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।

ਮਲਟੀ-ਏਜੰਟ ਐਲਗੋਰਿਥਮ ਦੀ ਜਾਣ-ਪਛਾਣ

ਮਲਟੀ-ਏਜੰਟ ਗਠਨ ਐਲਗੋਰਿਦਮ

ਇਹ ROS ਪੈਕੇਜ ਇੱਕ ਗਠਨ ਡਰਾਈਵ ਦੇ ਦੌਰਾਨ ਸਹਿਯੋਗੀ ਨਿਯੰਤਰਣ ਵਿੱਚ ਬਹੁ-ਏਜੰਟਾਂ ਦੀ ਇੱਕ ਖਾਸ ਸਮੱਸਿਆ ਪੇਸ਼ ਕਰਦਾ ਹੈ। ਇਹ ਟਿਊਟੋਰਿਅਲ ਇਸ ਵਿਸ਼ੇ 'ਤੇ ਭਵਿੱਖ ਦੇ ਵਿਕਾਸ ਦੀ ਨੀਂਹ ਰੱਖਦਾ ਹੈ। ਗਠਨ ਨਿਯੰਤਰਣ ਐਲਗੋਰਿਦਮ ਇੱਕ ਐਲਗੋਰਿਦਮ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ ਜੋ ਇੱਕ ਕੰਮ ਕਰਨ ਲਈ ਇੱਕ ਖਾਸ ਗਠਨ ਬਣਾਉਣ ਲਈ ਕਈ ਏਜੰਟਾਂ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਦਾ ਹੈ। ਸਹਿਯੋਗ ਇੱਕ ਕੰਮ ਨੂੰ ਪੂਰਾ ਕਰਨ ਲਈ ਇੱਕ ਖਾਸ ਰੁਕਾਵਟ ਸਬੰਧਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਕਈ ਏਜੰਟਾਂ ਵਿਚਕਾਰ ਸਹਿਯੋਗ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ। ਮਲਟੀ-ਰੋਬੋਟ ਫਾਰਮੇਸ਼ਨ ਡਰਾਈਵ ਨੂੰ ਸਾਬਕਾ ਵਜੋਂ ਲਓample, collaboration ਦਾ ਮਤਲਬ ਹੈ ਕਿ ਮਲਟੀਪਲ ਰੋਬੋਟ ਇਕੱਠੇ ਮਿਲ ਕੇ ਲੋੜੀਦੀ ਬਣਤਰ ਬਣਾਉਂਦੇ ਹਨ। ਇਸਦਾ ਸਾਰ ਇਹ ਹੈ ਕਿ ਹਰੇਕ ਰੋਬੋਟ ਦੀਆਂ ਸਥਿਤੀਆਂ ਵਿਚਕਾਰ ਇੱਕ ਖਾਸ ਗਣਿਤਿਕ ਸਬੰਧ ਸੰਤੁਸ਼ਟ ਹੈ. ਗਠਨ ਵਿਧੀਆਂ ਨੂੰ ਮੁੱਖ ਤੌਰ 'ਤੇ ਕੇਂਦਰੀਕ੍ਰਿਤ ਗਠਨ ਨਿਯੰਤਰਣ ਅਤੇ ਵੰਡੇ ਗਠਨ ਨਿਯੰਤਰਣ ਵਿੱਚ ਵੰਡਿਆ ਜਾਂਦਾ ਹੈ। ਕੇਂਦਰੀਕ੍ਰਿਤ ਗਠਨ ਨਿਯੰਤਰਣ ਵਿਧੀਆਂ ਵਿੱਚ ਮੁੱਖ ਤੌਰ 'ਤੇ ਵਰਚੁਅਲ ਬਣਤਰ ਵਿਧੀ, ਗ੍ਰਾਫਿਕਲ ਥਿਊਰੀ ਵਿਧੀ ਅਤੇ ਮਾਡਲ ਭਵਿੱਖਬਾਣੀ ਵਿਧੀ ਸ਼ਾਮਲ ਹਨ। ਵਿਤਰਿਤ ਗਠਨ ਨਿਯੰਤਰਣ ਵਿਧੀਆਂ ਵਿੱਚ ਮੁੱਖ ਤੌਰ 'ਤੇ ਲੀਡਰ-ਫਾਲੋਅਰ ਵਿਧੀ, ਵਿਵਹਾਰ-ਅਧਾਰਿਤ ਵਿਧੀ ਅਤੇ ਵਰਚੁਅਲ ਬਣਤਰ ਵਿਧੀ ਸ਼ਾਮਲ ਹਨ।

ਇਹ ROS ਪੈਕੇਜ ਮਲਟੀ-ਰੋਬੋਟ ਫਾਰਮੇਸ਼ਨ ਡਰਾਈਵ ਨੂੰ ਚਲਾਉਣ ਲਈ ਵਿਤਰਿਤ ਗਠਨ ਨਿਯੰਤਰਣ ਵਿਧੀ ਵਿੱਚ ਲੀਡਰ-ਫਾਲੋਅਰ ਵਿਧੀ ਨੂੰ ਲਾਗੂ ਕਰਦਾ ਹੈ। ਗਠਨ ਵਿੱਚ ਇੱਕ ਰੋਬੋਟ ਨੂੰ ਨੇਤਾ ਵਜੋਂ ਮਨੋਨੀਤ ਕੀਤਾ ਗਿਆ ਹੈ, ਅਤੇ ਦੂਜੇ ਰੋਬੋਟ ਨੂੰ ਨੇਤਾ ਦੀ ਪਾਲਣਾ ਕਰਨ ਲਈ ਗੁਲਾਮ ਵਜੋਂ ਮਨੋਨੀਤ ਕੀਤਾ ਗਿਆ ਹੈ। ਐਲਗੋਰਿਦਮ ਨਿਸ਼ਚਤ ਦਿਸ਼ਾ ਅਤੇ ਗਤੀ ਦੇ ਨਾਲ ਹੇਠਾਂ ਦਿੱਤੇ ਰੋਬੋਟਾਂ ਦੁਆਰਾ ਟਰੈਕ ਕੀਤੇ ਜਾਣ ਵਾਲੇ ਨਿਰਦੇਸ਼ਾਂਕ ਨੂੰ ਸੈੱਟ ਕਰਨ ਲਈ ਮੋਹਰੀ ਰੋਬੋਟ ਦੀ ਗਤੀਸ਼ੀਲਤਾ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ। ਟਰੈਕਿੰਗ ਕੋਆਰਡੀਨੇਟਸ ਤੋਂ ਸਥਿਤੀ ਦੇ ਭਟਕਣ ਨੂੰ ਠੀਕ ਕਰਨ ਨਾਲ, ਅਨੁਯਾਈ ਅੰਤ ਵਿੱਚ ਫਾਲੋਅਰ ਅਤੇ ਸੰਭਾਵਿਤ ਟਰੈਕਿੰਗ ਕੋਆਰਡੀਨੇਟਸ ਦੇ ਵਿਚਕਾਰ ਭਟਕਣ ਨੂੰ ਜ਼ੀਰੋ ਤੱਕ ਘਟਾ ਦੇਣਗੇ ਤਾਂ ਜੋ ਗਠਨ ਡਰਾਈਵ ਦੇ ਉਦੇਸ਼ਾਂ ਨੂੰ ਪ੍ਰਾਪਤ ਕੀਤਾ ਜਾ ਸਕੇ। ਇਸ ਤਰ੍ਹਾਂ, ਐਲਗੋਰਿਦਮ ਮੁਕਾਬਲਤਨ ਘੱਟ ਗੁੰਝਲਦਾਰ ਹੈ।

ਰੁਕਾਵਟ ਤੋਂ ਬਚਣ ਵਾਲੇ ਐਲਗੋਰਿਦਮ

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

ਇਹ ROS ਪੈਕੇਜ ਨਕਲੀ ਸੰਭਾਵੀ ਖੇਤਰ ਵਿਧੀ 'ਤੇ ਅਧਾਰਤ ਇੱਕ ਸੁਧਾਰ ਹੈ। ਸਭ ਤੋਂ ਪਹਿਲਾਂ, ਗਠਨ ਐਲਗੋਰਿਦਮ ਸਲੇਵ ਫਾਲੋਅਰ ਦੀ ਰੇਖਿਕ ਅਤੇ ਕੋਣੀ ਵੇਗ ਦੀ ਗਣਨਾ ਕਰਦਾ ਹੈ। ਫਿਰ ਇਹ ਰੁਕਾਵਟ ਤੋਂ ਬਚਣ ਦੀਆਂ ਲੋੜਾਂ ਦੇ ਅਨੁਸਾਰ ਰੇਖਿਕ ਅਤੇ ਕੋਣੀ ਵੇਗ ਨੂੰ ਵਧਾਉਂਦਾ ਜਾਂ ਘਟਾਉਂਦਾ ਹੈ। ਜਦੋਂ ਸਲੇਵ ਅਨੁਯਾਈ ਅਤੇ ਰੁਕਾਵਟ ਵਿਚਕਾਰ ਦੂਰੀ ਨੇੜੇ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਸਲੇਵ ਅਨੁਯਾਈ ਲਈ ਰੁਕਾਵਟ ਦੀ ਪ੍ਰਤੀਕ੍ਰਿਆ ਸ਼ਕਤੀ ਵਧੇਰੇ ਹੁੰਦੀ ਹੈ। ਇਸ ਦੌਰਾਨ ਰੇਖਿਕ ਵੇਗ ਦੀ ਤਬਦੀਲੀ ਅਤੇ ਕੋਣੀ ਵੇਗ ਦੇ ਭਿੰਨਤਾਵਾਂ ਵਧੇਰੇ ਹੁੰਦੀਆਂ ਹਨ। ਜਦੋਂ ਰੁਕਾਵਟ ਸਲੇਵ ਅਨੁਯਾਈ ਦੇ ਸਾਹਮਣੇ ਦੇ ਨੇੜੇ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਸਲੇਵ ਅਨੁਯਾਈ ਲਈ ਰੁਕਾਵਟ ਦਾ ਪ੍ਰਤੀਕਰਮ ਵੱਡਾ ਹੋ ਜਾਂਦਾ ਹੈ (ਸਾਹਮਣੇ ਦਾ ਪ੍ਰਤੀਕਰਮ ਸਭ ਤੋਂ ਵੱਡਾ ਹੁੰਦਾ ਹੈ ਅਤੇ ਪਾਸੇ ਦੀ ਪ੍ਰਤੀਕ੍ਰਿਆ ਸਭ ਤੋਂ ਛੋਟੀ ਹੁੰਦੀ ਹੈ)। ਨਤੀਜੇ ਵਜੋਂ, ਰੇਖਿਕ ਵੇਗ ਅਤੇ ਕੋਣੀ ਵੇਗ ਦੀਆਂ ਭਿੰਨਤਾਵਾਂ ਵਧੇਰੇ ਹੁੰਦੀਆਂ ਹਨ। ਨਕਲੀ ਸੰਭਾਵੀ ਖੇਤਰ ਵਿਧੀ ਦੁਆਰਾ, ਇਹ ਇੱਕ ਹੱਲ ਵਿੱਚ ਸੁਧਾਰ ਕਰਦਾ ਹੈ

ਜਦੋਂ ਇੱਕ ਰੋਬੋਟ ਇੱਕ ਰੁਕਾਵਟ ਦੇ ਸਾਹਮਣੇ ਜਵਾਬ ਦੇਣਾ ਬੰਦ ਕਰ ਸਕਦਾ ਹੈ. ਇਹ ਬਿਹਤਰ ਰੁਕਾਵਟ ਤੋਂ ਬਚਣ ਦੇ ਉਦੇਸ਼ ਨੂੰ ਪੂਰਾ ਕਰਦਾ ਹੈ।

ਮਲਟੀ-ਏਜੰਟ ਸੰਚਾਰ ਸੈੱਟਅੱਪ

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

ਮਲਟੀ-ਏਜੰਟ ਸੰਚਾਰ ਸੈੱਟਅੱਪ

ਮਲਟੀ-ਏਜੰਟ ਸੰਚਾਰ ਸਥਾਪਤ ਕਰਨ ਲਈ ਕਦਮ

ਉਸੇ ਨੈਟਵਰਕ ਵਿੱਚ ROS ਨਿਯੰਤਰਣ ਸੈਟ ਅਪ ਕਰੋ

ਇੱਕੋ ਨੈੱਟਵਰਕ ਦੇ ਅਧੀਨ ਮਾਸਟਰ/ਸਲੇਵ ROS ਨਿਯੰਤਰਣ ਸਥਾਪਤ ਕਰਨ ਦੇ 2 ਤਰੀਕੇ ਹਨ।

ਵਿਕਲਪ 1:

ਮਾਸਟਰ ਹੋਸਟ ਮਾਸਟਰ ਨੋਡ ਮੈਨੇਜਰ ਨੂੰ ਚਲਾ ਕੇ ਇੱਕ ਸਥਾਨਕ ਵਾਈਫਾਈ ਬਣਾਉਂਦਾ ਹੈ। ਆਮ ਤੌਰ 'ਤੇ, ਇੱਕ ਰੋਬੋਟ ਜਿਸ ਨੂੰ ਮਾਸਟਰ ਵਜੋਂ ਮਨੋਨੀਤ ਕੀਤਾ ਗਿਆ ਹੈ, ਇਹ ਵਾਈਫਾਈ ਨੈੱਟਵਰਕ ਬਣਾਉਂਦਾ ਹੈ। ਹੋਰ ਰੋਬੋਟ ਜਾਂ ਵਰਚੁਅਲ ਮਸ਼ੀਨਾਂ ਇਸ ਵਾਈਫਾਈ ਨੈੱਟਵਰਕ ਵਿੱਚ ਗੁਲਾਮਾਂ ਵਜੋਂ ਸ਼ਾਮਲ ਹੁੰਦੀਆਂ ਹਨ।

ਵਿਕਲਪ 2:

ਸਥਾਨਕ ਵਾਈਫਾਈ ਨੈੱਟਵਰਕ ਨੂੰ ਇੱਕ ਤੀਜੀ-ਧਿਰ ਰਾਊਟਰ ਦੁਆਰਾ ਇੱਕ ਸੂਚਨਾ ਰਿਲੇਅ ਕੇਂਦਰ ਵਜੋਂ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਸਾਰੇ ਰੋਬੋਟ ਇੱਕੋ ਰਾਊਟਰ ਨਾਲ ਜੁੜੇ ਹੋਏ ਹਨ। ਰਾਊਟਰ ਨੂੰ ਇੰਟਰਨੈਟ ਕਨੈਕਸ਼ਨ ਤੋਂ ਬਿਨਾਂ ਵੀ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ। ਇੱਕ ਰੋਬੋਟ ਨੂੰ ਮਾਸਟਰ ਵਜੋਂ ਚੁਣੋ ਅਤੇ ਮਾਸਟਰ ਨੋਡ ਮੈਨੇਜਰ ਚਲਾਓ। ਦੂਜੇ ਰੋਬੋਟ ਨੂੰ ਗੁਲਾਮ ਵਜੋਂ ਮਨੋਨੀਤ ਕੀਤਾ ਗਿਆ ਹੈ ਅਤੇ ਮਾਸਟਰ ਤੋਂ ਮਾਸਟਰ ਨੋਡ ਮੈਨੇਜਰ ਨੂੰ ਚਲਾਉਂਦੇ ਹਨ।

ਕਿਹੜਾ ਵਿਕਲਪ ਚੁਣਨਾ ਹੈ, ਇਹ ਫੈਸਲਾ ਤੁਹਾਡੀਆਂ ਪ੍ਰੋਜੈਕਟ ਲੋੜਾਂ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ। ਜੇਕਰ ਸੰਚਾਰ ਕਰਨ ਲਈ ਲੋੜੀਂਦੇ ਰੋਬੋਟਾਂ ਦੀ ਗਿਣਤੀ ਬਹੁਤ ਜ਼ਿਆਦਾ ਨਹੀਂ ਹੈ, ਤਾਂ ਵਿਕਲਪ 1 ਦੀ ਸਿਫ਼ਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਕਿਉਂਕਿ ਇਹ ਲਾਗਤ ਬਚਾਉਂਦਾ ਹੈ ਅਤੇ ਇਸਨੂੰ ਸਥਾਪਤ ਕਰਨਾ ਆਸਾਨ ਹੈ। ਜਦੋਂ ਰੋਬੋਟਾਂ ਦੀ ਗਿਣਤੀ ਵੱਡੀ ਮਾਤਰਾ ਵਿੱਚ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਵਿਕਲਪ 2 ਦੀ ਸਿਫ਼ਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ROS ਮਾਸਟਰ ਨਿਯੰਤਰਣ ਦੀ ਕੰਪਿਊਟਿੰਗ ਪਾਵਰ ਅਤੇ ਸੀਮਤ ਆਨਬੋਰਡ ਵਾਈਫਾਈ ਬੈਂਡਵਿਡਥ 'ਤੇ ਰੁਕਾਵਟ ਆਸਾਨੀ ਨਾਲ ਦੇਰੀ ਅਤੇ ਨੈੱਟਵਰਕ ਵਿਘਨ ਦਾ ਕਾਰਨ ਬਣ ਸਕਦੀ ਹੈ। ਇੱਕ ਰਾਊਟਰ ਇਹਨਾਂ ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਆਸਾਨੀ ਨਾਲ ਹੱਲ ਕਰ ਸਕਦਾ ਹੈ।

ਕਿਰਪਾ ਕਰਕੇ ਧਿਆਨ ਦਿਓ ਕਿ ਮਲਟੀ-ਏਜੰਟ ਸੰਚਾਰ ਕਰਨ ਵੇਲੇ, ਜੇਕਰ ਵਰਚੁਅਲ ਮਸ਼ੀਨ ਨੂੰ ROS ਸਲੇਵ ਵਜੋਂ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਇਸਦੇ ਨੈੱਟਵਰਕ ਮੋਡ ਨੂੰ ਬ੍ਰਿਜ ਮੋਡ 'ਤੇ ਸੈੱਟ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।

ਮਾਸਟਰ/ਸਲੇਵ ਇਨਵਾਇਰਮੈਂਟ ਵੇਰੀਏਬਲ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰੋ 

ਸਾਰੇ ROS ਮਾਸਟਰਾਂ ਦੇ ਇੱਕੋ ਨੈੱਟਵਰਕ ਵਿੱਚ ਹੋਣ ਤੋਂ ਬਾਅਦ, ਮਲਟੀ-ਏਜੰਟ ਸੰਚਾਰ ਲਈ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਸੈੱਟ ਕੀਤੇ ਜਾਣ ਦੀ ਲੋੜ ਹੈ। ਇਹ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ .bashrc ਵਿੱਚ ਸੰਰਚਿਤ ਕੀਤਾ ਗਿਆ ਹੈ file ਮੁੱਖ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ. ਇਸਨੂੰ ਚਲਾਉਣ ਲਈ gedit ~/.bashrc ਕਮਾਂਡ ਚਲਾਓ। ਕਿਰਪਾ ਕਰਕੇ ਧਿਆਨ ਦਿਓ ਕਿ ਦੋਵੇਂ .bashrc fileਮਲਟੀ-ਏਜੰਟ ਸੰਚਾਰ ਵਿੱਚ ਮਾਲਕ ਅਤੇ ਨੌਕਰ ਦੇ s ਨੂੰ ਕੌਂਫਿਗਰ ਕੀਤੇ ਜਾਣ ਦੀ ਲੋੜ ਹੈ। ਦੇ ਅੰਤ ਵਿੱਚ ਆਈਪੀ ਐਡਰੈੱਸ ਨੂੰ ਬਦਲਣ ਦੀ ਲੋੜ ਹੈ file. ਦੀਆਂ ਦੋ ਲਾਈਨਾਂ ROS_MASTER_URI ਅਤੇ ROS_HOSTNAME ਹਨ, ਜਿਵੇਂ ਕਿ ਚਿੱਤਰ 2-1-4 ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਹੈ। ROS ਹੋਸਟ ਦੇ ROS_MASTER_URI ਅਤੇ ROS_HOSTNAME ਦੋਵੇਂ ਸਥਾਨਕ IP ਹਨ। ROS ਸਲੇਵ ਵਿੱਚ ROS_MASTER_URI .bashrc file ਨੂੰ ਹੋਸਟ ਦੇ IP ਪਤੇ ਵਿੱਚ ਬਦਲਣ ਦੀ ਲੋੜ ਹੈ ਜਦੋਂ ਕਿ ROS_HOSTNAME ਇੱਕ ਸਥਾਨਕ IP ਪਤੇ ਦੇ ਤੌਰ 'ਤੇ ਰਹਿੰਦਾ ਹੈ।

ਮਲਟੀ-ਏਜੰਟ ਸੰਚਾਰ ਸੈੱਟਅੱਪ

ROS ਮਲਟੀ-ਮਸ਼ੀਨ ਸੰਚਾਰ ROS ਰੀਲੀਜ਼ ਸੰਸਕਰਣ ਦੁਆਰਾ ਸੀਮਤ ਨਹੀਂ ਹੈ। ਮਲਟੀਮਸ਼ੀਨ ਸੰਚਾਰ ਦੀ ਪ੍ਰਕਿਰਿਆ ਵਿੱਚ, ਕਿਸੇ ਨੂੰ ਹੇਠ ਲਿਖਿਆਂ ਬਾਰੇ ਸੁਚੇਤ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ:

  1. ROS ਸਲੇਵ ਪ੍ਰੋਗਰਾਮ ਦਾ ਸੰਚਾਲਨ ROS ਮਾਸਟਰ ਡਿਵਾਈਸ ਦੇ ROS ਮਾਸਟਰ ਪ੍ਰੋਗਰਾਮ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ।
    ROS ਮਾਸਟਰ ਪ੍ਰੋਗਰਾਮ ਨੂੰ ਸਲੇਵ ਡਿਵਾਈਸ 'ਤੇ ਸਲੇਵ ਪ੍ਰੋਗਰਾਮ ਨੂੰ ਚਲਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਮਾਸਟਰ ਡਿਵਾਈਸ 'ਤੇ ਪਹਿਲਾਂ ਲਾਂਚ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ।
  2. ਮਲਟੀ-ਮਸ਼ੀਨ ਸੰਚਾਰ ਵਿੱਚ ਮਾਸਟਰ ਅਤੇ ਸਲੇਵ ਮਸ਼ੀਨਾਂ ਦੇ IP ਪਤੇ ਇੱਕੋ ਨੈੱਟਵਰਕ ਵਿੱਚ ਹੋਣੇ ਚਾਹੀਦੇ ਹਨ। ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ IP ਐਡਰੈੱਸ ਅਤੇ ਸਬਨੈੱਟ ਮਾਸਕ ਇੱਕੋ ਨੈੱਟਵਰਕ ਦੇ ਅਧੀਨ ਹਨ।
  3. ਵਾਤਾਵਰਣ ਸੰਰਚਨਾ ਵਿੱਚ ROS_HOSTNAME file .bashrc ਨੂੰ ਲੋਕਲਹੋਸਟ ਵਰਤਣ ਦੀ ਸਿਫਾਰਸ਼ ਨਹੀਂ ਕੀਤੀ ਜਾਂਦੀ। ਇੱਕ ਖਾਸ IP ਪਤੇ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।
  4. ਜੇਕਰ ਸਲੇਵ IP ਐਡਰੈੱਸ ਸਹੀ ਢੰਗ ਨਾਲ ਸੈੱਟ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਹੈ, ਤਾਂ ਸਲੇਵ ਡਿਵਾਈਸ ਅਜੇ ਵੀ ROS ਮਾਸਟਰ ਤੱਕ ਪਹੁੰਚ ਕਰ ਸਕਦੀ ਹੈ ਪਰ ਕੰਟਰੋਲ ਜਾਣਕਾਰੀ ਨੂੰ ਇਨਪੁਟ ਨਹੀਂ ਕਰ ਸਕਦੀ।
  5.  ਜੇਕਰ ਵਰਚੁਅਲ ਮਸ਼ੀਨ ਮਲਟੀ-ਏਜੰਟ ਸੰਚਾਰ ਵਿੱਚ ਹਿੱਸਾ ਲੈਂਦੀ ਹੈ, ਤਾਂ ਇਸਦੇ ਨੈੱਟਵਰਕ ਮੋਡ ਨੂੰ ਬ੍ਰਿਜ ਮੋਡ 'ਤੇ ਸੈੱਟ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਨੈੱਟਵਰਕ ਕਨੈਕਸ਼ਨ ਲਈ ਸਥਿਰ IP ਨਹੀਂ ਚੁਣਿਆ ਜਾ ਸਕਦਾ ਹੈ।
  6. ਮਲਟੀ-ਮਸ਼ੀਨ ਸੰਚਾਰ ਨਹੀਂ ਹੋ ਸਕਦਾ view ਜਾਂ ਸੰਦੇਸ਼ ਡੇਟਾ ਕਿਸਮ ਦੇ ਵਿਸ਼ਿਆਂ ਦੀ ਗਾਹਕੀ ਲਓ ਜੋ ਸਥਾਨਕ ਤੌਰ 'ਤੇ ਮੌਜੂਦ ਨਹੀਂ ਹਨ।
  7. ਤੁਸੀਂ ਇਹ ਪੁਸ਼ਟੀ ਕਰਨ ਲਈ ਲਿਟਲ ਟਰਟਲ ਸਿਮੂਲੇਸ਼ਨ ਡੈਮੋ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ ਕਿ ਕੀ ਰੋਬੋਟਾਂ ਵਿਚਕਾਰ ਸੰਚਾਰ ਸਫਲ ਹੈ:
    a. ਮਾਸਟਰ ਤੋਂ ਭੱਜੋ
    roscore #ਲਾਂਚ ROS ਸੇਵਾਵਾਂ
    rosrun turtlesim turtlesim_node #launch turtlesim ਇੰਟਰਫੇਸ
    b.
    ਦਾਸ ਤੋਂ ਭੱਜੋ
    rosrun turtlesim turtle_teleop_key #ਟਰਟਲਸਿਮ ਲਈ ਕੀਬੋਰਡ ਕੰਟਰੋਲ ਨੋਡ ਲਾਂਚ ਕਰੋ

ਜੇਕਰ ਤੁਸੀਂ ਸਲੇਵ 'ਤੇ ਕੀ-ਬੋਰਡ ਤੋਂ ਕੱਛੂਆਂ ਦੀਆਂ ਹਰਕਤਾਂ ਨੂੰ ਹੇਰਾਫੇਰੀ ਕਰ ਸਕਦੇ ਹੋ, ਤਾਂ ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਮਾਸਟਰ/ਸਲੇਵ ਸੰਚਾਰ ਸਫਲਤਾਪੂਰਵਕ ਸਥਾਪਿਤ ਹੋ ਗਿਆ ਹੈ।

ROS ਵਿੱਚ ਆਟੋਮੈਟਿਕ Wifi ਕਨੈਕਸ਼ਨ

ਹੇਠਾਂ ਦਿੱਤੀਆਂ ਪ੍ਰਕਿਰਿਆਵਾਂ ਦੱਸਦੀਆਂ ਹਨ ਕਿ ਹੋਸਟ ਨੈੱਟਵਰਕ ਜਾਂ ਰਾਊਟਰ ਨੈੱਟਵਰਕ ਨਾਲ ਆਟੋਮੈਟਿਕ ਕਨੈਕਟ ਕਰਨ ਲਈ ਰੋਬੋਟ ਨੂੰ ਕਿਵੇਂ ਕੌਂਫਿਗਰ ਕਰਨਾ ਹੈ।

ਜੇਟਸਨ ਨੈਨੋ ਲਈ ਆਟੋਮੈਟਿਕ ਵਾਈਫਾਈ ਕਨੈਕਸ਼ਨ ਸੈੱਟਅੱਪ

  1. ਜੇਟਸਨ ਨੈਨੋ ਨੂੰ VNC ਰਿਮੋਟ ਟੂਲ ਰਾਹੀਂ ਜਾਂ ਸਿੱਧਾ ਕੰਪਿਊਟਰ ਸਕ੍ਰੀਨ ਨਾਲ ਕਨੈਕਟ ਕਰੋ। ਉੱਪਰ ਸੱਜੇ ਕੋਨੇ 'ਤੇ wifi ਆਈਕਨ 'ਤੇ ਕਲਿੱਕ ਕਰੋ ਅਤੇ ਫਿਰ "ਕਨੈਕਸ਼ਨ ਸੰਪਾਦਿਤ ਕਰੋ.." 'ਤੇ ਕਲਿੱਕ ਕਰੋ।
    ਮਲਟੀ-ਏਜੰਟ ਸੰਚਾਰ ਸੈੱਟਅੱਪ
  2. ਨੈੱਟਵਰਕ ਕਨੈਕਸ਼ਨਾਂ ਵਿੱਚ + ਬਟਨ 'ਤੇ ਕਲਿੱਕ ਕਰੋ:
    ਮਲਟੀ-ਏਜੰਟ ਸੰਚਾਰ ਸੈੱਟਅੱਪ
  3. "ਇੱਕ ਕਨੈਕਸ਼ਨ ਕਿਸਮ ਚੁਣੋ" ਵਿੰਡੋ ਦੇ ਤਹਿਤ, ਡ੍ਰੌਪ-ਡਾਉਨ ਮੀਨੂ 'ਤੇ ਕਲਿੱਕ ਕਰੋ ਅਤੇ "ਬਣਾਓ..." ਬਟਨ 'ਤੇ ਕਲਿੱਕ ਕਰੋ:
    ਮਲਟੀ-ਏਜੰਟ ਸੰਚਾਰ ਸੈੱਟਅੱਪ
  4. ਕੰਟਰੋਲ ਪੈਨਲ ਵਿੱਚ, Wifi ਵਿਕਲਪ 'ਤੇ ਕਲਿੱਕ ਕਰੋ। "ਕਨੈਕਸ਼ਨ ਨਾਮ" ਅਤੇ SSID ਖੇਤਰਾਂ ਵਿੱਚ ਕਨੈਕਟ ਕਰਨ ਲਈ Wifi ਨਾਮ ਦਰਜ ਕਰੋ। "ਮੋਡ" ਡ੍ਰੌਪਡਾਉਨ ਮੀਨੂ ਵਿੱਚ "ਕਲਾਇੰਟ" ਚੁਣੋ ਅਤੇ "ਡਿਵਾਈਸ" ਡ੍ਰੌਪਡਾਉਨ ਮੀਨੂ ਵਿੱਚ "wlan0" ਚੁਣੋ।
    ਮਲਟੀ-ਏਜੰਟ ਸੰਚਾਰ ਸੈੱਟਅੱਪ
  5. ਕੰਟਰੋਲ ਪੈਨਲ ਵਿੱਚ, "ਜਨਰਲ" ਵਿਕਲਪ 'ਤੇ ਕਲਿੱਕ ਕਰੋ ਅਤੇ "ਆਟੋਮੈਟਿਕਲੀ ਇਸ ਨੈੱਟਵਰਕ ਨਾਲ ਜੁੜੋ..." ਨੂੰ ਚੈੱਕ ਕਰੋ। "ਆਟੋ-ਐਕਟੀਵੇਸ਼ਨ ਲਈ ਕਨੈਕਸ਼ਨ ਤਰਜੀਹ" ਵਿਕਲਪ ਵਿੱਚ ਕਨੈਕਸ਼ਨ ਤਰਜੀਹ ਨੂੰ 1 'ਤੇ ਸੈੱਟ ਕਰੋ। "ਸਾਰੇ ਉਪਭੋਗਤਾ ਇਸ ਨੈਟਵਰਕ ਨਾਲ ਜੁੜ ਸਕਦੇ ਹਨ" ਵਿਕਲਪ ਦੀ ਜਾਂਚ ਕਰੋ। ਜਦੋਂ ਹੋਰ ਵਾਈ-ਫਾਈ ਲਈ "ਆਟੋ-ਐਕਟੀਵੇਸ਼ਨ ਲਈ ਕਨੈਕਸ਼ਨ ਤਰਜੀਹ" ਵਿੱਚ ਵਿਕਲਪ ਨੂੰ 0 'ਤੇ ਸੈੱਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਇਹ ਅਤੀਤ ਵਿੱਚ ਤਰਜੀਹੀ ਵਾਈਫਾਈ ਨੈੱਟਵਰਕ ਹੈ।
    ਮਲਟੀ-ਏਜੰਟ ਸੰਚਾਰ ਸੈੱਟਅੱਪ
  6. ਕੰਟਰੋਲ ਪੈਨਲ ਵਿੱਚ "Wi-Fi ਸੁਰੱਖਿਆ" ਵਿਕਲਪ 'ਤੇ ਕਲਿੱਕ ਕਰੋ। "ਸੁਰੱਖਿਆ" ਖੇਤਰ ਵਿੱਚ "WPA ਅਤੇ WPA2 ਨਿੱਜੀ" ਚੁਣੋ। ਫਿਰ ਵਿੱਚ Wifi ਪਾਸਵਰਡ ਦਰਜ ਕਰੋ
    ਮਲਟੀ-ਏਜੰਟ ਸੰਚਾਰ ਸੈੱਟਅੱਪ

ਨੋਟ ਕਰੋ:

ਜੇਕਰ ਵਾਈ-ਫਾਈ ਤਰਜੀਹ 0 'ਤੇ ਸੈੱਟ ਹੋਣ 'ਤੇ ਬੂਟ ਹੋਣ ਤੋਂ ਬਾਅਦ ਰੋਬੋਟ ਆਪਣੇ ਆਪ ਵਾਈ-ਫਾਈ ਨੈੱਟਵਰਕ ਨਾਲ ਕਨੈਕਟ ਨਹੀਂ ਹੋ ਸਕਦਾ, ਤਾਂ ਇਹ ਕਮਜ਼ੋਰ ਵਾਈ-ਫਾਈ ਸਿਗਨਲ ਦੀ ਸਮੱਸਿਆ ਕਾਰਨ ਹੋ ਸਕਦਾ ਹੈ। ਇਸ ਸਮੱਸਿਆ ਤੋਂ ਬਚਣ ਲਈ, ਤੁਸੀਂ ਪਿਛਲੇ ਸਮੇਂ ਵਿੱਚ ਕਨੈਕਟ ਕੀਤੇ ਗਏ ਸਾਰੇ ਵਾਈਫਾਈ ਵਿਕਲਪਾਂ ਨੂੰ ਮਿਟਾਉਣ ਦੀ ਚੋਣ ਕਰ ਸਕਦੇ ਹੋ। ਸਿਰਫ਼ ਹੋਸਟ ਜਾਂ ਰਾਊਟਰ ਦੁਆਰਾ ਬਣਾਏ ਗਏ ਵਾਈ-ਫਾਈ ਨੈੱਟਵਰਕ ਨੂੰ ਹੀ ਰੱਖੋ।

ਨੈੱਟਵਰਕ ਸੈਟਿੰਗ ਕੰਟਰੋਲ ਪੈਨਲ ਵਿੱਚ "IPv4 ਸੈਟਿੰਗਜ਼" ਵਿਕਲਪ 'ਤੇ ਕਲਿੱਕ ਕਰੋ। "ਵਿਧੀ" ਖੇਤਰ ਵਿੱਚ "ਮੈਨੂਅਲ" ਵਿਕਲਪ ਚੁਣੋ। ਫਿਰ "ਐਡ" 'ਤੇ ਕਲਿੱਕ ਕਰੋ, "ਐਡਰੈੱਸ" ਖੇਤਰ ਵਿੱਚ ਸਲੇਵ ਮਸ਼ੀਨ ਦਾ IP ਐਡਰੈੱਸ ਭਰੋ। "ਨੈੱਟਮਾਸਕ" ਖੇਤਰ ਵਿੱਚ "24" ਭਰੋ। "ਗੇਟਵੇ" ਵਿੱਚ IP ਨੈੱਟਵਰਕ ਹਿੱਸੇ ਨੂੰ ਭਰੋ। IP ਨੈੱਟਵਰਕ ਹਿੱਸੇ ਦੇ ਆਖਰੀ ਤਿੰਨ ਅੰਕਾਂ ਨੂੰ "1" ਵਿੱਚ ਬਦਲੋ। ਇਸ ਕਦਮ ਦਾ ਮੁੱਖ ਉਦੇਸ਼ IP ਐਡਰੈੱਸ ਨੂੰ ਠੀਕ ਕਰਨਾ ਹੈ। ਇਹ ਪਹਿਲੀ ਵਾਰ ਪੂਰਾ ਹੋਣ ਤੋਂ ਬਾਅਦ, ਬਾਅਦ ਵਿੱਚ ਉਸੇ WIFI ਨਾਲ ਕਨੈਕਟ ਹੋਣ 'ਤੇ IP ਪਤਾ ਬਦਲਿਆ ਨਹੀਂ ਰਹੇਗਾ।

ਮਲਟੀ-ਏਜੰਟ ਸੰਚਾਰ ਸੈੱਟਅੱਪ

ਸਾਰੀਆਂ ਸੈਟਿੰਗਾਂ ਕੌਂਫਿਗਰ ਹੋਣ ਤੋਂ ਬਾਅਦ, ਸੈਟਿੰਗਾਂ ਨੂੰ ਸੁਰੱਖਿਅਤ ਕਰਨ ਲਈ "ਸੇਵ" 'ਤੇ ਕਲਿੱਕ ਕਰੋ। ਸੇਵਿੰਗ ਸਫਲ ਹੋਣ ਤੋਂ ਬਾਅਦ, ਰੋਬੋਟ ਆਪਣੇ ਆਪ ਹੋਸਟ ਜਾਂ ਰਾਊਟਰ ਦੇ ਨੈੱਟਵਰਕ ਨਾਲ ਕਨੈਕਟ ਹੋ ਜਾਵੇਗਾ ਜਦੋਂ ਇਹ ਚਾਲੂ ਹੁੰਦਾ ਹੈ।

ਨੋਟ ਕਰੋ:

  1. ਇੱਥੇ ਸੈੱਟ ਕੀਤਾ IP ਐਡਰੈੱਸ .bashrc ਵਿੱਚ ਸੈੱਟ ਕੀਤੇ IP ਐਡਰੈੱਸ ਵਰਗਾ ਹੀ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ file ਸੈਕਸ਼ਨ 2.1 ਵਿੱਚ।
  2. ਮਾਲਕ ਅਤੇ ਹਰੇਕ ਨੌਕਰ ਦਾ IP ਪਤਾ ਵਿਲੱਖਣ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।
  3. ਮਾਸਟਰ ਅਤੇ ਸਲੇਵ IP ਐਡਰੈੱਸ ਇੱਕੋ ਨੈੱਟਵਰਕ ਹਿੱਸੇ ਵਿੱਚ ਹੋਣੇ ਚਾਹੀਦੇ ਹਨ।
  4. ਸਲੇਵ ਰੋਬੋਟ ਨੂੰ ਚਾਲੂ ਕਰਨ ਅਤੇ WiFi ਨੈਟਵਰਕ ਨਾਲ ਆਪਣੇ ਆਪ ਕਨੈਕਟ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਤੁਹਾਨੂੰ ਹੋਸਟ ਜਾਂ ਰਾਊਟਰ ਦੁਆਰਾ WiFi ਸਿਗਨਲ ਭੇਜਣ ਲਈ ਉਡੀਕ ਕਰਨੀ ਪਵੇਗੀ।
  5. ਸੈਟਿੰਗ ਕੌਂਫਿਗਰ ਹੋਣ ਤੋਂ ਬਾਅਦ, ਜੇਕਰ ਰੋਬੋਟ ਵਾਈ-ਫਾਈ ਦੇ ਚਾਲੂ ਹੋਣ 'ਤੇ ਆਪਣੇ ਆਪ ਕਨੈਕਟ ਨਹੀਂ ਹੋ ਸਕਦਾ ਹੈ, ਤਾਂ ਕਿਰਪਾ ਕਰਕੇ ਨੈੱਟਵਰਕ ਕਾਰਡ ਨੂੰ ਪਲੱਗ ਅਤੇ ਅਨਪਲੱਗ ਕਰੋ ਅਤੇ ਦੁਬਾਰਾ ਕਨੈਕਟ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ।

Raspberry Pi ਲਈ ਆਟੋਮੈਟਿਕ Wifi ਕਨੈਕਸ਼ਨ ਸੈੱਟਅੱਪ 

ਰਾਸਬੇਰੀ ਪਾਈ ਦੀ ਵਿਧੀ ਜੈਟਸਨ ਨੈਨੋ ਵਰਗੀ ਹੈ।

Jetson TX1 ਲਈ ਆਟੋਮੈਟਿਕ Wifi ਕਨੈਕਸ਼ਨ ਸੈੱਟਅੱਪ 

Jetson TX1 ਵਿੱਚ ਸੈੱਟਅੱਪ ਲਗਭਗ ਜੈਟਸਨ ਨੈਨੋ ਵਾਂਗ ਹੀ ਹੈ, ਇੱਕ ਅਪਵਾਦ ਦੇ ਨਾਲ ਕਿ Jetson TX1 ਨੂੰ ਨੈੱਟਵਰਕ ਸੈਟਿੰਗ ਕੰਟਰੋਲ ਪੈਨਲ ਵਿੱਚ "ਡਿਵਾਈਸ" ਵਿੱਚ "wlan1" ਦੀ ਡਿਵਾਈਸ ਦੀ ਚੋਣ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ।

ਮਲਟੀ-ਏਜੰਟ ਸੰਚਾਰ ਸੈੱਟਅੱਪ

ਮਲਟੀ-ਏਜੰਟ ਸਿੰਕ੍ਰੋਨਾਈਜ਼ੇਸ਼ਨ ਸੈੱਟਅੱਪ

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

ਸਫਲ ਮਾਸਟਰ/ਸਲੇਵ ਨੈੱਟਵਰਕ ਕਨੈਕਸ਼ਨ

ਮਲਟੀ-ਏਜੰਟ ਸੰਚਾਰ ਨੂੰ ਕੌਂਫਿਗਰ ਕੀਤੇ ਜਾਣ ਤੋਂ ਬਾਅਦ, ਜੇਕਰ ਮਾਸਟਰ ਅਤੇ ਸਲੇਵ ਮਸ਼ੀਨਾਂ ਸਫਲਤਾਪੂਰਵਕ ਨੈੱਟਵਰਕ ਨਾਲ ਜੁੜ ਸਕਦੀਆਂ ਹਨ, ਤਾਂ ਉਹ ਆਪਣੇ ਆਪ ਹੀ ਨੈੱਟਵਰਕ ਸਮੇਂ ਨੂੰ ਸਮਕਾਲੀ ਕਰ ਲੈਣਗੀਆਂ। ਇਸ ਸਥਿਤੀ ਵਿੱਚ, ਸਮਾਂ ਸਮਕਾਲੀਕਰਨ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਹੋਰ ਕਾਰਵਾਈਆਂ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ।

ਨੈੱਟਵਰਕ ਡਿਸ-ਕਨੈਕਸ਼ਨਾਂ ਦਾ ਨਿਪਟਾਰਾ ਕਰਨਾ 

ਮਲਟੀ-ਏਜੰਟ ਸੰਚਾਰ ਨੂੰ ਕੌਂਫਿਗਰ ਕੀਤੇ ਜਾਣ ਤੋਂ ਬਾਅਦ, ਜੇਕਰ ਮਾਸਟਰ ਅਤੇ ਸਲੇਵ ਡਿਵਾਈਸ ਸਫਲਤਾਪੂਰਵਕ ਨੈਟਵਰਕ ਨਾਲ ਕਨੈਕਟ ਨਹੀਂ ਕਰ ਸਕਦੇ ਹਨ, ਤਾਂ ਸਮੇਂ ਨੂੰ ਹੱਥੀਂ ਸਿੰਕ੍ਰੋਨਾਈਜ਼ ਕਰਨਾ ਜ਼ਰੂਰੀ ਹੈ। ਅਸੀਂ ਸਮਾਂ ਸੈਟਿੰਗ ਨੂੰ ਪੂਰਾ ਕਰਨ ਲਈ ਮਿਤੀ ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਕਰਾਂਗੇ।

ਪਹਿਲਾਂ, ਟਰਮੀਨੇਟਰ ਟੂਲ ਨੂੰ ਸਥਾਪਿਤ ਕਰੋ। ਟਰਮੀਨੇਟਰ ਟੂਲ ਤੋਂ, ਮਾਸਟਰ ਅਤੇ ਸਲੇਵ ਦੇ ਕੰਟਰੋਲ ਟਰਮੀਨਲ ਨੂੰ ਇੱਕੋ ਟਰਮੀਨਲ ਵਿੰਡੋ ਵਿੱਚ ਰੱਖਣ ਲਈ ਵਿੰਡੋ ਸਪਲਿਟਿੰਗ ਟੂਲ ਦੀ ਵਰਤੋਂ ਕਰੋ (ਇੱਕ ਸਪਲਿਟ ਵਿੰਡੋ ਸੈੱਟ ਕਰਨ ਲਈ ਸੱਜਾ-ਕਲਿੱਕ ਕਰੋ, ਅਤੇ ਵੱਖ-ਵੱਖ ਵਿੰਡੋਜ਼ ਵਿੱਚ ssh ਦੁਆਰਾ ਮਾਸਟਰ ਅਤੇ ਸਲੇਵ ਮਸ਼ੀਨਾਂ ਵਿੱਚ ਲੌਗਇਨ ਕਰੋ) .

sudo apt-get install terminator # ਟਰਮੀਨਲ ਵਿੰਡੋ ਨੂੰ ਸਪਲਿਟ ਕਰਨ ਲਈ ਟਰਮੀਨੇਟਰ ਨੂੰ ਡਾਊਨਲੋਡ ਕਰੋ 

ਉੱਪਰਲੇ ਖੱਬੇ ਪਾਸੇ ਦੇ ਬਟਨ 'ਤੇ ਕਲਿੱਕ ਕਰੋ, [ਸਭ ਲਈ ਪ੍ਰਸਾਰਣ]/[ਬਰਾਡਕਾਸਟ ਸਾਰੇ] ਵਿਕਲਪ ਦੀ ਚੋਣ ਕਰੋ, ਹੇਠ ਦਿੱਤੀ ਕਮਾਂਡ ਦਿਓ। ਫਿਰ ਮਾਲਕ ਅਤੇ ਨੌਕਰ ਲਈ ਇੱਕੋ ਸਮਾਂ ਸੈੱਟ ਕਰਨ ਲਈ ਟਰਮੀਨੇਟਰ ਟੂਲ ਦੀ ਵਰਤੋਂ ਕਰੋ।

ਮਲਟੀ-ਏਜੰਟ ਸਿੰਕ੍ਰੋਨਾਈਜ਼ੇਸ਼ਨ ਸੈੱਟਅੱਪ

sudo date -s “2022-01-30 15:15:00” # ਦਸਤੀ ਸਮਾਂ ਸੈੱਟਅੱਪ 

ਮਲਟੀ-ਏਜੰਟ ROS ਪੈਕੇਜ

ROS ਪੈਕੇਜ ਜਾਣ-ਪਛਾਣ 

ਸਲੇਵ ਨਾਮ ਸੈਟ ਅਪ ਕਰੋ

wheeltec_multi ਫੰਕਸ਼ਨ ਪੈਕੇਜ ਵਿੱਚ, ਗਲਤੀਆਂ ਤੋਂ ਬਚਣ ਲਈ ਹਰੇਕ ਸਲੇਵ ਰੋਬੋਟ ਲਈ ਇੱਕ ਵਿਲੱਖਣ ਨਾਮ ਸੈੱਟ ਕਰਨਾ ਜ਼ਰੂਰੀ ਹੈ। ਸਾਬਕਾ ਲਈample, slave1 ਲਈ ਨੰਬਰ 1 ਅਤੇ slave2 ਲਈ ਨੰਬਰ 2 ਆਦਿ।

ਵੱਖ-ਵੱਖ ਨਾਮਾਂ ਨੂੰ ਸੈੱਟ ਕਰਨ ਦਾ ਉਦੇਸ਼ ਚੱਲ ਰਹੇ ਨੋਡਾਂ ਨੂੰ ਸਮੂਹ ਕਰਨਾ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਵੱਖ-ਵੱਖ ਨਾਮ-ਸਥਾਨਾਂ ਦੁਆਰਾ ਵੱਖ ਕਰਨਾ ਹੈ। ਸਾਬਕਾ ਲਈample, ਸਲੇਵ 1 ਦਾ ਰਾਡਾਰ ਵਿਸ਼ਾ ਹੈ: /slave1/scan, ਅਤੇ ਸਲੇਵ 1 ਦਾ LiDAR ਨੋਡ ਹੈ: / slave1/laser.

ਸਲੇਵ ਕੋਆਰਡੀਨੇਟ ਸੈਟ ਅਪ ਕਰੋ

wheeltec_multi ਪੈਕੇਜ ਕਸਟਮ ਫਾਰਮੇਸ਼ਨਾਂ ਨੂੰ ਲਾਗੂ ਕਰ ਸਕਦਾ ਹੈ। ਜਦੋਂ ਵੱਖ-ਵੱਖ ਬਣਤਰਾਂ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਬਸ ਸਲੇਵ ਰੋਬੋਟਾਂ ਦੇ ਲੋੜੀਂਦੇ ਨਿਰਦੇਸ਼ਾਂਕ ਨੂੰ ਸੋਧੋ। ਸਲੇਵ_x ਅਤੇ ਸਲੇਵ_y ਮੂਲ ਸੰਦਰਭ ਬਿੰਦੂ ਦੇ ਤੌਰ 'ਤੇ ਮਾਸਟਰ ਦੇ ਨਾਲ ਸਲੇਵ ਦੇ x ਅਤੇ y ਕੋਆਰਡੀਨੇਟ ਹਨ। ਮਾਸਟਰ ਦਾ ਅਗਲਾ ਹਿੱਸਾ x ਕੋਆਰਡੀਨੇਟ ਦੀ ਸਕਾਰਾਤਮਕ ਦਿਸ਼ਾ ਹੈ, ਅਤੇ ਖੱਬੇ ਪਾਸੇ y ਕੋਆਰਡੀਨੇਟ ਦੀ ਸਕਾਰਾਤਮਕ ਦਿਸ਼ਾ ਹੈ। ਸੈਟਿੰਗ ਪੂਰੀ ਹੋਣ ਤੋਂ ਬਾਅਦ, ਇੱਕ TF ਕੋਆਰਡੀਨੇਟ ਸਲੇਵ 1 ਨੂੰ ਸਲੇਵ ਦੇ ਸੰਭਾਵਿਤ ਕੋਆਰਡੀਨੇਟ ਵਜੋਂ ਜਾਰੀ ਕੀਤਾ ਜਾਵੇਗਾ।

ਜੇ ਇੱਕ ਮਾਲਕ ਅਤੇ ਦੋ ਨੌਕਰ ਹਨ, ਤਾਂ ਹੇਠ ਦਿੱਤੀ ਰਚਨਾ ਨੂੰ ਸੈੱਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ:

  1. ਲੇਟਵੀਂ ਬਣਤਰ: ਤੁਸੀਂ ਖੱਬੇ ਪਾਸੇ ਸਲੇਵ ਦੇ ਧੁਰੇ ਨੂੰ: slave_x:0, slave_y: 0.8, ਅਤੇ ਸੱਜੇ ਪਾਸੇ ਦਾ slav ਦੇ ਧੁਰੇ: slave_x:0, slave_y:-0.8 'ਤੇ ਸੈੱਟ ਕਰ ਸਕਦੇ ਹੋ।
  2. ਕਾਲਮ ਬਣਤਰ: ਇੱਕ ਸਲੇਵ ਦੇ ਕੋਆਰਡੀਨੇਟਸ ਨੂੰ ਇਸ 'ਤੇ ਸੈੱਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ: slave_x:-0.8, slave_y:0, ਅਤੇ ਦੂਜੇ ਸਲੇਵ ਦੇ ਧੁਰੇ ਨੂੰ ਸੈੱਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ: slave_x:-1.8, slave_y:0।
  3. ਤਿਕੋਣੀ ਬਣਤਰ: ਇੱਕ ਸਲੇਵ ਦੇ ਕੋਆਰਡੀਨੇਟਸ ਨੂੰ ਇਸ 'ਤੇ ਸੈੱਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ: slave_x:-0.8, slave_y: 0.8, ਅਤੇ ਦੂਜੇ ਸਲੇਵ ਦੇ ਕੋਆਰਡੀਨੇਟਸ ਨੂੰ: slave_x:-0.8, slave_y:-0.8 'ਤੇ ਸੈੱਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।

ਹੋਰ ਬਣਤਰ ਲੋੜ ਅਨੁਸਾਰ ਅਨੁਕੂਲਿਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ.

ਨੋਟ ਕਰੋ

ਦੋ ਰੋਬੋਟਾਂ ਵਿਚਕਾਰ ਸਿਫ਼ਾਰਸ਼ ਕੀਤੀ ਦੂਰੀ 0.8 'ਤੇ ਸੈੱਟ ਕੀਤੀ ਗਈ ਹੈ, ਅਤੇ ਇਹ ਸਿਫ਼ਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਕਿ ਇਹ 0.6 ਤੋਂ ਘੱਟ ਨਾ ਹੋਵੇ। ਨੌਕਰਾਂ ਅਤੇ ਮਾਲਕ ਵਿਚਕਾਰ ਦੂਰੀ ਨੂੰ 2.0 ਤੋਂ ਹੇਠਾਂ ਨਿਰਧਾਰਤ ਕਰਨ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ. ਇਹ ਮਾਲਕ ਤੋਂ ਜਿੰਨਾ ਦੂਰ ਹੈ, ਮਾਲਕ ਦੇ ਮੁੜਨ ਵੇਲੇ ਨੌਕਰ ਦੀ ਰੇਖਿਕ ਗਤੀ ਓਨੀ ਹੀ ਵੱਧ ਹੈ। ਅਧਿਕਤਮ ਗਤੀ ਦੀ ਸੀਮਾ ਦੇ ਕਾਰਨ, ਸਲੇਵ ਦੀ ਗਤੀ ਭਟਕ ਜਾਵੇਗੀ ਜੇਕਰ ਇਹ ਜ਼ਰੂਰਤਾਂ ਨੂੰ ਪੂਰਾ ਨਹੀਂ ਕਰਦੀ ਹੈ. ਰੋਬੋਟ ਦਾ ਗਠਨ ਅਰਾਜਕ ਹੋ ਜਾਵੇਗਾ.

ਨੌਕਰ ਦੀ ਸਥਿਤੀ ਦੀ ਸ਼ੁਰੂਆਤ

ਸਲੇਵ ਦੀ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ ਮੂਲ ਰੂਪ ਵਿੱਚ ਸੰਭਾਵਿਤ ਕੋਆਰਡੀਨੇਟਸ 'ਤੇ ਹੁੰਦੀ ਹੈ। ਪ੍ਰੋਗਰਾਮ ਨੂੰ ਚਲਾਉਣ ਤੋਂ ਪਹਿਲਾਂ, ਸ਼ੁਰੂਆਤ ਨੂੰ ਪੂਰਾ ਕਰਨ ਲਈ ਸਲੇਵ ਰੋਬੋਟ ਨੂੰ ਇਸਦੇ ਸੰਭਾਵਿਤ ਨਿਰਦੇਸ਼ਾਂਕ ਦੇ ਨੇੜੇ ਰੱਖੋ।

ਇਹ ਫੰਕਸ਼ਨ ਵਿੱਚ pose_setter ਨੋਡ ਦੁਆਰਾ ਲਾਗੂ ਕੀਤਾ ਗਿਆ ਹੈ file wheeltec_multi ਪੈਕੇਜ ਵਿੱਚ turn_on_wheeltec_robot.launch ਨਾਮ ਦਿੱਤਾ ਗਿਆ ਹੈ, ਜਿਵੇਂ ਕਿ ਚਿੱਤਰ 4-1-3 ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਹੈ।

ਮਲਟੀ-ਏਜੰਟ Ros ਪੈਕੇਜ

ਜੇਕਰ ਉਪਭੋਗਤਾ ਸਲੇਵ ਦੀ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ ਨੂੰ ਅਨੁਕੂਲਿਤ ਕਰਨਾ ਚਾਹੁੰਦਾ ਹੈ, ਤਾਂ ਉਸਨੂੰ ਸਿਰਫ slave_x ਅਤੇ slave_y ਮੁੱਲ ਸੈੱਟ ਕਰਨ ਦੀ ਲੋੜ ਹੈ ਜਿਵੇਂ ਕਿ wheeltec_slave.launch ਵਿੱਚ ਚਿੱਤਰ 4-1-4 ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਹੈ। slave_x ਅਤੇ slave_y ਮੁੱਲ turn_on_wheeltec_robot.launch ਨੂੰ ਪਾਸ ਕੀਤੇ ਜਾਣਗੇ ਅਤੇ pose_setter ਨੋਡ ਨੂੰ ਸੌਂਪੇ ਜਾਣਗੇ। ਪ੍ਰੋਗਰਾਮ ਨੂੰ ਚਲਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਰੋਬੋਟ ਨੂੰ ਇੱਕ ਕਸਟਮ ਸਥਿਤੀ ਵਿੱਚ ਰੱਖੋ।

ਮਲਟੀ-ਏਜੰਟ Ros ਪੈਕੇਜ

ਸਥਿਤੀ ਸੰਰਚਨਾ 

ਇੱਕ ਮਲਟੀ-ਏਜੰਟ ਗਠਨ ਵਿੱਚ, ਹੱਲ ਹੋਣ ਵਾਲੀ ਪਹਿਲੀ ਸਮੱਸਿਆ ਮਾਲਕ ਅਤੇ ਨੌਕਰ ਦੀ ਸਥਿਤੀ ਹੈ। ਮਾਸਟਰ ਪਹਿਲਾਂ ਇੱਕ 2D ਨਕਸ਼ਾ ਤਿਆਰ ਕਰੇਗਾ। ਨਕਸ਼ੇ ਨੂੰ ਬਣਾਉਣ ਅਤੇ ਸੁਰੱਖਿਅਤ ਕਰਨ ਤੋਂ ਬਾਅਦ, 2D ਨੈਵੀਗੇਸ਼ਨ ਪੈਕੇਜ ਚਲਾਓ ਅਤੇ ਮਾਸਟਰ ਦੀ ਸਥਿਤੀ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਨ ਲਈ 2D ਨੇਵੀਗੇਸ਼ਨ ਪੈਕੇਜ ਵਿੱਚ ਅਨੁਕੂਲ ਮੋਂਟੇ ਕਾਰਲੋ ਪੋਜੀਸ਼ਨਿੰਗ ਐਲਗੋਰਿਦਮ (amcl ਪੋਜੀਸ਼ਨਿੰਗ) ਦੀ ਵਰਤੋਂ ਕਰੋ।

ਕਿਉਂਕਿ ਮਾਸਟਰ ਅਤੇ ਸਲੇਵ ਇੱਕੋ ਨੈਟਵਰਕ ਵਿੱਚ ਹਨ ਅਤੇ ਇੱਕੋ ਨੋਡ ਮੈਨੇਜਰ ਨੂੰ ਸਾਂਝਾ ਕਰਦੇ ਹਨ, ਮਾਸਟਰ ਨੇ 2D ਨੈਵੀਗੇਸ਼ਨ ਪੈਕੇਜ ਤੋਂ ਨਕਸ਼ੇ ਨੂੰ ਲਾਂਚ ਕੀਤਾ ਹੈ, ਸਾਰੇ ਨੌਕਰ ਇੱਕੋ ਨੋਡ ਮੈਨੇਜਰ ਦੇ ਅਧੀਨ ਇੱਕੋ ਨਕਸ਼ੇ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹਨ। ਇਸ ਲਈ, ਗੁਲਾਮ ਨੂੰ ਇੱਕ ਨਕਸ਼ਾ ਬਣਾਉਣ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ. wheeltec_slave.launch ਵਿੱਚ, ਮੋਂਟੇ ਕਾਰਲੋ ਪੋਜੀਸ਼ਨਿੰਗ (amcl ਪੋਜੀਸ਼ਨਿੰਗ) ਚਲਾਓ, ਨੌਕਰ ਮਾਸਟਰ ਦੁਆਰਾ ਬਣਾਏ ਨਕਸ਼ੇ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਆਪਣੀਆਂ ਸਥਿਤੀਆਂ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰ ਸਕਦੇ ਹਨ।

ਮਲਟੀ-ਏਜੰਟ Ros ਪੈਕੇਜ

ਗਠਨ ਕਿਵੇਂ ਕਰਨਾ ਹੈ ਅਤੇ ਗਠਨ ਨੂੰ ਕਿਵੇਂ ਕਾਇਮ ਰੱਖਣਾ ਹੈ 

ਗਠਨ ਅੰਦੋਲਨ ਦੀ ਪ੍ਰਕਿਰਿਆ ਵਿੱਚ, ਮਾਸਟਰ ਅੰਦੋਲਨ ਨੂੰ Rviz, ਕੀਬੋਰਡ, ਰਿਮੋਟ ਕੰਟਰੋਲ ਅਤੇ ਹੋਰ ਤਰੀਕਿਆਂ ਦੁਆਰਾ ਨਿਯੰਤਰਿਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ਸਲੇਵ ਆਪਣੀ ਗਤੀ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਨ ਅਤੇ ਗਠਨ ਦੇ ਟੀਚੇ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ slave_tf_listener ਨੋਡ ਦੁਆਰਾ ਆਪਣੀ ਗਤੀ ਦੀ ਗਣਨਾ ਕਰਦਾ ਹੈ।

slave_tf_listener ਨੋਡ ਨੋਡ ਗਣਨਾ ਦੁਆਰਾ ਬਹੁਤ ਜ਼ਿਆਦਾ ਗਤੀ ਤੋਂ ਬਚਣ ਲਈ ਸਲੇਵ ਸਪੀਡ ਨੂੰ ਸੀਮਿਤ ਕਰਦਾ ਹੈ, ਜੋ ਕਿ ਪ੍ਰਭਾਵਾਂ ਦੀ ਇੱਕ ਲੜੀ ਦਾ ਕਾਰਨ ਬਣੇਗਾ। ਖਾਸ ਮੁੱਲ ਨੂੰ wheeltec_slave.launch ਵਿੱਚ ਸੋਧਿਆ ਜਾ ਸਕਦਾ ਹੈ।

ਮਲਟੀ-ਏਜੰਟ Ros ਪੈਕੇਜ

ਗਠਨ ਐਲਗੋਰਿਦਮ ਦੇ ਸੰਬੰਧਿਤ ਮਾਪਦੰਡ ਹੇਠ ਲਿਖੇ ਅਨੁਸਾਰ ਹਨ:

ਮਲਟੀ-ਏਜੰਟ Ros ਪੈਕੇਜ

ਗਠਨ ਵਿੱਚ ਰੁਕਾਵਟ ਤੋਂ ਬਚਣਾ

ਇੱਕ ਮਲਟੀ-ਏਜੰਟ ਗਠਨ ਵਿੱਚ, ਮਾਸਟਰ ਰੁਕਾਵਟ ਤੋਂ ਬਚਣ ਲਈ ਮੂਵ_ਬੇਸ ਨੋਡ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦਾ ਹੈ। ਹਾਲਾਂਕਿ, ਸਲੇਵ ਦੀ ਸ਼ੁਰੂਆਤ ਮੂਵ_ਬੇਸ ਨੋਡ ਦੀ ਵਰਤੋਂ ਨਹੀਂ ਕਰਦੀ ਹੈ। ਇਸ ਸਮੇਂ, ਮਲਟੀ_ਐਵੋਇਡੈਂਸ ਨੋਡ ਨੂੰ ਸਲੇਵ ਪ੍ਰੋਗਰਾਮ ਵਿੱਚ ਬੁਲਾਉਣ ਦੀ ਲੋੜ ਹੈ। ਰੁਕਾਵਟ ਪਰਹੇਜ਼ ਨੋਡ ਨੂੰ ਪੈਕੇਜ ਵਿੱਚ ਮੂਲ ਰੂਪ ਵਿੱਚ ਯੋਗ ਕੀਤਾ ਗਿਆ ਹੈ। ਜੇ ਜਰੂਰੀ ਹੋਵੇ, ਰੁਕਾਵਟ ਤੋਂ ਬਚਣ ਵਾਲੇ ਨੋਡ ਨੂੰ ਅਸਮਰੱਥ ਬਣਾਉਣ ਲਈ ਬਚਣ ਨੂੰ "ਗਲਤ" ਤੇ ਸੈੱਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।

ਮਲਟੀ-ਏਜੰਟ Ros ਪੈਕੇਜ

ਰੁਕਾਵਟ ਤੋਂ ਬਚਣ ਵਾਲੇ ਨੋਡ ਦੇ ਕੁਝ ਸੰਬੰਧਿਤ ਮਾਪਦੰਡ ਹੇਠਾਂ ਦਿੱਤੇ ਚਿੱਤਰ ਵਿੱਚ ਦਿਖਾਏ ਗਏ ਹਨ, ਜਿੱਥੇ ਸੁਰੱਖਿਅਤ_ਦੂਰੀ ਰੁਕਾਵਟ ਸੁਰੱਖਿਅਤ ਦੂਰੀ ਸੀਮਾ ਹੈ, ਅਤੇ ਖਤਰੇ_ਦੂਰੀ ਰੁਕਾਵਟ ਖਤਰਨਾਕ ਦੂਰੀ ਸੀਮਾ ਹੈ। ਜਦੋਂ ਰੁਕਾਵਟ ਸੁਰੱਖਿਅਤ_ਦੂਰੀ ਅਤੇ ਖਤਰੇ_ਦੂਰੀ ਦੇ ਅੰਦਰ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਨੌਕਰ ਰੁਕਾਵਟ ਤੋਂ ਬਚਣ ਲਈ ਆਪਣੀ ਸਥਿਤੀ ਨੂੰ ਅਨੁਕੂਲ ਕਰਦਾ ਹੈ। ਜਦੋਂ ਰੁਕਾਵਟ ਖਤਰੇ_ਦੂਰੀ ਦੇ ਅੰਦਰ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਗੁਲਾਮ ਰੁਕਾਵਟ ਤੋਂ ਦੂਰ ਹੋ ਜਾਂਦਾ ਹੈ।

ਮਲਟੀ-ਏਜੰਟ Ros ਪੈਕੇਜ

ਸੰਚਾਲਨ ਵਿਧੀ 

ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਕਮਾਂਡ ਦਿਓ 

ਮਲਟੀ-ਏਜੰਟ ਗਠਨ ਸ਼ੁਰੂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਤਿਆਰੀਆਂ:

  • ਮਾਲਕ ਅਤੇ ਨੌਕਰ ਇੱਕੋ ਨੈੱਟਵਰਕ ਨਾਲ ਜੁੜਦੇ ਹਨ ਅਤੇ ਮਲਟੀ-ਏਜੰਟ ਸੰਚਾਰ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਸਥਾਪਤ ਕਰਦੇ ਹਨ
  • ਮਾਸਟਰ ਪਹਿਲਾਂ ਹੀ 2D ਨਕਸ਼ਾ ਬਣਾਉਂਦਾ ਹੈ ਅਤੇ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਕਰਦਾ ਹੈ
  • ਮਾਸਟਰ ਨੂੰ ਨਕਸ਼ੇ ਦੇ ਸ਼ੁਰੂਆਤੀ ਬਿੰਦੂ 'ਤੇ ਰੱਖਿਆ ਜਾਂਦਾ ਹੈ, ਅਤੇ ਸਲੇਵ ਨੂੰ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਡਿਫਾਲਟ ਸਲੇਵ ਬਣਾਉਣ ਦੀ ਸਥਿਤੀ) ਦੇ ਨੇੜੇ ਰੱਖਿਆ ਜਾਂਦਾ ਹੈ।
  • Jetson Nano/Raspberry Pi ਵਿੱਚ ਰਿਮੋਟਲੀ ਲਾਗਇਨ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਸਮਾਂ ਸਮਕਾਲੀਕਰਨ ਕਰੋ।

sudo ਮਿਤੀ -s "2022-04-01 15:15:00" 

ਕਦਮ 1: ਮਾਸਟਰ ਤੋਂ 2D ਨਕਸ਼ਾ ਖੋਲ੍ਹੋ।
roslaunch turn_on_wheeltec_robot navigation.launch

ਕਦਮ 2: ਸਾਰੇ ਨੌਕਰਾਂ ਤੋਂ ਗਠਨ ਪ੍ਰੋਗਰਾਮ ਚਲਾਓ.
roslaunch wheeltec_multi wheeltec_slave.launch

ਕਦਮ 3: ਮਾਸਟਰ ਤੋਂ ਕੀਬੋਰਡ ਕੰਟਰੋਲ ਨੋਡ ਖੋਲ੍ਹੋ ਜਾਂ ਮਾਸਟਰ ਮੂਵਮੈਂਟ ਨੂੰ ਰਿਮੋਟ ਕੰਟਰੋਲ ਕਰਨ ਲਈ ਜੌਇਸਟਿਕ ਦੀ ਵਰਤੋਂ ਕਰੋ।
roslaunch wheeltec_robot_rc ਕੀਬੋਰਡ_teleop.launch

ਕਦਮ 4: (ਵਿਕਲਪਿਕ) Rviz ਤੋਂ ਰੋਬੋਟ ਦੀਆਂ ਹਰਕਤਾਂ ਦਾ ਨਿਰੀਖਣ ਕਰੋ।
rviz

ਨੋਟ ਕਰੋ

  1. ਪ੍ਰੋਗਰਾਮ ਨੂੰ ਚਲਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਸਮਾਂ ਸਿੰਕ੍ਰੋਨਾਈਜ਼ੇਸ਼ਨ ਕਾਰਵਾਈ ਨੂੰ ਪੂਰਾ ਕਰਨਾ ਯਕੀਨੀ ਬਣਾਓ।
  2. ਮਲਟੀ-ਏਜੰਟ ਗਠਨ ਦੇ ਮਾਸਟਰ ਨੂੰ ਕੰਟਰੋਲ ਕਰਦੇ ਸਮੇਂ, ਕੋਣੀ ਵੇਗ ਬਹੁਤ ਤੇਜ਼ ਨਹੀਂ ਹੋਣੀ ਚਾਹੀਦੀ। ਸਿਫ਼ਾਰਿਸ਼ ਕੀਤੀ ਰੇਖਿਕ ਗਤੀ 0.2m/s, ਕੋਣੀ ਸਪੀਡ ਡਿਗਰੀ 0.3rad/s ਤੋਂ ਘੱਟ ਹੈ। ਜਦੋਂ ਮਾਲਕ ਇੱਕ ਮੋੜ ਲੈ ਰਿਹਾ ਹੁੰਦਾ ਹੈ, ਨੌਕਰ ਮਾਲਕ ਤੋਂ ਜਿੰਨਾ ਦੂਰ ਹੁੰਦਾ ਹੈ, ਓਨੀ ਹੀ ਜ਼ਿਆਦਾ ਰੇਖਿਕ ਗਤੀ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਪੈਕੇਜ ਵਿੱਚ ਲੀਨੀਅਰ ਸਪੀਡ ਅਤੇ ਐਂਗੁਲਰ ਸਪੀਡ ਦੀ ਸੀਮਾ ਦੇ ਕਾਰਨ, ਜਦੋਂ ਸਲੇਵ ਕਾਰ ਲੋੜੀਂਦੀ ਗਤੀ ਤੱਕ ਨਹੀਂ ਪਹੁੰਚ ਸਕਦੀ, ਤਾਂ ਗਠਨ ਅਰਾਜਕ ਹੋ ਜਾਵੇਗਾ। ਕੁੱਲ ਮਿਲਾ ਕੇ, ਬਹੁਤ ਜ਼ਿਆਦਾ ਰੇਖਿਕ ਗਤੀ ਰੋਬੋਟ ਨੂੰ ਆਸਾਨੀ ਨਾਲ ਨੁਕਸਾਨ ਪਹੁੰਚਾ ਸਕਦੀ ਹੈ।
  3. ਜਦੋਂ ਸਲੇਵ ਦੀ ਗਿਣਤੀ ਇੱਕ ਤੋਂ ਵੱਧ ਹੁੰਦੀ ਹੈ, ਤਾਂ ROS ਹੋਸਟ ਦੀ ਸੀਮਤ ਆਨ-ਬੋਰਡ ਵਾਈਫਾਈ ਬੈਂਡਵਿਡਥ ਦੇ ਕਾਰਨ, ਬਹੁ-ਏਜੰਟ ਸੰਚਾਰ ਵਿੱਚ ਮਹੱਤਵਪੂਰਨ ਦੇਰੀ ਅਤੇ ਡਿਸਕਨੈਕਸ਼ਨ ਦਾ ਕਾਰਨ ਬਣਨਾ ਆਸਾਨ ਹੁੰਦਾ ਹੈ। ਰਾਊਟਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਨਾਲ ਇਸ ਸਮੱਸਿਆ ਨੂੰ ਚੰਗੀ ਤਰ੍ਹਾਂ ਹੱਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
  4. ਮਲਟੀ-ਰੋਬੋਟ ਗਠਨ (2 ਸਲੇਵਜ਼) ਦਾ ਟੀਐਫ ਟ੍ਰੀ ਹੈ: rqt_tf_tree
  5. ਮਲਟੀ-ਰੋਬੋਟ ਗਠਨ (2 ਸਲੇਵਜ਼) ਦਾ ਨੋਡ ਰਿਸ਼ਤਾ ਚਿੱਤਰ ਹੈ: rqt_graph

ਦਸਤਾਵੇਜ਼ / ਸਰੋਤ

ਰੋਬੋਵਰਕਸ ਰੋਬੋਫਲੀਟ ਓਰਿਨ ਨੈਨੋ x3 ROS ਰੋਬੋਟ [pdf] ਯੂਜ਼ਰ ਮੈਨੂਅਲ
Orin Nano x3, Robofleet ROS ਰੋਬੋਟ, Robofleet ROS, ਰੋਬੋਟ, Robofleet Orin Nano x3 ROS ਰੋਬੋਟ, Robofleet Orin Nano x3, Orin Nano x3 ROS ਰੋਬੋਟ, Orin Nano x3

ਹਵਾਲੇ

ਇੱਕ ਟਿੱਪਣੀ ਛੱਡੋ

ਤੁਹਾਡਾ ਈਮੇਲ ਪਤਾ ਪ੍ਰਕਾਸ਼ਿਤ ਨਹੀਂ ਕੀਤਾ ਜਾਵੇਗਾ। ਲੋੜੀਂਦੇ ਖੇਤਰਾਂ ਨੂੰ ਚਿੰਨ੍ਹਿਤ ਕੀਤਾ ਗਿਆ ਹੈ *