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