# Non-Fully Qualified Tasks

There are two types of Non-Fully Qualified Tasks, Auxiliary Tasks, and Custom Tasks.

## Auxiliary Tasks

Auxiliary tasks are executables such as lights, music, sound, or others\*.&#x20;

They are created and executed independently.

![](https://3011557067-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MkBtlBrwlCbBifOLd-h%2F-Mk_ttpTrn5EXCE4CXhS%2F-MkaMEMaRJGfzhrseorb%2FUntitled.png?alt=media\&token=4fb9f7fc-a7c6-4b79-b103-5bd18858f99e)

They must be 'stacked' on top of fully qualified tasks and will be **executed together** at the specified time and sequence

![Ensure you have the necessary information to create aux tasks](https://3011557067-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MkBtlBrwlCbBifOLd-h-887967055%2Fuploads%2FsD9watGdN0NLMZ1KafKU%2Fimage.png?alt=media\&token=b3b2b96c-f14d-4e33-9c25-b60bdb0d4828)

You can fill **name** for the **Aux Task Name**, then there are **3 Types** that you can choose.\
1\. **Roslaunch** **File**: You can launch your aux task using the roslaunch file, please fill the **LaunchFile** as the full path of the launch file that you want to launch.\
2\. **Rosnode**: You can launch your aux task by calling the rosnode, please fill the **Pkg** as the package of the rosnode, and **Executable** as the executable file. It will similar to this:\
`rosrun <Package> <Executable>`\
3\. **Executable Scripts \<recommended>**: You can launch the aux task by executing the executable scripts, please fill the **Executable** as the full path of the script file, and also you can add the arguments as well (optional). It will similar to this:\
`bash ./script.sh arg`

### How to run it:

1. Copy your bash script to the **\~/catkin\_ws/movel\_ai/aux\_task** folder. \
   This is the example of script for your reference, you can modify it based on your case.\
   \
   `#!/bin/bash`

   `function proc_start { rostopic pub /aux_task_status std_msgs/String "data: 'start'"`

   ```
   while true
   do
       sleep 10
   done
   ```

   `}`

   `function proc_exit { rostopic pub /aux_task_status std_msgs/String "data: 'stop'" exit 0 }`

   `trap proc_exit TERM INT proc_start`<br>
2. Make sure you make the script as executable (**sudo chmod +x \[file\_name].sh**)
3. Create new aux task, executable must be **/home/movel/.config/movel/aux\_tasks/\[file\_name].sh** (full path directory for auxiliary task inside Seirios-RNS Docker)
4. args is optional, you can leave it blank

## Custom Tasks

Custom tasks are tasks that move robots - such as docking or picking with a robotic arm. These movements are programmed as custom tasks and can be chained with other tasks to create a fully autonomous robotic operation.

For more details on how to integrate your own custom task code, please refer to our [external process handler guide](https://docs.movel.ai/new-collection/seirios-rns/documentation/ext-process-handler)
