Robotics StackExchange | Archived questions

Error during launching turtlebot3_world.launch

whenever i tries to launch the turtlebot3_world.launch file it showing the following error

RLException: Invalid <arg> tag: environment variable 'TURTLEBOT3_MODEL' is not set. 

Arg xml is **arg default="$(env TURTLEBOT3_MODEL)" doc="model type [burger, waffle, waffle_pi]" name="model"/>**

The traceback for the exception was written to the log file

Asked by vivek@61 on 2019-07-21 15:39:50 UTC

Comments

This seems to require you to set an environment variable, called TURTLEBOT3_MODEL to one of the types burger, waffle or waffle_pi.

Have you done that?

Asked by mgruhler on 2019-07-22 01:50:08 UTC

Can i know how to set environment variable?I am a newbie in Ubuntu

Asked by Wong on 2019-12-29 21:23:48 UTC

echo $MY_ENVIRONMENT_VARIABLE shows the content, which could also be empty, printenv prints all environment variables. so printenv | grep MY_ENVIRONMENT_VARIABLE would show you yours.

Asked by mgruhler on 2020-01-07 03:26:57 UTC

I'm having the same issue. I set the environment variable TURTLEBOT3_MODEL using the command TURTLEBOT3_MODEL=burger; echo $TURTLEBOT3_MODEL . It echos back burger, so I know it gets set. However, I then launch turtlebot3 using roslaunch turtlebot3_gazebo turtlebot3_world.launch and I get the same exact error as earlier, still telling me I don't have TURTLEBOT3_MODEL set, even though I just set it. I carefully checked spelling as well to ensure it wasn't a typo.

Asked by BesterJester on 2020-07-03 10:08:51 UTC

Got it to work, but not sure why. It fails if I set the environment variable using TURTLEBOT3_MODEL=burger, as I did above. However, if I instead set it using export TURTLEBOT3_MODEL=burger as explained here, it will work. Does anyone know why?

Asked by BesterJester on 2020-07-03 10:21:34 UTC

@BesterJester, without export, the env is only set for the current shell, but not for programs run from that shell.

see e.g. http://www.gnu.org/software/bash/manual/bash.html#index-export

Asked by mgruhler on 2020-07-06 05:39:15 UTC

Answers

You can simply write this on your terminal before you do roslaunch

$ export TURTLEBOT3_MODEL=burger
$ roslaunch turtlebot3_gazebo turtlebot3_world.launch

More can be found here

Asked by wbadry on 2021-06-16 16:34:55 UTC

Comments

Reason, we don't export the model Yes use the $ export TURTLEBOT3_MODEL=burger in the terminal Then launch later $ roslaunch turtlebot3_gazebo turtlebot3_world.launch

Reason: https://blog.csdn.net/qq_42145185/article/details/81003419

Asked by wu1714 on 2022-04-05 10:30:05 UTC

Comments