Running latest Leo software on Turtle

Is it possible to run the latest version of the Leo software on an original Turtle?

If not, is it feasible to bring an original Turtle up to software parity with Leo?

Yes, you can upgrade from Turtle to Leo Rover software + firmware. See here: Upgrade Turtle Rover to Leo Rover software - Turtle Rover

In case you have any issues, please tell us. It’s been a long time since we checked it before :slight_smile:

Hi Szymon, the OS image I am currently using is from that page, but it hasn’t been updated since 2019, so I tried to use the latest Leo OS image from github instead, with it the rover comes online but the web UI does not work (no video, voltage reading and no response to commands).

So I went back to the 2019 Leo image from the Turtle docs and tried to apt update/upgrade as a first step, but that breaks the video feed (voltage reading still works, and the rover responds to commands).

Any suggestions? :slight_smile:

So unfortunately it’s not doable. We prepared the software image manually to make it possible to jump from faulty system of Turtle Rover to stable Leo Rover, but it won’t be compatible all the way to the newest one.
@Blazej_Sowa told me that it’s possible to manually modify the new system to work with Turtle, but for now we just don’t have capacity to write a proper tutorial on how to do it. Maybe some bulletpoints at least, Błażej?

If you want to stay normally supported I’d suggest getting a conversion kit that provides you with all the parts needed to go from Turtle to Leo Rover - together with totally new electronics board. And then you’d send the Rover back to us and somebody from our team would convert it for you (better to do it this way as we don’t have proper manual on how to convert, honestly :slight_smile: ).

Hi Szymon, no worries, and thank you for your reply. I am just a hobbyist with mild FOMO regarding the latest Leo OS features. If I ever get serious about doing fancy things with my Turtle, figuring out how to backport the latest version is as good place as any to get started :slight_smile:

Then give us some time and hope Błażej will send you some notes on how to manually tweak the OS to talk to Turtle hardware.

I looked through the tr_ros packages which I wrote long time ago and they seem to still work except for a few changes I had to make. I can’t test it with the Turtle Hat because I don’t have one. Make sure you have the newest firmware flashed before trying to use LeoOS on Turtle.

You will have to build these packages yourself and modify the configuration on LeoOS to use them.
Login to your rover and make sure you are connected to the Internet. Then, initialize a catkin workspace in the home directory:

mkdir -p ~/ros_ws/src
cd ~/ros_ws
catkin config --extend /opt/ros/melodic

Clone the sources into the src directory:

cd ~/ros_ws/src
git clone https://github.com/TurtleRover/tr_ros.git

Install dependencies:

cd ~/ros_ws
rosdep update
sudo apt update
rosdep install --from-paths src -iy

And build the workspace

catkin build

If the packages were built successfully, edit the /etc/ros/setup.bash file, for example with

nano /etc/ros/setup.bash

Change the first line from

source /opt/ros/melodic/setup.bash

to:

source /home/pi/ros_ws/devel/setup.bash

Also, edit /etc/ros/robot.launch so it only contains:

<launch>
    <include file="$(find tr_bringup)/launch/tr_bringup.launch"/>
</launch>

And restart the leo service, by typing:

sudo systemctl restart leo

Let me know if it works.

Thank you so much, I will give it a try and I will report back!