Skip to content

[EN] Robot failures

Thorgaran edited this page Jun 17, 2023 · 7 revisions

We had a lot of trouble with the turtlebot4, both the pro and lite. For some reason we couldn't make it execute the navigation tutorial code. After some digging around, we found using the turtlebot4-setup, in the ROS Setup section, Robot upstart, Status the logs of the status script of the robot. (Which is somewhat equivalent to systemctl status turtlebot4.service) We recommend that you keep an eye on the issue page of the turtlebot4 github repo, as you may found somebody with the same issue (or you can post on it to bring the issue to the attention of the devs so that they hopefuly find a fix) https://github.com/turtlebot/turtlebot4/issues

Bringup status

In this status, we found multiple errors, stating that the service was in failed state The issue was due to a missing package, all we had to do is install the ros-humble-joint-state-publisher package using apt After that, just reboot the robot and check the log once again, the service should be up

Ros2 not found

You may have an issue with the pro robots, where ros2 will not work as if it wasn't source (spoiler it isn't). This is due to the disappearance of the file in /etc/turtlebot4/setup.bash (Here) You just have to create the file again and reboot, it should work!

Time and date

Another issue we had was the time and date of the robot which were all over the place. We used timedatectl to set the configuration as we desired.

timedatectl set-timezone "Europe/Paris" #Set timezone
timedatectl set-ntp true #Set sync with ubuntu ntp server

Performance Issues

We are currently running the humble 1.2 of the create " firmware (found here) and we have an issue where the create hang at 100% at startup, also, sometimes the create randomly hang at 100%

We also had an issue where the diagnostic was making the rasp lag cause it was using too much cpu, we deactivated it in the lite_1 and pro_1 by setting the TURTLEBOT4_DIAGNOSTICS=0 on the file /etc/turtlebot4/setup.bash

One can see the raspberry's temperature using the following command in mC°: cat /sys/class/thermal/thermal_zone0/temp

The raspberry pi will start to thermal throttle at 60°C, the fan on the lite is a placebo

Connexion Issues

For some reason, after a reboot, the lite_1 refused to connect to the TPlink.

Status of NetworkManage service: systemctl status NetworkManger Systemctl NetworkManger

Any modification of the config, or tentative to connect manually using nmcli were vain.

The 'solution' was to use the 5Ghz band of the router. This might have help during the navigation as it seems the robot lagged less when reviving order from our pc, but its max range was reduced.

Tips and Tricks

Here's some useful command that can help you navigate systemd logs:

systemctl status bring the whole system status, useful if you don't know where to look

systemctl start name.service start a given service

systemctl stop name.service stop a given service

systemctl enable name.service make a given service start at robot boot

systemctl disable name.service opposite of the above

htop helps you see running process

In order to update the packets list and update the system you can use turtlebot4-update, this does more than a simple apt update and upgrade as its fetches the packets list from turtlebot4 and will install new packets (for example it fixed the issue with the missing packet since tag 1.0.3)

Checking if the create 3 has a new firmware might also be a good idea, and you can update it trough it web interface on pi-ip:8080

Also be careful as the create can only connect to 2.4Ghz wifi band, so connecting the pi to the 5Ghz one, and the create to the 2.4Ghz seems to be the optimal setup (Both band connect them to the same virtual network)