This is an old revision of the document!
Troubleshooting Skills
Your skill is not found by SkiROS, now what? Here are some basic things to make sure are correct before you give up on ever working with SkiROS again.
* Is the skill in the skill list of the launch file?
* Is the script in a package that is imported by the launch file?
* Does the script end in .py?
* Is there an empty _ _init_ _.py file in the same directory as the script?
* Is there an import error in the script?
* Is there a syntax error in the script?
Expected File Structure
└─ catkin_ws ├─ src | ├─ skills | | ├─ skills_sandbox | | ├─ vision_skills | | ├─ <skill package 1> | | └─ ... | └─ <other ROS packages> └─ ...
Where your skill lies in <skill package 1>, this package should be a ROS package which looks like the package that can be found here.
In the src file of <skill package 1> the following structure is expected
└─ src ├─ <folder 1> | ├─ _ _init_ _.py | ├─ <file 1>.py | └─ ... ├─ <folder 2> | ├─ _ _init_ _.py | ├─ <file 1>.py | └─ ... └─ ...
If the _ _init_ _.py files are not present the files containing skills are not found by SkiROS.
Add Skill to Skill List and Verify Package is Imported
<arg name="libraries_list" value="[skiros2_std_skills, skiros2_moveit_lib, skills_sandbox, vision_skills, <skill package 1>]"/> <arg name="skill_list" value="[names, of, skills, here, both, primitive, and, compound, skills ]" />
The name of the relevant skills should be added to the skill list. If a skill lies in <skill package 1> that package should be added to the libraries_list.
Detect and Fix Import Error
An easy way to find import errors is to put a minimal skill in the same directory as the skill that does not get found by SkiROS, a good minimal skill can be found here. Then perform the following steps
* Rename the minimal skill.
* Add the minimal skill to the skill list before
the skill that does not get loaded.
* Run the simulation/launch file, does the minimal skill get loaded?
* * If the minimal skill does not load the _ _init_ _.py might be missing or it's something else.
* * If the minimal skill loads there might be a syntax error or import error in the skill you're writing.
To then determine