ਰੋਬੋਵਰਕਸ ਰੋਬੋਫਲੀਟ ਮਲਟੀ-ਏਜੇਂਟ ਐਲਗੋਰਿਦਮ
ਨਿਰਧਾਰਨ
- ਉਤਪਾਦ ਦਾ ਨਾਮ: ROBOWORKS
- ਸੰਸਕਰਣ: 20240501
- ਦੁਆਰਾ ਤਿਆਰ: ਵੇਨ ਲਿਉ ਅਤੇ ਜੈਨੇਟ ਲਿਨ
- ਮਿਤੀ: 1 ਮਈ 2024
ਉਤਪਾਦ ਜਾਣਕਾਰੀ
ਰੋਬੋਵਰਕਸ ਇੱਕ ਬਹੁ-ਏਜੰਟ ਸਿਸਟਮ ਹੈ ਜੋ ਰੋਬੋਟ ਤਾਲਮੇਲ ਅਤੇ ਸੰਚਾਰ ਲਈ ਵੱਖ-ਵੱਖ ਐਲਗੋਰਿਦਮ ਲਾਗੂ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।
ਅਕਸਰ ਪੁੱਛੇ ਜਾਂਦੇ ਸਵਾਲ
ਸਵਾਲ: ਜੇਕਰ ਰੋਬੋਟ ਆਪਣੇ ਆਪ Wifi ਨਾਲ ਕਨੈਕਟ ਨਹੀਂ ਕਰ ਸਕਦਾ ਤਾਂ ਮੈਨੂੰ ਕੀ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ?
A: ਜੇਕਰ ਰੋਬੋਟ ਆਪਣੇ ਆਪ ਕਨੈਕਟ ਕਰਨ ਵਿੱਚ ਅਸਫਲ ਹੋ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਨੈੱਟਵਰਕ ਕਾਰਡ ਨੂੰ ਅਨਪਲੱਗ ਅਤੇ ਰੀਪਲੱਗ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ ਅਤੇ ਦੁਬਾਰਾ ਜੁੜਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ।
ਸੰਖੇਪ
ਇਹ ਦਸਤਾਵੇਜ਼ ਮੁੱਖ ਤੌਰ 'ਤੇ wheeltec_multi ਨਾਮਕ ਮਲਟੀ-ਰੋਬੋਟ ਫਾਰਮੇਸ਼ਨ ਫੰਕਸ਼ਨ ਪੈਕੇਜ ਦੀ ਵਰਤੋਂ ਦੀ ਵਿਆਖਿਆ ਕਰਦਾ ਹੈ।
ਇਸ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਚਾਰ ਭਾਗਾਂ ਵਿੱਚ ਵੰਡਿਆ ਗਿਆ ਹੈ:
- ਪਹਿਲਾ ਭਾਗ ਮੁੱਖ ਤੌਰ 'ਤੇ ਮਲਟੀ-ਰੋਬੋਟ ਨਿਰਮਾਣ ਵਿਧੀ ਦੀ ਸ਼ੁਰੂਆਤ ਬਾਰੇ ਹੈ;
- ਦੂਜਾ ਭਾਗ ਮੁੱਖ ਤੌਰ 'ਤੇ ROS ਮਲਟੀ-ਮਸ਼ੀਨ ਸੰਚਾਰ ਸੈਟਿੰਗਾਂ ਦਾ ਵਰਣਨ ਕਰਦਾ ਹੈ, ਜਿਸ ਵਿੱਚ ROS ਨਿਰਮਾਣ ਮਲਟੀ-ਮਸ਼ੀਨ ਸੰਚਾਰ ਅਤੇ ROS ਸੰਚਾਰ ਦੀ ਪ੍ਰਕਿਰਿਆ ਵਿੱਚ ਆਉਣ ਵਾਲੀਆਂ ਸਮੱਸਿਆਵਾਂ ਸ਼ਾਮਲ ਹਨ;
- ਤੀਜਾ ਭਾਗ ਮੁੱਖ ਤੌਰ 'ਤੇ ਮਲਟੀ-ਮਸ਼ੀਨ ਟਾਈਮ ਸਿੰਕ੍ਰੋਨਾਈਜ਼ੇਸ਼ਨ ਦੇ ਸੰਚਾਲਨ ਕਦਮਾਂ ਦਾ ਵਰਣਨ ਕਰਦਾ ਹੈ;
- ਚੌਥਾ ਭਾਗ ਮਲਟੀ-ਮਸ਼ੀਨ ਫਾਰਮੇਸ਼ਨ ਫੰਕਸ਼ਨ ਪੈਕੇਜ ਦੀ ਖਾਸ ਵਰਤੋਂ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ।
ਇਸ ਦਸਤਾਵੇਜ਼ ਦਾ ਉਦੇਸ਼ ਮਲਟੀ-ਏਜੰਟ ਰੋਬੋਟਿਕ ਪ੍ਰਣਾਲੀਆਂ ਦੀ ਜਾਣ-ਪਛਾਣ ਹੈ ਅਤੇ ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਮਲਟੀ-ਰੋਬੋਟ ਨਿਰਮਾਣ ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਜਲਦੀ ਸ਼ੁਰੂ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।
ਮਲਟੀ-ਏਜੰਟ ਐਲਗੋਰਿਥਮ ਦੀ ਜਾਣ-ਪਛਾਣ
ਮਲਟੀ-ਏਜੰਟ ਗਠਨ ਐਲਗੋਰਿਦਮ
ਇਹ ROS ਪੈਕੇਜ ਇੱਕ ਗਠਨ ਡਰਾਈਵ ਦੇ ਦੌਰਾਨ ਸਹਿਯੋਗੀ ਨਿਯੰਤਰਣ ਵਿੱਚ ਬਹੁ-ਏਜੰਟਾਂ ਦੀ ਇੱਕ ਖਾਸ ਸਮੱਸਿਆ ਪੇਸ਼ ਕਰਦਾ ਹੈ। ਇਹ ਟਿਊਟੋਰਿਅਲ ਇਸ ਵਿਸ਼ੇ 'ਤੇ ਭਵਿੱਖ ਦੇ ਵਿਕਾਸ ਦੀ ਨੀਂਹ ਰੱਖਦਾ ਹੈ। ਗਠਨ ਨਿਯੰਤਰਣ ਐਲਗੋਰਿਦਮ ਇੱਕ ਐਲਗੋਰਿਦਮ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ ਜੋ ਇੱਕ ਕੰਮ ਕਰਨ ਲਈ ਇੱਕ ਵਿਸ਼ੇਸ਼ ਗਠਨ ਬਣਾਉਣ ਲਈ ਕਈ ਏਜੰਟਾਂ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਦਾ ਹੈ। ਸਹਿਯੋਗ ਇੱਕ ਕਾਰਜ ਨੂੰ ਪੂਰਾ ਕਰਨ ਲਈ ਇੱਕ ਖਾਸ ਰੁਕਾਵਟ ਸਬੰਧਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਕਈ ਏਜੰਟਾਂ ਵਿਚਕਾਰ ਸਹਿਯੋਗ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ। ਮਲਟੀ-ਰੋਬੋਟ ਫਾਰਮੇਸ਼ਨ ਡਰਾਈਵ ਨੂੰ ਸਾਬਕਾ ਵਜੋਂ ਲਓample, collaboration ਦਾ ਮਤਲਬ ਹੈ ਕਿ ਮਲਟੀਪਲ ਰੋਬੋਟ ਇਕੱਠੇ ਮਿਲ ਕੇ ਲੋੜੀਦੀ ਬਣਤਰ ਬਣਾਉਂਦੇ ਹਨ। ਇਸਦਾ ਸਾਰ ਇੱਕ ਖਾਸ ਗਣਿਤਿਕ ਸਬੰਧ ਹੈ ਜੋ ਹਰੇਕ ਰੋਬੋਟ ਦੀਆਂ ਸਥਿਤੀਆਂ ਵਿਚਕਾਰ ਸੰਤੁਸ਼ਟ ਹੁੰਦਾ ਹੈ। ਗਠਨ ਵਿਧੀਆਂ ਨੂੰ ਮੁੱਖ ਤੌਰ 'ਤੇ ਕੇਂਦਰੀਕ੍ਰਿਤ ਗਠਨ ਨਿਯੰਤਰਣ ਅਤੇ ਵੰਡੇ ਗਠਨ ਨਿਯੰਤਰਣ ਵਿੱਚ ਵੰਡਿਆ ਜਾਂਦਾ ਹੈ। ਕੇਂਦਰੀਕ੍ਰਿਤ ਗਠਨ ਨਿਯੰਤਰਣ ਵਿਧੀਆਂ ਵਿੱਚ ਮੁੱਖ ਤੌਰ 'ਤੇ ਵਰਚੁਅਲ ਬਣਤਰ ਵਿਧੀ, ਗ੍ਰਾਫਿਕਲ ਥਿਊਰੀ ਵਿਧੀ, ਅਤੇ ਮਾਡਲ ਭਵਿੱਖਬਾਣੀ ਵਿਧੀ ਸ਼ਾਮਲ ਹਨ। ਵਿਤਰਿਤ ਗਠਨ ਨਿਯੰਤਰਣ ਵਿਧੀਆਂ ਵਿੱਚ ਮੁੱਖ ਤੌਰ 'ਤੇ ਇੱਕ ਨੇਤਾ-ਅਨੁਸਾਰ ਵਿਧੀ, ਇੱਕ ਵਿਵਹਾਰ-ਅਧਾਰਿਤ ਵਿਧੀ, ਅਤੇ ਇੱਕ ਵਰਚੁਅਲ ਬਣਤਰ ਵਿਧੀ ਸ਼ਾਮਲ ਹੁੰਦੀ ਹੈ।
ਇਹ ROS ਪੈਕੇਜ ਮਲਟੀ-ਰੋਬੋਟ ਫਾਰਮੇਸ਼ਨ ਡਰਾਈਵ ਨੂੰ ਚਲਾਉਣ ਲਈ ਵਿਤਰਿਤ ਗਠਨ ਨਿਯੰਤਰਣ ਵਿਧੀ ਵਿੱਚ ਲੀਡਰ-ਫਾਲੋਅਰ ਵਿਧੀ ਨੂੰ ਲਾਗੂ ਕਰਦਾ ਹੈ। ਗਠਨ ਵਿੱਚ ਇੱਕ ਰੋਬੋਟ ਨੂੰ ਨੇਤਾ ਵਜੋਂ ਮਨੋਨੀਤ ਕੀਤਾ ਗਿਆ ਹੈ, ਅਤੇ ਦੂਜੇ ਰੋਬੋਟ ਨੂੰ ਨੇਤਾ ਦੀ ਪਾਲਣਾ ਕਰਨ ਲਈ ਗੁਲਾਮ ਵਜੋਂ ਮਨੋਨੀਤ ਕੀਤਾ ਗਿਆ ਹੈ। ਐਲਗੋਰਿਦਮ ਇੱਕ ਨਿਸ਼ਚਿਤ ਦਿਸ਼ਾ ਅਤੇ ਗਤੀ ਦੇ ਨਾਲ ਹੇਠਾਂ ਦਿੱਤੇ ਰੋਬੋਟਾਂ ਦੁਆਰਾ ਟ੍ਰੈਕ ਕੀਤੇ ਜਾਣ ਵਾਲੇ ਨਿਰਦੇਸ਼ਾਂਕ ਨੂੰ ਸੈੱਟ ਕਰਨ ਲਈ ਮੋਹਰੀ ਰੋਬੋਟ ਦੀ ਗਤੀਸ਼ੀਲਤਾ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ। ਟਰੈਕਿੰਗ ਕੋਆਰਡੀਨੇਟਸ ਤੋਂ ਸਥਿਤੀ ਦੇ ਭਟਕਣ ਨੂੰ ਠੀਕ ਕਰਨ ਨਾਲ, ਅਨੁਯਾਈ ਅੰਤ ਵਿੱਚ ਅਨੁਯਾਈ ਅਤੇ ਸੰਭਾਵਿਤ ਟਰੈਕਿੰਗ ਨਿਰਦੇਸ਼ਾਂਕ ਦੇ ਵਿਚਕਾਰ ਭਟਕਣ ਨੂੰ ਜ਼ੀਰੋ ਤੱਕ ਘਟਾ ਦੇਣਗੇ ਤਾਂ ਜੋ ਗਠਨ ਡਰਾਈਵ ਦੇ ਉਦੇਸ਼ਾਂ ਨੂੰ ਪ੍ਰਾਪਤ ਕੀਤਾ ਜਾ ਸਕੇ। ਇਸ ਤਰ੍ਹਾਂ, ਐਲਗੋਰਿਦਮ ਮੁਕਾਬਲਤਨ ਘੱਟ ਗੁੰਝਲਦਾਰ ਹੈ।
ਰੁਕਾਵਟ ਤੋਂ ਬਚਣ ਵਾਲੇ ਐਲਗੋਰਿਦਮ
ਇੱਕ ਆਮ ਰੁਕਾਵਟ ਪਰਹੇਜ਼ ਐਲਗੋਰਿਦਮ ਨਕਲੀ ਸੰਭਾਵੀ ਖੇਤਰ ਵਿਧੀ ਹੈ। ਇੱਕ ਭੌਤਿਕ ਵਾਤਾਵਰਣ ਵਿੱਚ ਰੋਬੋਟ ਦੀ ਗਤੀ ਨੂੰ ਇੱਕ ਵਰਚੁਅਲ ਆਰਟੀਫਿਸ਼ੀਅਲ ਫੋਰਸ ਫੀਲਡ ਵਿੱਚ ਇੱਕ ਅੰਦੋਲਨ ਮੰਨਿਆ ਜਾਂਦਾ ਹੈ। ਸਭ ਤੋਂ ਨਜ਼ਦੀਕੀ ਰੁਕਾਵਟ ਦੀ ਪਛਾਣ LiDAR ਦੁਆਰਾ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਰੋਬੋਟ ਨੂੰ ਪ੍ਰਤੀਕ੍ਰਿਆ ਪੈਦਾ ਕਰਨ ਲਈ ਰੁਕਾਵਟ ਇੱਕ ਘਿਰਣਾਤਮਕ ਸ਼ਕਤੀ ਖੇਤਰ ਪ੍ਰਦਾਨ ਕਰਦੀ ਹੈ ਅਤੇ ਨਿਸ਼ਾਨਾ ਬਿੰਦੂ ਰੋਬੋਟ ਨੂੰ ਗੁਰੂਤਾਕਰਨ ਸ਼ਕਤੀ ਪੈਦਾ ਕਰਨ ਲਈ ਇੱਕ ਗਰੈਵੀਟੇਸ਼ਨਲ ਫੀਲਡ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਇਸ ਤਰ੍ਹਾਂ, ਇਹ ਪ੍ਰਤੀਕ੍ਰਿਆ ਅਤੇ ਆਕਰਸ਼ਣ ਦੀ ਸੰਯੁਕਤ ਕਿਰਿਆ ਦੇ ਤਹਿਤ ਰੋਬੋਟ ਦੀ ਗਤੀ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਦਾ ਹੈ।
ਇਹ ROS ਪੈਕੇਜ ਨਕਲੀ ਸੰਭਾਵੀ ਖੇਤਰ ਵਿਧੀ 'ਤੇ ਅਧਾਰਤ ਇੱਕ ਸੁਧਾਰ ਹੈ। ਸਭ ਤੋਂ ਪਹਿਲਾਂ, ਗਠਨ ਐਲਗੋਰਿਦਮ ਸਲੇਵ ਫਾਲੋਅਰ ਦੀ ਰੇਖਿਕ ਅਤੇ ਕੋਣੀ ਵੇਗ ਦੀ ਗਣਨਾ ਕਰਦਾ ਹੈ। ਫਿਰ ਇਹ ਰੁਕਾਵਟ ਤੋਂ ਬਚਣ ਦੀਆਂ ਲੋੜਾਂ ਦੇ ਅਨੁਸਾਰ ਰੇਖਿਕ ਅਤੇ ਕੋਣੀ ਵੇਗ ਨੂੰ ਵਧਾਉਂਦਾ ਜਾਂ ਘਟਾਉਂਦਾ ਹੈ। ਜਦੋਂ ਸਲੇਵ ਅਨੁਯਾਈ ਅਤੇ ਰੁਕਾਵਟ ਵਿਚਕਾਰ ਦੂਰੀ ਨੇੜੇ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਸਲੇਵ ਅਨੁਯਾਈ ਲਈ ਰੁਕਾਵਟ ਦੀ ਪ੍ਰਤੀਕ੍ਰਿਆ ਸ਼ਕਤੀ ਵਧੇਰੇ ਹੁੰਦੀ ਹੈ। ਇਸ ਦੌਰਾਨ, ਰੇਖਿਕ ਵੇਗ ਦੀ ਤਬਦੀਲੀ ਅਤੇ ਕੋਣੀ ਵੇਗ ਦੇ ਭਿੰਨਤਾਵਾਂ ਵਧੇਰੇ ਹੁੰਦੀਆਂ ਹਨ। ਜਦੋਂ ਰੁਕਾਵਟ ਸਲੇਵ ਅਨੁਯਾਈ ਦੇ ਸਾਹਮਣੇ ਦੇ ਨੇੜੇ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਸਲੇਵ ਅਨੁਯਾਈ ਲਈ ਰੁਕਾਵਟ ਦਾ ਪ੍ਰਤੀਕਰਮ ਵੱਡਾ ਹੋ ਜਾਂਦਾ ਹੈ (ਸਾਹਮਣੇ ਦਾ ਪ੍ਰਤੀਕਰਮ ਸਭ ਤੋਂ ਵੱਡਾ ਹੁੰਦਾ ਹੈ ਅਤੇ ਪਾਸੇ ਦਾ ਪ੍ਰਤੀਕਰਮ ਸਭ ਤੋਂ ਛੋਟਾ ਹੁੰਦਾ ਹੈ)। ਨਤੀਜੇ ਵਜੋਂ, ਰੇਖਿਕ ਵੇਗ ਅਤੇ ਕੋਣੀ ਵੇਗ ਦੀਆਂ ਭਿੰਨਤਾਵਾਂ ਵਧੇਰੇ ਹੁੰਦੀਆਂ ਹਨ। ਨਕਲੀ ਸੰਭਾਵੀ ਖੇਤਰ ਵਿਧੀ ਦੁਆਰਾ, ਇਹ ਇੱਕ ਹੱਲ ਵਿੱਚ ਸੁਧਾਰ ਕਰਦਾ ਹੈ ਜਦੋਂ ਇੱਕ ਰੋਬੋਟ ਇੱਕ ਰੁਕਾਵਟ ਦੇ ਸਾਹਮਣੇ ਜਵਾਬ ਦੇਣਾ ਬੰਦ ਕਰ ਸਕਦਾ ਹੈ। ਇਹ ਬਿਹਤਰ ਰੁਕਾਵਟ ਤੋਂ ਬਚਣ ਦੇ ਉਦੇਸ਼ ਨੂੰ ਪੂਰਾ ਕਰਦਾ ਹੈ।
ਮਲਟੀ-ਏਜੰਟ ਸੰਚਾਰ ਸੈੱਟਅੱਪ
ਮਲਟੀ-ਏਜੰਟ ਸੰਚਾਰ ਇੱਕ ਬਹੁ-ਰੋਬੋਟ ਗਠਨ ਨੂੰ ਪੂਰਾ ਕਰਨ ਲਈ ਮੁੱਖ ਕਦਮਾਂ ਵਿੱਚੋਂ ਇੱਕ ਹੈ। ਜਦੋਂ ਮਲਟੀਪਲ ਰੋਬੋਟਾਂ ਦੀਆਂ ਰਿਸ਼ਤੇਦਾਰ ਸਥਿਤੀਆਂ ਅਣਜਾਣ ਹੁੰਦੀਆਂ ਹਨ, ਤਾਂ ਰੋਬੋਟਾਂ ਨੂੰ ਕਨੈਕਸ਼ਨਾਂ ਦੀ ਸਥਾਪਨਾ ਦੀ ਸਹੂਲਤ ਲਈ ਸੰਚਾਰ ਦੁਆਰਾ ਇੱਕ ਦੂਜੇ ਦੀ ਜਾਣਕਾਰੀ ਸਾਂਝੀ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ROS-ਵਿਤਰਿਤ ਆਰਕੀਟੈਕਚਰ ਅਤੇ ਨੈੱਟਵਰਕ ਸੰਚਾਰ ਬਹੁਤ ਸ਼ਕਤੀਸ਼ਾਲੀ ਹਨ। ਇਹ ਨਾ ਸਿਰਫ ਅੰਤਰ-ਪ੍ਰਕਿਰਿਆ ਸੰਚਾਰ ਲਈ ਸੁਵਿਧਾਜਨਕ ਹੈ ਬਲਕਿ ਵੱਖ-ਵੱਖ ਡਿਵਾਈਸਾਂ ਵਿਚਕਾਰ ਸੰਚਾਰ ਲਈ ਵੀ ਹੈ। ਨੈੱਟਵਰਕ ਸੰਚਾਰ ਦੁਆਰਾ, ਸਾਰੇ ਨੋਡ ਕਿਸੇ ਵੀ ਕੰਪਿਊਟਰ 'ਤੇ ਚੱਲ ਸਕਦੇ ਹਨ। ਮੁੱਖ ਕੰਮ ਜਿਵੇਂ ਕਿ ਡੇਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਹੋਸਟ ਸਾਈਡ 'ਤੇ ਪੂਰੇ ਕੀਤੇ ਜਾਂਦੇ ਹਨ। ਸਲੇਵ ਮਸ਼ੀਨਾਂ ਵੱਖ-ਵੱਖ ਸੈਂਸਰਾਂ ਦੁਆਰਾ ਇਕੱਤਰ ਕੀਤੇ ਵਾਤਾਵਰਣ ਸੰਬੰਧੀ ਡੇਟਾ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਜ਼ਿੰਮੇਵਾਰ ਹਨ। ਇੱਥੇ ਹੋਸਟ ਮੈਨੇਜਰ ਹੈ ਜੋ ROS ਵਿੱਚ ਮਾਸਟਰ ਨੋਡ ਨੂੰ ਚਲਾਉਂਦਾ ਹੈ। ਮੌਜੂਦਾ ਮਲਟੀ-ਏਜੰਟ ਸੰਚਾਰ ਫਰੇਮਵਰਕ ਇੱਕ ਨੋਡ ਮੈਨੇਜਰ ਅਤੇ ਇੱਕ ਪੈਰਾਮੀਟਰ ਮੈਨੇਜਰ ਦੁਆਰਾ ਮਲਟੀਪਲ ਰੋਬੋਟਾਂ ਵਿੱਚ ਸੰਚਾਰ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਹੈ।
ਮਲਟੀ-ਏਜੰਟ ਸੰਚਾਰ ਸਥਾਪਤ ਕਰਨ ਲਈ ਕਦਮ
- ਉਸੇ ਨੈਟਵਰਕ ਵਿੱਚ ROS ਨਿਯੰਤਰਣ ਸੈਟ ਅਪ ਕਰੋ
- ਇੱਕੋ ਨੈੱਟਵਰਕ ਦੇ ਅਧੀਨ ਮਾਸਟਰ/ਸਲੇਵ ROS ਨਿਯੰਤਰਣ ਸਥਾਪਤ ਕਰਨ ਦੇ 2 ਤਰੀਕੇ ਹਨ।
ਵਿਕਲਪ 1:
ਮਾਸਟਰ ਹੋਸਟ ਮਾਸਟਰ ਨੋਡ ਮੈਨੇਜਰ ਨੂੰ ਚਲਾ ਕੇ ਇੱਕ ਸਥਾਨਕ ਵਾਈਫਾਈ ਬਣਾਉਂਦਾ ਹੈ। ਆਮ ਤੌਰ 'ਤੇ, ਇੱਕ ਰੋਬੋਟ ਜਿਸ ਨੂੰ ਮਾਸਟਰ ਵਜੋਂ ਮਨੋਨੀਤ ਕੀਤਾ ਗਿਆ ਹੈ, ਇਹ ਵਾਈਫਾਈ ਨੈੱਟਵਰਕ ਬਣਾਉਂਦਾ ਹੈ। ਹੋਰ ਰੋਬੋਟ ਜਾਂ ਵਰਚੁਅਲ ਮਸ਼ੀਨਾਂ ਇਸ ਵਾਈਫਾਈ ਨੈੱਟਵਰਕ ਵਿੱਚ ਗੁਲਾਮਾਂ ਵਜੋਂ ਸ਼ਾਮਲ ਹੁੰਦੀਆਂ ਹਨ।
ਵਿਕਲਪ 2:
ਸਥਾਨਕ ਵਾਈਫਾਈ ਨੈੱਟਵਰਕ ਨੂੰ ਇੱਕ ਤੀਜੀ-ਧਿਰ ਰਾਊਟਰ ਦੁਆਰਾ ਇੱਕ ਸੂਚਨਾ ਰਿਲੇਅ ਕੇਂਦਰ ਵਜੋਂ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਸਾਰੇ ਰੋਬੋਟ ਇੱਕੋ ਰਾਊਟਰ ਨਾਲ ਜੁੜੇ ਹੋਏ ਹਨ। ਰਾਊਟਰ ਨੂੰ ਇੰਟਰਨੈਟ ਕਨੈਕਸ਼ਨ ਤੋਂ ਬਿਨਾਂ ਵੀ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ। ਇੱਕ ਰੋਬੋਟ ਨੂੰ ਮਾਸਟਰ ਵਜੋਂ ਚੁਣੋ ਅਤੇ ਮਾਸਟਰ ਨੋਡ ਮੈਨੇਜਰ ਚਲਾਓ। ਦੂਜੇ ਰੋਬੋਟ ਨੂੰ ਗੁਲਾਮ ਵਜੋਂ ਮਨੋਨੀਤ ਕੀਤਾ ਗਿਆ ਹੈ ਅਤੇ ਮਾਸਟਰ ਤੋਂ ਮਾਸਟਰ ਨੋਡ ਮੈਨੇਜਰ ਨੂੰ ਚਲਾਉਂਦੇ ਹਨ।
ਕਿਹੜਾ ਵਿਕਲਪ ਚੁਣਨਾ ਹੈ, ਇਹ ਫੈਸਲਾ ਤੁਹਾਡੀਆਂ ਪ੍ਰੋਜੈਕਟ ਲੋੜਾਂ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ। ਜੇਕਰ ਸੰਚਾਰ ਕਰਨ ਲਈ ਲੋੜੀਂਦੇ ਰੋਬੋਟਾਂ ਦੀ ਗਿਣਤੀ ਜ਼ਿਆਦਾ ਨਹੀਂ ਹੈ, ਤਾਂ ਵਿਕਲਪ 1 ਦੀ ਸਿਫ਼ਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਕਿਉਂਕਿ ਇਹ ਲਾਗਤ ਬਚਾਉਂਦਾ ਹੈ ਅਤੇ ਸੈੱਟਅੱਪ ਕਰਨਾ ਆਸਾਨ ਹੈ। ਜਦੋਂ ਰੋਬੋਟਾਂ ਦੀ ਗਿਣਤੀ ਜ਼ਿਆਦਾ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਵਿਕਲਪ 2 ਦੀ ਸਿਫ਼ਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ROS ਮਾਸਟਰ ਨਿਯੰਤਰਣ ਦੀ ਕੰਪਿਊਟਿੰਗ ਪਾਵਰ ਅਤੇ ਸੀਮਤ ਆਨਬੋਰਡ ਵਾਈਫਾਈ ਬੈਂਡਵਿਡਥ 'ਤੇ ਰੁਕਾਵਟ ਆਸਾਨੀ ਨਾਲ ਦੇਰੀ ਅਤੇ ਨੈੱਟਵਰਕ ਵਿਘਨ ਦਾ ਕਾਰਨ ਬਣ ਸਕਦੀ ਹੈ। ਇੱਕ ਰਾਊਟਰ ਇਹਨਾਂ ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਆਸਾਨੀ ਨਾਲ ਹੱਲ ਕਰ ਸਕਦਾ ਹੈ। ਕਿਰਪਾ ਕਰਕੇ ਧਿਆਨ ਦਿਓ ਕਿ ਮਲਟੀ-ਏਜੰਟ ਸੰਚਾਰ ਕਰਨ ਵੇਲੇ, ਜੇਕਰ ਵਰਚੁਅਲ ਮਸ਼ੀਨ ਨੂੰ ROS ਸਲੇਵ ਵਜੋਂ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਇਸਦੇ ਨੈੱਟਵਰਕ ਮੋਡ ਨੂੰ ਬ੍ਰਿਜ ਮੋਡ 'ਤੇ ਸੈੱਟ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।
ਮਾਸਟਰ/ਸਲੇਵ ਇਨਵਾਇਰਮੈਂਟ ਵੇਰੀਏਬਲ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰੋ
ਸਾਰੇ ROS ਮਾਸਟਰਾਂ ਦੇ ਇੱਕੋ ਨੈੱਟਵਰਕ ਵਿੱਚ ਹੋਣ ਤੋਂ ਬਾਅਦ, ਮਲਟੀ-ਏਜੰਟ ਸੰਚਾਰ ਲਈ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਸੈੱਟ ਕੀਤੇ ਜਾਣ ਦੀ ਲੋੜ ਹੈ। ਇਹ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਮੁੱਖ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ .bashrc ਫਾਈਲ ਵਿੱਚ ਸੰਰਚਿਤ ਕੀਤਾ ਗਿਆ ਹੈ। ਇਸਨੂੰ ਚਲਾਉਣ ਲਈ gedit ~/.bashrc ਕਮਾਂਡ ਚਲਾਓ। ਕਿਰਪਾ ਕਰਕੇ ਨੋਟ ਕਰੋ ਕਿ ਮਲਟੀ-ਏਜੰਟ ਸੰਚਾਰ ਵਿੱਚ ਮਾਲਕ ਅਤੇ ਨੌਕਰ ਦੀਆਂ .bashrc ਫਾਈਲਾਂ ਨੂੰ ਸੰਰਚਿਤ ਕਰਨ ਦੀ ਲੋੜ ਹੈ। ਫਾਈਲ ਦੇ ਅੰਤ ਵਿੱਚ ਆਈਪੀ ਐਡਰੈੱਸ ਨੂੰ ਬਦਲਣ ਦੀ ਲੋੜ ਹੈ। ਦੀਆਂ ਦੋ ਲਾਈਨਾਂ ROS_MASTER_URI ਅਤੇ ROS_HOSTNAME ਹਨ, ਜਿਵੇਂ ਕਿ ਚਿੱਤਰ 2-1-4 ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਹੈ। ROS ਹੋਸਟ ਦੇ ROS_MASTER_URI ਅਤੇ ROS_HOSTNAME ਦੋਵੇਂ ਸਥਾਨਕ IP ਹਨ। ROS ਸਲੇਵ .bashrc ਫਾਈਲ ਵਿੱਚ ROS_MASTER_URI ਨੂੰ ਹੋਸਟ ਦੇ IP ਪਤੇ ਵਿੱਚ ਬਦਲਣ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ ਜਦੋਂ ਕਿ ROS_HOSTNAME ਇੱਕ ਸਥਾਨਕ IP ਪਤੇ ਵਜੋਂ ਰਹਿੰਦਾ ਹੈ।
ROS ਮਲਟੀ-ਮਸ਼ੀਨ ਸੰਚਾਰ ROS ਰੀਲੀਜ਼ ਸੰਸਕਰਣ ਦੁਆਰਾ ਸੀਮਤ ਨਹੀਂ ਹੈ। ਮਲਟੀ-ਮਸ਼ੀਨ ਸੰਚਾਰ ਦੀ ਪ੍ਰਕਿਰਿਆ ਵਿੱਚ, ਕਿਸੇ ਨੂੰ ਹੇਠ ਲਿਖਿਆਂ ਬਾਰੇ ਸੁਚੇਤ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ:
- ROS ਸਲੇਵ ਪ੍ਰੋਗਰਾਮ ਦਾ ਸੰਚਾਲਨ ROS ਮਾਸਟਰ ਡਿਵਾਈਸ ਦੇ ROS ਮਾਸਟਰ ਪ੍ਰੋਗਰਾਮ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ। ROS ਮਾਸਟਰ ਪ੍ਰੋਗਰਾਮ ਨੂੰ ਸਲੇਵ ਡਿਵਾਈਸ 'ਤੇ ਸਲੇਵ ਪ੍ਰੋਗਰਾਮ ਨੂੰ ਚਲਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਮਾਸਟਰ ਡਿਵਾਈਸ 'ਤੇ ਪਹਿਲਾਂ ਲਾਂਚ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ।
- ਮਲਟੀ-ਮਸ਼ੀਨ ਸੰਚਾਰ ਵਿੱਚ ਮਾਸਟਰ ਅਤੇ ਸਲੇਵ ਮਸ਼ੀਨਾਂ ਦੇ IP ਪਤੇ ਇੱਕੋ ਨੈੱਟਵਰਕ ਵਿੱਚ ਹੋਣੇ ਚਾਹੀਦੇ ਹਨ। ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ IP ਐਡਰੈੱਸ ਅਤੇ ਸਬਨੈੱਟ ਮਾਸਕ ਇੱਕੋ ਨੈੱਟਵਰਕ ਦੇ ਅਧੀਨ ਹਨ।
- ਵਾਤਾਵਰਣ ਸੰਰਚਨਾ ਫਾਈਲ ਵਿੱਚ ROS_HOSTNAME .bashrc ਨੂੰ ਲੋਕਲਹੋਸਟ ਵਰਤਣ ਦੀ ਸਿਫਾਰਸ਼ ਨਹੀਂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇੱਕ ਖਾਸ IP ਐਡਰੈੱਸ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।
- ਜੇਕਰ ਸਲੇਵ IP ਐਡਰੈੱਸ ਸਹੀ ਢੰਗ ਨਾਲ ਸੈੱਟ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਹੈ, ਤਾਂ ਸਲੇਵ ਡਿਵਾਈਸ ਅਜੇ ਵੀ ROS ਮਾਸਟਰ ਤੱਕ ਪਹੁੰਚ ਕਰ ਸਕਦੀ ਹੈ ਪਰ ਕੰਟਰੋਲ ਜਾਣਕਾਰੀ ਨੂੰ ਇਨਪੁਟ ਨਹੀਂ ਕਰ ਸਕਦੀ।
- ਜੇਕਰ ਵਰਚੁਅਲ ਮਸ਼ੀਨ ਮਲਟੀ-ਏਜੰਟ ਸੰਚਾਰ ਵਿੱਚ ਹਿੱਸਾ ਲੈਂਦੀ ਹੈ, ਤਾਂ ਇਸਦੇ ਨੈੱਟਵਰਕ ਮੋਡ ਨੂੰ ਬ੍ਰਿਜ ਮੋਡ 'ਤੇ ਸੈੱਟ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਨੈੱਟਵਰਕ ਕਨੈਕਸ਼ਨ ਲਈ ਸਥਿਰ IP ਨਹੀਂ ਚੁਣਿਆ ਜਾ ਸਕਦਾ ਹੈ।
- ਮਲਟੀ-ਮਸ਼ੀਨ ਸੰਚਾਰ ਨਹੀਂ ਹੋ ਸਕਦਾ view ਜਾਂ ਸੰਦੇਸ਼ ਡੇਟਾ ਕਿਸਮ ਦੇ ਵਿਸ਼ਿਆਂ ਦੀ ਗਾਹਕੀ ਲਓ ਜੋ ਸਥਾਨਕ ਤੌਰ 'ਤੇ ਮੌਜੂਦ ਨਹੀਂ ਹਨ।
- ਤੁਸੀਂ ਇਹ ਪੁਸ਼ਟੀ ਕਰਨ ਲਈ ਲਿਟਲ ਟਰਟਲ ਸਿਮੂਲੇਸ਼ਨ ਡੈਮੋ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ ਕਿ ਕੀ ਰੋਬੋਟਾਂ ਵਿਚਕਾਰ ਸੰਚਾਰ ਸਫਲ ਹੈ:
- a. ਮਾਸਟਰ ਤੋਂ ਭੱਜੋ
- rescore #launch ROS ਸੇਵਾਵਾਂ
- rostrum turtles turtlesim_node #launch turtles ਇੰਟਰਫੇਸ
- b. ਦਾਸ ਤੋਂ ਭੱਜੋ
- turtles rerun turtle_teleop_key #ਕੱਛੂਆਂ ਲਈ ਕੀਬੋਰਡ ਕੰਟਰੋਲ ਨੋਡ ਲਾਂਚ ਕਰੋ
- a. ਮਾਸਟਰ ਤੋਂ ਭੱਜੋ
ਜੇਕਰ ਤੁਸੀਂ ਸਲੇਵ 'ਤੇ ਕੀ-ਬੋਰਡ ਤੋਂ ਕੱਛੂਆਂ ਦੀਆਂ ਹਰਕਤਾਂ ਨੂੰ ਹੇਰਾਫੇਰੀ ਕਰ ਸਕਦੇ ਹੋ, ਤਾਂ ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਮਾਸਟਰ/ਸਲੇਵ ਸੰਚਾਰ ਸਫਲਤਾਪੂਰਵਕ ਸਥਾਪਿਤ ਹੋ ਗਿਆ ਹੈ।
ROS ਵਿੱਚ ਆਟੋਮੈਟਿਕ ਵਾਈਫਾਈ ਕਨੈਕਸ਼ਨ
ਹੇਠਾਂ ਦਿੱਤੀਆਂ ਪ੍ਰਕਿਰਿਆਵਾਂ ਦੱਸਦੀਆਂ ਹਨ ਕਿ ਹੋਸਟ ਨੈੱਟਵਰਕ ਜਾਂ ਰਾਊਟਰ ਨੈੱਟਵਰਕ ਨਾਲ ਆਟੋਮੈਟਿਕ ਕਨੈਕਟ ਕਰਨ ਲਈ ਰੋਬੋਟ ਨੂੰ ਕਿਵੇਂ ਸੰਰਚਿਤ ਕਰਨਾ ਹੈ।
ਜੇਟਸਨ ਨੈਨੋ ਲਈ ਆਟੋਮੈਟਿਕ ਵਾਈਫਾਈ ਕਨੈਕਸ਼ਨ ਸੈੱਟਅੱਪ
- ਜੇਟਸਨ ਨੈਨੋ ਨੂੰ VNC ਰਿਮੋਟ ਟੂਲ ਰਾਹੀਂ ਜਾਂ ਸਿੱਧਾ ਕੰਪਿਊਟਰ ਸਕ੍ਰੀਨ ਨਾਲ ਕਨੈਕਟ ਕਰੋ। ਉੱਪਰ ਸੱਜੇ ਕੋਨੇ 'ਤੇ ਵਾਈਫਾਈ ਆਈਕਨ 'ਤੇ ਕਲਿੱਕ ਕਰੋ ਅਤੇ ਫਿਰ "ਕੁਨੈਕਸ਼ਨਾਂ ਨੂੰ ਸੰਪਾਦਿਤ ਕਰੋ.." 'ਤੇ ਕਲਿੱਕ ਕਰੋ।
- ਨੈੱਟਵਰਕ ਕਨੈਕਸ਼ਨਾਂ ਵਿੱਚ + ਬਟਨ 'ਤੇ ਕਲਿੱਕ ਕਰੋ:
- "ਇੱਕ ਕਨੈਕਸ਼ਨ ਕਿਸਮ ਚੁਣੋ" ਵਿੰਡੋ ਦੇ ਤਹਿਤ, ਡ੍ਰੌਪ-ਡਾਉਨ ਮੀਨੂ 'ਤੇ ਕਲਿੱਕ ਕਰੋ ਅਤੇ "ਬਣਾਓ..." ਬਟਨ 'ਤੇ ਕਲਿੱਕ ਕਰੋ:
- ਕੰਟਰੋਲ ਪੈਨਲ ਵਿੱਚ, ਵਾਈਫਾਈ ਵਿਕਲਪ 'ਤੇ ਕਲਿੱਕ ਕਰੋ। "ਕੁਨੈਕਸ਼ਨ ਨਾਮ" ਅਤੇ SSID ਫੀਲਡਾਂ ਵਿੱਚ ਕਨੈਕਟ ਕਰਨ ਲਈ WiFi ਨਾਮ ਦਰਜ ਕਰੋ। "ਮੋਡ" ਡ੍ਰੌਪਡਾਉਨ ਮੀਨੂ ਵਿੱਚ "ਕਲਾਇੰਟ" ਚੁਣੋ ਅਤੇ "ਡਿਵਾਈਸ" ਡ੍ਰੌਪਡਾਉਨ ਮੀਨੂ ਵਿੱਚ "wlan0" ਚੁਣੋ।
- ਕੰਟਰੋਲ ਪੈਨਲ ਵਿੱਚ, "ਜਨਰਲ" ਵਿਕਲਪ 'ਤੇ ਕਲਿੱਕ ਕਰੋ ਅਤੇ "ਆਟੋਮੈਟਿਕਲੀ ਇਸ ਨੈੱਟਵਰਕ ਨਾਲ ਜੁੜੋ..." ਨੂੰ ਚੈੱਕ ਕਰੋ। "ਆਟੋ-ਐਕਟੀਵੇਸ਼ਨ ਲਈ ਕਨੈਕਸ਼ਨ ਤਰਜੀਹ" ਵਿਕਲਪ ਵਿੱਚ ਕਨੈਕਸ਼ਨ ਤਰਜੀਹ ਨੂੰ 1 'ਤੇ ਸੈੱਟ ਕਰੋ। "ਸਾਰੇ ਉਪਭੋਗਤਾ ਇਸ ਨੈਟਵਰਕ ਨਾਲ ਜੁੜ ਸਕਦੇ ਹਨ" ਵਿਕਲਪ ਦੀ ਜਾਂਚ ਕਰੋ। ਜਦੋਂ ਹੋਰ ਵਾਈਫਾਈ ਲਈ "ਆਟੋ-ਐਕਟੀਵੇਸ਼ਨ ਲਈ ਕਨੈਕਸ਼ਨ ਪ੍ਰਾਥਮਿਕਤਾ" ਵਿੱਚ ਵਿਕਲਪ ਨੂੰ 0 'ਤੇ ਸੈੱਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਇਹ ਅਤੀਤ ਵਿੱਚ ਤਰਜੀਹੀ ਵਾਈਫਾਈ ਨੈੱਟਵਰਕ ਹੈ।
- ਕੰਟਰੋਲ ਪੈਨਲ ਵਿੱਚ "Wi-Fi ਸੁਰੱਖਿਆ" ਵਿਕਲਪ 'ਤੇ ਕਲਿੱਕ ਕਰੋ। "ਸੁਰੱਖਿਆ" ਖੇਤਰ ਵਿੱਚ "WPA ਅਤੇ WPA2 ਨਿੱਜੀ" ਚੁਣੋ। ਫਿਰ “ਪਾਸਵਰਡ” ਫੀਲਡ ਵਿੱਚ WiFi ਪਾਸਵਰਡ ਦਰਜ ਕਰੋ।
ਨੋਟ: ਜੇਕਰ ਵਾਈਫਾਈ ਤਰਜੀਹ 0 'ਤੇ ਸੈੱਟ ਹੋਣ 'ਤੇ ਬੂਟ ਹੋਣ ਤੋਂ ਬਾਅਦ ਰੋਬੋਟ ਆਪਣੇ ਆਪ ਵਾਈਫਾਈ ਨੈੱਟਵਰਕ ਨਾਲ ਕਨੈਕਟ ਨਹੀਂ ਹੋ ਸਕਦਾ, ਤਾਂ ਇਹ ਕਮਜ਼ੋਰ ਵਾਈਫਾਈ ਸਿਗਨਲ ਦੀ ਸਮੱਸਿਆ ਕਾਰਨ ਹੋ ਸਕਦਾ ਹੈ। ਇਸ ਸਮੱਸਿਆ ਤੋਂ ਬਚਣ ਲਈ, ਤੁਸੀਂ ਪਿਛਲੇ ਸਮੇਂ ਵਿੱਚ ਕਨੈਕਟ ਕੀਤੇ ਗਏ ਸਾਰੇ ਵਾਈਫਾਈ ਵਿਕਲਪਾਂ ਨੂੰ ਮਿਟਾਉਣ ਦੀ ਚੋਣ ਕਰ ਸਕਦੇ ਹੋ। ਸਿਰਫ਼ ਹੋਸਟ ਜਾਂ ਰਾਊਟਰ ਦੁਆਰਾ ਬਣਾਏ ਗਏ ਵਾਈਫਾਈ ਨੈੱਟਵਰਕ ਨੂੰ ਹੀ ਰੱਖੋ। ਨੈੱਟਵਰਕ ਸੈਟਿੰਗ ਕੰਟਰੋਲ ਪੈਨਲ ਵਿੱਚ "IPv4 ਸੈਟਿੰਗਜ਼" ਵਿਕਲਪ 'ਤੇ ਕਲਿੱਕ ਕਰੋ। "ਵਿਧੀ" ਫੀਲਡ ਵਿੱਚ "ਮੈਨੂਅਲ" ਵਿਕਲਪ ਚੁਣੋ। ਫਿਰ "ਐਡ" 'ਤੇ ਕਲਿੱਕ ਕਰੋ, "ਐਡਰੈੱਸ" ਫੀਲਡ ਵਿੱਚ ਸਲੇਵ ਮਸ਼ੀਨ ਦਾ IP ਐਡਰੈੱਸ ਭਰੋ। "ਨੈੱਟਮਾਸਕ" ਫੀਲਡ ਵਿੱਚ "24" ਭਰੋ। "ਗੇਟਵੇ" ਵਿੱਚ IP ਨੈੱਟਵਰਕ ਹਿੱਸੇ ਨੂੰ ਭਰੋ। IP ਨੈੱਟਵਰਕ ਹਿੱਸੇ ਦੇ ਆਖਰੀ ਤਿੰਨ ਅੰਕਾਂ ਨੂੰ "1" ਵਿੱਚ ਬਦਲੋ। ਇਸ ਕਦਮ ਦਾ ਮੁੱਖ ਉਦੇਸ਼ IP ਐਡਰੈੱਸ ਨੂੰ ਠੀਕ ਕਰਨਾ ਹੈ। ਪਹਿਲੀ ਵਾਰ ਇਸ ਦੇ ਪੂਰਾ ਹੋਣ ਤੋਂ ਬਾਅਦ, ਬਾਅਦ ਵਿੱਚ ਉਸੇ WIFI ਨਾਲ ਕਨੈਕਟ ਹੋਣ 'ਤੇ IP ਪਤਾ ਬਦਲਿਆ ਨਹੀਂ ਜਾਵੇਗਾ।
ਸਾਰੀਆਂ ਸੈਟਿੰਗਾਂ ਕੌਂਫਿਗਰ ਹੋਣ ਤੋਂ ਬਾਅਦ, ਸੈਟਿੰਗਾਂ ਨੂੰ ਸੁਰੱਖਿਅਤ ਕਰਨ ਲਈ "ਸੇਵ" 'ਤੇ ਕਲਿੱਕ ਕਰੋ। ਸੇਵਿੰਗ ਸਫਲ ਹੋਣ ਤੋਂ ਬਾਅਦ, ਰੋਬੋਟ ਆਪਣੇ ਆਪ ਹੋਸਟ ਜਾਂ ਰਾਊਟਰ ਦੇ ਨੈੱਟਵਰਕ ਨਾਲ ਕਨੈਕਟ ਹੋ ਜਾਵੇਗਾ ਜਦੋਂ ਇਹ ਚਾਲੂ ਹੁੰਦਾ ਹੈ।
ਨੋਟ:
- ਇੱਥੇ ਸੈੱਟ ਕੀਤਾ IP ਐਡਰੈੱਸ ਸੈਕਸ਼ਨ 2.1 ਵਿੱਚ .bashrc ਫਾਈਲ ਵਿੱਚ ਸੈੱਟ ਕੀਤੇ IP ਐਡਰੈੱਸ ਵਰਗਾ ਹੀ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।
- ਮਾਲਕ ਅਤੇ ਹਰੇਕ ਨੌਕਰ ਦਾ IP ਪਤਾ ਵਿਲੱਖਣ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।
- ਮਾਸਟਰ ਅਤੇ ਸਲੇਵ IP ਐਡਰੈੱਸ ਇੱਕੋ ਨੈੱਟਵਰਕ ਹਿੱਸੇ ਵਿੱਚ ਹੋਣੇ ਚਾਹੀਦੇ ਹਨ।
- ਸਲੇਵ ਰੋਬੋਟ ਨੂੰ ਚਾਲੂ ਕਰਨ ਅਤੇ WiFi ਨੈਟਵਰਕ ਨਾਲ ਆਪਣੇ ਆਪ ਕਨੈਕਟ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਤੁਹਾਨੂੰ ਹੋਸਟ ਜਾਂ ਰਾਊਟਰ ਦੁਆਰਾ WiFi ਸਿਗਨਲ ਭੇਜਣ ਲਈ ਉਡੀਕ ਕਰਨੀ ਪਵੇਗੀ।
- ਸੈਟਿੰਗ ਕੌਂਫਿਗਰ ਹੋਣ ਤੋਂ ਬਾਅਦ, ਜੇਕਰ ਰੋਬੋਟ ਚਾਲੂ ਹੋਣ 'ਤੇ WiFi ਨਾਲ ਆਪਣੇ ਆਪ ਕਨੈਕਟ ਨਹੀਂ ਹੋ ਸਕਦਾ ਹੈ, ਤਾਂ ਕਿਰਪਾ ਕਰਕੇ ਨੈੱਟਵਰਕ ਕਾਰਡ ਨੂੰ ਪਲੱਗ ਅਤੇ ਅਨਪਲੱਗ ਕਰੋ ਅਤੇ ਦੁਬਾਰਾ ਕਨੈਕਟ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ।
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 ਦਾ ਰਾਡਾਰ ਵਿਸ਼ਾ ਹੈ/ਸਲੇਵ1/ਸਕੈਨ ਹੈ, ਅਤੇ ਸਲੇਵ 1 ਦਾ LiDAR ਨੋਡ ਹੈ/ਸਲੇਵ1/ਲੇਜ਼ਰ ਹੈ।
ਸਲੇਵ ਕੋਆਰਡੀਨੇਟ ਸੈਟ ਅਪ ਕਰੋ
wheeltec_multi ਪੈਕੇਜ ਕਸਟਮ ਫਾਰਮੇਸ਼ਨਾਂ ਨੂੰ ਲਾਗੂ ਕਰ ਸਕਦਾ ਹੈ। ਜਦੋਂ ਵੱਖ-ਵੱਖ ਬਣਤਰਾਂ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਬਸ ਸਲੇਵ ਰੋਬੋਟਾਂ ਦੇ ਲੋੜੀਂਦੇ ਨਿਰਦੇਸ਼ਾਂਕ ਨੂੰ ਸੋਧੋ। Slave_x ਅਤੇ slave_y ਮੂਲ ਸੰਦਰਭ ਬਿੰਦੂ ਦੇ ਤੌਰ 'ਤੇ ਮਾਲਕ ਦੇ ਨਾਲ ਸਲੇਵ ਦੇ x ਅਤੇ y ਕੋਆਰਡੀਨੇਟ ਹਨ। ਮਾਸਟਰ ਦਾ ਅਗਲਾ ਹਿੱਸਾ x ਕੋਆਰਡੀਨੇਟ ਦੀ ਸਕਾਰਾਤਮਕ ਦਿਸ਼ਾ ਹੈ, ਅਤੇ ਖੱਬੇ ਪਾਸੇ y ਕੋਆਰਡੀਨੇਟ ਦੀ ਸਕਾਰਾਤਮਕ ਦਿਸ਼ਾ ਹੈ। ਸੈਟਿੰਗ ਪੂਰੀ ਹੋਣ ਤੋਂ ਬਾਅਦ, ਇੱਕ TF ਕੋਆਰਡੀਨੇਟ ਸਲੇਵ 1 ਨੂੰ ਸਲੇਵ ਦੇ ਸੰਭਾਵਿਤ ਕੋਆਰਡੀਨੇਟ ਵਜੋਂ ਜਾਰੀ ਕੀਤਾ ਜਾਵੇਗਾ। ਜੇ ਇੱਕ ਮਾਲਕ ਅਤੇ ਦੋ ਨੌਕਰ ਹਨ, ਤਾਂ ਹੇਠਾਂ ਦਿੱਤੀ ਰਚਨਾ ਨੂੰ ਸੈੱਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ:
- ਲੇਟਵੀਂ ਬਣਤਰ: ਤੁਸੀਂ ਖੱਬੇ ਪਾਸੇ ਸਲੇਵ ਦੇ ਕੋਆਰਡੀਨੇਟਸ ਨੂੰ slave_x:0, slave_y: 0.8, ਅਤੇ ਸੱਜੇ ਪਾਸੇ slave_x:0, slave_y:-0.8 'ਤੇ ਸੈਟ ਕਰ ਸਕਦੇ ਹੋ।
- ਕਾਲਮ ਬਣਤਰ: ਇੱਕ ਸਲੇਵ ਦੇ ਕੋਆਰਡੀਨੇਟਸ ਨੂੰ ਇਸ 'ਤੇ ਸੈੱਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ: slave_x:-0.8, slave_y:0, ਅਤੇ ਦੂਜੇ ਸਲੇਵ ਦੇ ਧੁਰੇ ਨੂੰ ਸੈੱਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ: slave_x:-1.8, slave_y:0।
- ਤਿਕੋਣੀ ਬਣਤਰ: ਇੱਕ ਸਲੇਵ ਦੇ ਕੋਆਰਡੀਨੇਟਸ ਨੂੰ ਇਸ 'ਤੇ ਸੈੱਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ: slave_x:-0.8, slave_y: 0.8, ਅਤੇ ਦੂਜੇ ਸਲੇਵ ਦੇ ਕੋਆਰਡੀਨੇਟਸ ਨੂੰ: slave_x:-0.8, slave_y:-0.8 'ਤੇ ਸੈੱਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
ਹੋਰ ਬਣਤਰ ਲੋੜ ਅਨੁਸਾਰ ਅਨੁਕੂਲਿਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ.
ਨੋਟ ਕਰੋ:
- ਦੋ ਰੋਬੋਟਾਂ ਵਿਚਕਾਰ ਸਿਫ਼ਾਰਸ਼ ਕੀਤੀ ਦੂਰੀ 0.8 'ਤੇ ਸੈੱਟ ਕੀਤੀ ਗਈ ਹੈ, ਅਤੇ ਇਹ ਸਿਫ਼ਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਕਿ ਇਹ 0.6 ਤੋਂ ਘੱਟ ਨਾ ਹੋਵੇ। ਨੌਕਰਾਂ ਅਤੇ ਮਾਲਕ ਵਿਚਕਾਰ ਦੂਰੀ ਨੂੰ 2.0 ਤੋਂ ਹੇਠਾਂ ਨਿਰਧਾਰਤ ਕਰਨ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ. ਇਹ ਮਾਲਕ ਤੋਂ ਜਿੰਨਾ ਦੂਰ ਹੈ, ਮਾਲਕ ਦੇ ਮੁੜਨ ਵੇਲੇ ਨੌਕਰ ਦੀ ਰੇਖਿਕ ਗਤੀ ਓਨੀ ਹੀ ਵੱਧ ਹੈ। ਅਧਿਕਤਮ ਗਤੀ ਦੀ ਸੀਮਾ ਦੇ ਕਾਰਨ, ਸਲੇਵ ਦੀ ਗਤੀ ਭਟਕ ਜਾਵੇਗੀ ਜੇਕਰ ਇਹ ਜ਼ਰੂਰਤਾਂ ਨੂੰ ਪੂਰਾ ਨਹੀਂ ਕਰਦੀ ਹੈ. ਰੋਬੋਟ ਦਾ ਗਠਨ ਅਰਾਜਕ ਹੋ ਜਾਵੇਗਾ.
ਨੌਕਰ ਦੀ ਸਥਿਤੀ ਦੀ ਸ਼ੁਰੂਆਤ
- ਸਲੇਵ ਦੀ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ ਮੂਲ ਰੂਪ ਵਿੱਚ ਸੰਭਾਵਿਤ ਕੋਆਰਡੀਨੇਟਸ 'ਤੇ ਹੁੰਦੀ ਹੈ। ਪ੍ਰੋਗਰਾਮ ਨੂੰ ਚਲਾਉਣ ਤੋਂ ਪਹਿਲਾਂ, ਸ਼ੁਰੂਆਤ ਨੂੰ ਪੂਰਾ ਕਰਨ ਲਈ ਸਲੇਵ ਰੋਬੋਟ ਨੂੰ ਇਸਦੇ ਸੰਭਾਵਿਤ ਨਿਰਦੇਸ਼ਾਂਕ ਦੇ ਨੇੜੇ ਰੱਖੋ। ਇਹ ਫੰਕਸ਼ਨ wheeltec_multi ਪੈਕੇਜ ਵਿੱਚ turn_on_wheeltec_robot.launch ਨਾਮ ਦੀ ਫਾਈਲ ਵਿੱਚ pose_setter ਨੋਡ ਦੁਆਰਾ ਲਾਗੂ ਕੀਤਾ ਗਿਆ ਹੈ, ਜਿਵੇਂ ਕਿ ਚਿੱਤਰ 4-1-3 ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਹੈ।
ਜੇਕਰ ਉਪਭੋਗਤਾ ਸਲੇਵ ਦੀ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ ਨੂੰ ਅਨੁਕੂਲਿਤ ਕਰਨਾ ਚਾਹੁੰਦਾ ਹੈ, ਤਾਂ ਉਸਨੂੰ ਸਿਰਫ slave_x ਅਤੇ slave_y ਮੁੱਲ ਸੈੱਟ ਕਰਨ ਦੀ ਲੋੜ ਹੈ ਜਿਵੇਂ ਕਿ wheeltec_slave.launch ਵਿੱਚ ਚਿੱਤਰ 4-1-4 ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਹੈ। slave_x ਅਤੇ slave_y ਮੁੱਲ turn_on_wheeltec_robot.launch ਨੂੰ ਪਾਸ ਕੀਤੇ ਜਾਣਗੇ ਅਤੇ pose_setter ਨੋਡ ਨੂੰ ਸੌਂਪੇ ਜਾਣਗੇ। ਪ੍ਰੋਗਰਾਮ ਨੂੰ ਚਲਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਰੋਬੋਟ ਨੂੰ ਇੱਕ ਕਸਟਮ ਸਥਿਤੀ ਵਿੱਚ ਰੱਖੋ।
ਸਥਿਤੀ ਸੰਰਚਨਾ
ਇੱਕ ਮਲਟੀ-ਏਜੰਟ ਗਠਨ ਵਿੱਚ, ਹੱਲ ਕੀਤੀ ਜਾਣ ਵਾਲੀ ਪਹਿਲੀ ਸਮੱਸਿਆ ਹੈ ਮਾਲਕ ਅਤੇ ਨੌਕਰ ਦੀ ਸਥਿਤੀ। ਮਾਸਟਰ ਪਹਿਲਾਂ 2D ਨਕਸ਼ਾ ਤਿਆਰ ਕਰੇਗਾ। ਨਕਸ਼ੇ ਨੂੰ ਬਣਾਉਣ ਅਤੇ ਸੁਰੱਖਿਅਤ ਕਰਨ ਤੋਂ ਬਾਅਦ, 2D ਨੇਵੀਗੇਸ਼ਨ ਪੈਕੇਜ ਚਲਾਓ ਅਤੇ ਮਾਸਟਰ ਦੀ ਸਥਿਤੀ ਨੂੰ ਸੰਰਚਿਤ ਕਰਨ ਲਈ 2D ਨੇਵੀਗੇਸ਼ਨ ਪੈਕੇਜ ਵਿੱਚ ਅਨੁਕੂਲ ਮੋਂਟੇ ਕਾਰਲੋ ਪੋਜੀਸ਼ਨਿੰਗ ਐਲਗੋਰਿਦਮ (amcl ਪੋਜੀਸ਼ਨਿੰਗ) ਦੀ ਵਰਤੋਂ ਕਰੋ। ਕਿਉਂਕਿ ਮਾਸਟਰ ਅਤੇ ਸਲੇਵ ਇੱਕੋ ਨੈਟਵਰਕ ਵਿੱਚ ਹਨ ਅਤੇ ਇੱਕੋ ਨੋਡ ਮੈਨੇਜਰ ਨੂੰ ਸਾਂਝਾ ਕਰਦੇ ਹਨ, ਮਾਸਟਰ ਨੇ 2D ਨੈਵੀਗੇਸ਼ਨ ਪੈਕੇਜ ਤੋਂ ਨਕਸ਼ੇ ਨੂੰ ਲਾਂਚ ਕੀਤਾ ਹੈ, ਸਾਰੇ ਨੌਕਰ ਇੱਕੋ ਨੋਡ ਮੈਨੇਜਰ ਦੇ ਅਧੀਨ ਇੱਕੋ ਨਕਸ਼ੇ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹਨ। ਇਸ ਲਈ, ਗੁਲਾਮ ਨੂੰ ਇੱਕ ਨਕਸ਼ਾ ਬਣਾਉਣ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ. wheeltec_slave.launch ਵਿੱਚ, ਮੋਂਟੇ ਕਾਰਲੋ ਪੋਜੀਸ਼ਨਿੰਗ (amcl ਪੋਜੀਸ਼ਨਿੰਗ) ਚਲਾਓ, ਨੌਕਰ ਮਾਸਟਰ ਦੁਆਰਾ ਬਣਾਏ ਨਕਸ਼ੇ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਆਪਣੀਆਂ ਸਥਿਤੀਆਂ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰ ਸਕਦੇ ਹਨ।
ਗਠਨ ਕਿਵੇਂ ਕਰਨਾ ਹੈ ਅਤੇ ਗਠਨ ਨੂੰ ਕਿਵੇਂ ਕਾਇਮ ਰੱਖਣਾ ਹੈ
ਗਠਨ ਅੰਦੋਲਨ ਦੀ ਪ੍ਰਕਿਰਿਆ ਵਿੱਚ, ਮਾਸਟਰ ਅੰਦੋਲਨ ਨੂੰ Rviz, ਕੀਬੋਰਡ, ਰਿਮੋਟ ਕੰਟਰੋਲ ਅਤੇ ਹੋਰ ਤਰੀਕਿਆਂ ਦੁਆਰਾ ਨਿਯੰਤਰਿਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ਸਲੇਵ ਆਪਣੀ ਗਤੀ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਨ ਅਤੇ ਗਠਨ ਦੇ ਟੀਚੇ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ slave_tf_listener ਨੋਡ ਦੁਆਰਾ ਆਪਣੀ ਗਤੀ ਦੀ ਗਣਨਾ ਕਰਦਾ ਹੈ। slave_tf_listener ਨੋਡ ਨੋਡ ਗਣਨਾ ਦੁਆਰਾ ਬਹੁਤ ਜ਼ਿਆਦਾ ਗਤੀ ਤੋਂ ਬਚਣ ਲਈ ਸਲੇਵ ਸਪੀਡ ਨੂੰ ਸੀਮਿਤ ਕਰਦਾ ਹੈ, ਜੋ ਕਿ ਪ੍ਰਭਾਵਾਂ ਦੀ ਇੱਕ ਲੜੀ ਦਾ ਕਾਰਨ ਬਣੇਗਾ। ਖਾਸ ਮੁੱਲ ਨੂੰ wheeltec_slave.launch ਵਿੱਚ ਸੋਧਿਆ ਜਾ ਸਕਦਾ ਹੈ।
ਗਠਨ ਐਲਗੋਰਿਦਮ ਦੇ ਸੰਬੰਧਿਤ ਮਾਪਦੰਡ ਹੇਠ ਲਿਖੇ ਅਨੁਸਾਰ ਹਨ:
ਰੁਕਾਵਟ ਤੋਂ ਬਚਣ ਦੀ ਜਾਣਕਾਰੀ
ਇੱਕ ਮਲਟੀ-ਏਜੰਟ ਗਠਨ ਵਿੱਚ, ਮਾਸਟਰ ਰੁਕਾਵਟ ਤੋਂ ਬਚਣ ਲਈ ਮੂਵ_ਬੇਸ ਨੋਡ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦਾ ਹੈ। ਹਾਲਾਂਕਿ, ਸਲੇਵ ਦੀ ਸ਼ੁਰੂਆਤ ਮੂਵ_ਬੇਸ ਨੋਡ ਦੀ ਵਰਤੋਂ ਨਹੀਂ ਕਰਦੀ ਹੈ। ਇਸ ਸਮੇਂ, ਮਲਟੀ_ਐਵੋਇਡੈਂਸ ਨੋਡ ਨੂੰ ਸਲੇਵ ਪ੍ਰੋਗਰਾਮ ਵਿੱਚ ਬੁਲਾਉਣ ਦੀ ਲੋੜ ਹੈ। ਰੁਕਾਵਟ ਪਰਹੇਜ਼ ਨੋਡ ਨੂੰ ਪੈਕੇਜ ਵਿੱਚ ਮੂਲ ਰੂਪ ਵਿੱਚ ਯੋਗ ਕੀਤਾ ਗਿਆ ਹੈ। ਜੇ ਜਰੂਰੀ ਹੋਵੇ, ਰੁਕਾਵਟ ਤੋਂ ਬਚਣ ਵਾਲੇ ਨੋਡ ਨੂੰ ਅਸਮਰੱਥ ਬਣਾਉਣ ਲਈ ਬਚਣ ਨੂੰ "ਗਲਤ" ਤੇ ਸੈੱਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
ਰੁਕਾਵਟ ਤੋਂ ਬਚਣ ਵਾਲੇ ਨੋਡ ਦੇ ਕੁਝ ਸੰਬੰਧਿਤ ਮਾਪਦੰਡ ਹੇਠਾਂ ਦਿੱਤੇ ਚਿੱਤਰ ਵਿੱਚ ਦਿਖਾਏ ਗਏ ਹਨ, ਜਿੱਥੇ ਸੁਰੱਖਿਅਤ_ਦੂਰੀ ਰੁਕਾਵਟ ਸੁਰੱਖਿਅਤ ਦੂਰੀ ਸੀਮਾ ਹੈ, ਅਤੇ ਖਤਰੇ_ਦੂਰੀ ਰੁਕਾਵਟ ਖਤਰਨਾਕ ਦੂਰੀ ਸੀਮਾ ਹੈ। ਜਦੋਂ ਰੁਕਾਵਟ ਸੁਰੱਖਿਅਤ ਦੂਰੀ ਅਤੇ ਖ਼ਤਰੇ ਦੀ ਦੂਰੀ ਦੇ ਅੰਦਰ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਗੁਲਾਮ ਰੁਕਾਵਟ ਤੋਂ ਬਚਣ ਲਈ ਆਪਣੀ ਸਥਿਤੀ ਨੂੰ ਅਨੁਕੂਲ ਬਣਾਉਂਦਾ ਹੈ। ਜਦੋਂ ਰੁਕਾਵਟ ਖਤਰੇ ਦੇ ਅੰਦਰ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਗੁਲਾਮ ਰੁਕਾਵਟ ਤੋਂ ਦੂਰ ਹੋ ਜਾਂਦਾ ਹੈ।
ਸੰਚਾਲਨ ਵਿਧੀ
ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਕਮਾਂਡ ਦਿਓ
ਮਲਟੀ-ਏਜੰਟ ਗਠਨ ਸ਼ੁਰੂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਤਿਆਰੀਆਂ:
- ਮਾਲਕ ਅਤੇ ਨੌਕਰ ਇੱਕੋ ਨੈੱਟਵਰਕ ਨਾਲ ਜੁੜਦੇ ਹਨ ਅਤੇ ਮਲਟੀ-ਏਜੰਟ ਸੰਚਾਰ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਸਥਾਪਤ ਕਰਦੇ ਹਨ
- ਮਾਸਟਰ ਪਹਿਲਾਂ ਹੀ 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: ਮਾਸਟਰ ਤੋਂ ਕੀਬੋਰਡ ਕੰਟਰੋਲ ਨੋਡ ਖੋਲ੍ਹੋ ਜਾਂ ਮਾਸਟਰ ਮੂਵਮੈਂਟ ਨੂੰ ਰਿਮੋਟ ਕੰਟਰੋਲ ਕਰਨ ਲਈ ਜਾਇਸਟਿਕ ਦੀ ਵਰਤੋਂ ਕਰੋ।
wheeltec_robot_rc ਕੀਬੋਰਡ_teleop.launch ਮੁੜ-ਲਾਂਚ ਕਰੋ
- ਕਦਮ 4: (ਵਿਕਲਪਿਕ) Rviz ਤੋਂ ਰੋਬੋਟ ਦੀਆਂ ਹਰਕਤਾਂ ਦਾ ਨਿਰੀਖਣ ਕਰੋ।
rviz
ਨੋਟ:
- ਪ੍ਰੋਗਰਾਮ ਨੂੰ ਚਲਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਸਮਾਂ ਸਿੰਕ੍ਰੋਨਾਈਜ਼ੇਸ਼ਨ ਕਾਰਵਾਈ ਨੂੰ ਪੂਰਾ ਕਰਨਾ ਯਕੀਨੀ ਬਣਾਓ।
- ਮਲਟੀ-ਏਜੰਟ ਗਠਨ ਦੇ ਮਾਸਟਰ ਨੂੰ ਕੰਟਰੋਲ ਕਰਦੇ ਸਮੇਂ, ਕੋਣੀ ਵੇਗ ਬਹੁਤ ਤੇਜ਼ ਨਹੀਂ ਹੋਣੀ ਚਾਹੀਦੀ। ਸਿਫ਼ਾਰਿਸ਼ ਕੀਤੀ ਰੇਖਿਕ ਗਤੀ 0.2m/s, ਕੋਣੀ ਸਪੀਡ ਡਿਗਰੀ 0.3rad/s ਤੋਂ ਘੱਟ ਹੈ। ਜਦੋਂ ਮਾਲਕ ਇੱਕ ਮੋੜ ਲੈ ਰਿਹਾ ਹੁੰਦਾ ਹੈ, ਨੌਕਰ ਮਾਲਕ ਤੋਂ ਜਿੰਨਾ ਦੂਰ ਹੁੰਦਾ ਹੈ, ਓਨੀ ਹੀ ਜ਼ਿਆਦਾ ਰੇਖਿਕ ਗਤੀ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਪੈਕੇਜ ਵਿੱਚ ਲੀਨੀਅਰ ਸਪੀਡ ਅਤੇ ਐਂਗੁਲਰ ਸਪੀਡ ਦੀ ਸੀਮਾ ਦੇ ਕਾਰਨ, ਜਦੋਂ ਸਲੇਵ ਕਾਰ ਲੋੜੀਂਦੀ ਗਤੀ ਤੱਕ ਨਹੀਂ ਪਹੁੰਚ ਸਕਦੀ, ਤਾਂ ਗਠਨ ਅਰਾਜਕ ਹੋ ਜਾਵੇਗਾ। ਕੁੱਲ ਮਿਲਾ ਕੇ, ਬਹੁਤ ਜ਼ਿਆਦਾ ਰੇਖਿਕ ਗਤੀ ਰੋਬੋਟ ਨੂੰ ਆਸਾਨੀ ਨਾਲ ਨੁਕਸਾਨ ਪਹੁੰਚਾ ਸਕਦੀ ਹੈ।
- ਜਦੋਂ ਗੁਲਾਮਾਂ ਦੀ ਗਿਣਤੀ ਇੱਕ ਤੋਂ ਵੱਧ ਹੁੰਦੀ ਹੈ, ਤਾਂ ROS ਹੋਸਟ ਦੀ ਸੀਮਤ ਆਨ-ਬੋਰਡ ਵਾਈਫਾਈ ਬੈਂਡਵਿਡਥ ਦੇ ਕਾਰਨ, ਬਹੁ-ਏਜੰਟ ਸੰਚਾਰ ਵਿੱਚ ਮਹੱਤਵਪੂਰਨ ਦੇਰੀ ਅਤੇ ਡਿਸਕਨੈਕਸ਼ਨ ਦਾ ਕਾਰਨ ਬਣਨਾ ਆਸਾਨ ਹੁੰਦਾ ਹੈ। ਰਾਊਟਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਨਾਲ ਇਸ ਸਮੱਸਿਆ ਨੂੰ ਚੰਗੀ ਤਰ੍ਹਾਂ ਹੱਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
- ਮਲਟੀ-ਰੋਬੋਟ ਗਠਨ (2 ਸਲੇਵਜ਼) ਦਾ ਟੀਐਫ ਟ੍ਰੀ ਹੈ: rqt_tf_tree
- ਮਲਟੀ-ਰੋਬੋਟ ਗਠਨ (2 ਸਲੇਵਜ਼) ਦਾ ਨੋਡ ਰਿਸ਼ਤਾ ਚਿੱਤਰ ਹੈ: rqt_graph
ਦਸਤਾਵੇਜ਼ / ਸਰੋਤ
![]() |
ਰੋਬੋਵਰਕਸ ਰੋਬੋਫਲੀਟ ਮਲਟੀ-ਏਜੇਂਟ ਐਲਗੋਰਿਦਮ [pdf] ਯੂਜ਼ਰ ਮੈਨੂਅਲ ਰੋਬੋਫਲੀਟ ਮਲਟੀ ਏਜੰਟ ਐਲਗੋਰਿਦਮ, ਰੋਬੋਫਲੀਟ, ਮਲਟੀ ਏਜੰਟ ਐਲਗੋਰਿਦਮ, ਏਜੰਟ ਐਲਗੋਰਿਦਮ, ਐਲਗੋਰਿਦਮ |