Executing Python codes inside ROS
Hello everyone.
I'm new in the ROS and Linux world, I'm still learning but I'm confused with some aspects regarding ROS nodes and how it's related to execute Python code with it. I've already written a Python code in Windows, if I want to run it in ROS should I have a package for it and nodes and catkin_make every time I make a changes in the code ? I'm following the ROS tutorial from ROS.org but I feel it's mostly " this will do this do this and that" , I'm using ROS kinetic with Ubuntu 16.04.
Asked by Dalsallum on 2020-10-11 19:28:06 UTC
Answers
@Dalsallum Welcome to the forum!
To answer your question you will need to understand several things:
- If you want your code to interat with any ROS utility or tool you will need to include you code inside a node inside a catkin package in your workspace
src
folder. Take into account that you can execute your script in any location of your machine, however it is advisable to implement it inside a package in order to let ROS know the location of the script and several enviromental things. If you want to know more about this topic, there is a nice tutorial about that here. - Once your code is inside a node, you will need to configure your enviroment first and then use
catkin_make
once to let ROS process all your packages in yousrc
folder and set up important enviromental variables. - Since you are using python (
rospy
), you do not need to compile every time you change your node because python is interpreted (it needs and interpreter not a compiler). Hence, you can change any line in your script and still be able to execute it without the need of acatkin_make
. However if you are working with C++ (roscpp), you will need to compile (catkin_make
) every time to generate the executables, libs etc. with the changes performed.
If you have doubts regarding rospy
you can check the official tutorials page, that also exists for roscpp.
Hope this solve all your doubts.
Regards.
Asked by Weasfas on 2020-10-12 05:02:45 UTC
Comments