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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.movel.ai/new-collection/seirios-rns/product-features/supplementary-features/auxiliary-tasks.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
