> For the complete documentation index, see [llms.txt](https://docs.movel.ai/new-collection/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.movel.ai/new-collection/seirios-rns/product-features/supplementary-features/auxiliary-tasks.md).

# 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.

![](/files/-MkaMEMaRJGfzhrseorb)

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](/files/77mL71yL39cLX2nMNIKN)

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](/new-collection/seirios-rns/documentation/ext-process-handler.md)
