Päivitys (13 / 02 / 2026): Meillä on runsaasti varastossa kaikkia tuotteitamme, löydät meidät myös täältä ja    Lue lisää

SBC-liitäntä uROS-kirjaston kanssa

Tässä opetusohjelmassa opimme käyttämään uROS-kirjastoa micropythonille: https://github.com/mgtm98/uRos

ROS on käyttöjärjestelmä roboteille, jossa eri "solmut" kommunikoivat keskuspalvelimen kanssa TCP-sanomien kautta JSON-muodossa.

Tämän kirjaston avulla voimme toteuttaa ROS-solmun SBC. Se muodostaa yhteyden palvelimeen ja voi lähettää (julkaista) tai vastaanottaa (tilata) viestejä.

Koodi viestin lähettämiseen on seuraava:

 1 2 3 4 5 6 7 8 9 10 11 12 13 14
tuoda verkko
alkaen aurochs tuoda *
alkaen uros.std_msgs tuoda std_Bool lan = verkko.LAN() lan.aktiivinen (Totta) lan.ifconfig(( "10.0.0.1", "255.255.255.0", "10.0.0.2", "8.8.8.8" ))
vaikka(lan.Tila() != 3 ):
    painaa( "", loppu="" ) aika.nukkua(1)
painaa( "Yhdistetty!" ) uRos = Ros( "10.0.0.2", 9090 )    #luodaan uutta uRos-objektia
msg = std_Bool( data = Totta )     #ros-merkkijonoviestiobjektin luominen
uRos.julkaista( "uRosTopic", viesti)  #julkaisemassa viestiobjektin
painaa("tehty")

Tässä koodissa yhdistämme ensin LAN-verkkoon ja sitten ROS-palvelimeen; määrittelemme viestimme muodon ja lopuksi julkaisemme.

PC:llä suoritamme python-koodin, joka toimii ROS-palvelimena. Yksinkertaisuuden vuoksi tämä koodi on vain socket-palvelin, joka tulostaa tiedot konsoliin.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
tuoda pistorasia
tuoda sys
def socket_server(isäntä, portti): s = pistorasia.pistorasia (pistorasia.AF_INET, pistorasia.SOCK_STREAM) s.bind((isäntä, portti)) s.kuunnella(1)
    vaikka Totta: yhteys, osoite = s.hyväksyä()
        painaa("Yhdistynyt", osoite)
        vaikka Totta: data = Conn.recv(1024)
            if emme tiedot:
                rikkoa
            painaa(data) liit.kiinni()
        painaa("yhteys suljettu") s.kiinni()
    painaa("on kiinni") socket_server( '10.0.0.2', 9090 )
painaa("tehty")

Tämän seurauksena palvelimelle vastaanotetut tiedot näytetään:

Jos tarkastelemme tietoja, näemme kaksi osaa:

1. uRosTopic-viestimme määritelmä. Tämä lähetetään vain kerran jokaista uutta viestityyppiä kohden.

2. Ja julkaistut tiedot. Tämä lähetetään aina, kun julkaisemme uuden arvon.

 

Nyt olet valmis yhdistämään SBC:n mihin tahansa ROS-laitteeseen ethernetin kautta, määrittelemään mukautetun viestin ja lähettämään sen vain muutamalla rivillä python-koodia.

Jos pidit tästä sisällöstä, voit seurata meitä Twitter, YouTube, Facebook or LinkedIn pysyäksesi ajan tasalla tällaisesta sisällöstä.

Onko sinulla kysyttävää tai pyyntöjä?
Ota meihin yhteyttä! Vastaamme <24 tuntia!

ikoni
Ota yhteyttä ArduSimple
lähellä
ArduSimple GNSS RTK -arviointitaulut on tehty helpoksi

Haluatko oppia lisää GPS:stä ja RTK:sta?

Jos olet juuri nyt kiireinen, insinöörimme voivat lähettää sinulle kolme lyhyttä sähköpostia, joissa kerrotaan kaikki tarvittavat tiedot projektisi aloittamiseksi.