Agent FAQ

Can I limit the Formant agent's CPU and memory consumption?

Yes, CPU and memory can be limited on Linux systems using systemctl.

systemctl set-property formant-agent.service MemoryLimit=<value>
systemctl set-property formant-agent.service CPUQuota=<value>

For example, to lock the agent to using a maximum of one core:

systemctl set-property formant-agent.service CPUQuota=100%

How can I make the "formant" user use a different python than the system level python?

For native installations, export FORMANT_AGENT_PYTHON_PATH and FORMANT_AGENT_PYTHON3_PATH to the desired values in /var/lib/formant/.bashrc to specify the pythons the formant user will use. These values default to python and python3.

How can I source a custom script before the Formant agent process starts?

For native installations, export the SOURCE_SCRIPT environment variable in /var/lib/formant/.bashrc to the location of the custom script. The "formant" user will source the provided script before executing the Formant agent process. See Environment variables for the agent.

What environment variables can I add to /var/lib/formant/.bashrc?

A list of all optional environment variables that affect the behavior of the Formant agent can be found here

📘

Restart agent

Please make sure to restart the agent (systemctl restart formant-agent) for the environment variables to take effect

Agent setup troubleshooting

The Formant agent ROS bridge is not running

Most parts of the formant agent ROS bridge are python3 processes. Try running import rospy in a python3 shell. If this import errors, you may have to install python3-roskpg-modules:

apt install python3-rospkg-modules

Please make sure you have the following packages installed on pyhton3 for ros_bridge:

rosgraph
roslib
rostopic
std_msgs
GTK
gi
sensor_msgs
genpy
actionlib_msgs
geometry_msgs
sensor_msgs
The following packages need to be installed on python2 for tf2_bridge:

rosgraph
rospy
tf2_ros
genpy

ImportError: cannot import name Gst, introspection typelib not found

Some systems will not have a video streaming dependency installed. To fix, you can install the following:

apt install gir1.2-gst-rtsp-server-1.0

/usr/sbin/policy-rc.d returned 101, not running 'enable formant-agent.service'

The system's policy-rd.d may be set up to disallow enabling services. Edit /usr/sbin/policy-rc.d to exit 0 instead of 101.

ROS data not showing up on webapp

If the installation was successful, but the ROS based data is not displaying on the webapp, it is likely that the agent did not detect that it was ROS based device. Check if ROS_MASTER is set in your environment. If it is not set, then set it as follows:

export ROS_MASTER_URI=http://localhost:11311
Then rerun the agent installation command you ran without the token. If you ran the docker based agent installation, rerun the docker based command.


Did this page help you?