2024. november 15., péntek

Ismerkedés a ROS programmal

Robot operációs rendszer ( ROS ) egy nyílt forráskódú keretrendszer robotok fejlesztésére. Az alábbiakban bemutatok egy alap vető ROS programot, amely egy robotot vezérel. 

A példa egy egyszerű ROS csomagot hoz létre, amely a robot mozgását vezérli.

1. Lépés: Csomag létrehozása
először hozz létre egy új ROS csomagot. Navig álj a ROS workspace-be (ha a workspace nevecatkin_ws ):




cd ~/catkin_ws/src
catkin_create_pkg my_robot_controller std_msgs  rospy 
catkin_create_pkg my_robot_controller std_msgs rospy
catkin_create_pkg my_robot_controller
2. Lépés: Python script készítése
ezután készíts el egy Python scriptet, amely vezérli a robotot. Hozz létre egy új mappát a csomagon belül, és hozd létre a scriptet:

---------------------------------------

cd  my_robot_controller 
mkdir  scripts 
touch  scripts/move_robot.py 
chmod  +x  scripts/move_robot.py 
3. Lépés: Script írása
Nyisd meg a   move_robot.py  fájlt és írd bele a következő kódot:


#!/usr/bin/env python

import rózsás
from geometry_msgs.msg import Twist

def  move_robot(): 
    #  Inicializálja  a  node-t 
    rospy.init_node('robot_mover',  anonymous=True) 

    

    #  Publisher  létrehozása  a  /cmd_vel  topichoz 
    pub  =  rospy.Publisher('/cmd_vel',  Twist,  queue_size=10) 

    

    # Rate  beállítás 
    rate  =  rospy.R ate(10)  # 10 Hz

    # Üzenet inicializálása
    move_cmd = Twist()

    # Példa: előre mozgásra
    move_cmd.linear.x = 0.5  # sebesség m/s
    move_cmd.angular.z = 0.0  # forgás sebessége rad/s

    while not rospy.is_shutdown():
        # Publish a move command
        pub.publish(move_cmd)
        rospy.loginfo("Moving robot forward")
        rate.sleep()

if __name__ == '__main__':
    try:
        move_robot()
    except rospy.ROSInterruptException:
        pass
4. Lépés: Csomag buildelése
A legtöbb építsd fel a ROS munkaterületre-t:



cd ~/catkin_ws
catkin_make
5. Lépés: Program futtatása
Indítsd el a ROS mastert:


roscore
Majd egy másik terminálban, navigálj a workspace-be és futtasd a robot vezérlőprogramját:


cd ~/catkin_ws
source devel/setup.bash
rosrun my_robot_controller move_robot.py
ros

6. Fontos megjegyzések

A fenti kód alapvető példa, amely egy/cmd_veltopicra küld egyTwistüzenetet, amely a robot mozgását vezérli.
Győződj meg róla, hogy valóban van robotod a hálózaton, amely a/cmd_veltopicot figyeli vagy egyéb a TurtleBot robotok).

https://users.iit.uni-miskolc.hu/~tompa/KorszeruInfTech_lev/ROS_segedlet.pdf

Nincsenek megjegyzések:

Megjegyzés küldése