Releases: LeoRover/LeoOS
2.3.0
What's Changed
- Added node namespace prefixing feature to Micro-ROS agent and used it. The
ROBOT_NAMESPACEenvironment variable in/etc/ros/setup.bashwill now affect thefirmwarenode, so there is no need to hard-code the namespace in the firmware code (#24, fictionlab/micro-ROS-Agent#1) - Improved IMU filter gyro bias estimation by adjusting threshold parameters and reducing the possibility of false positives in steady state estimation. This should improve the odometry in situations where slow movement was previously detected as standing still. (LeoRover/leo_robot-ros2#34)
- Added FastDDS discovery server service and aliases for managing it. (#23)
- Changed greeter to lightdm-gtk-greeter which is more stable than the previously used lightdm-mini-greeter. (#20)
- Updated Ubuntu and ROS packages (#21)
2.2.0
What's changed
- Added
PUBLISH_ODOM_TFenvironment variable to/etc/ros/setup.bashwhich controls whether the robot publishesodom -> base_footprintTF transform. (LeoRover/leo_robot-ros2#26) - The
frame_idfield is now correctly specified in published camera messages (LeoRover/leo_robot-ros2#27) - The reboot and shutdown commands are now implemented using services instead of topics (LeoRover/leo_robot-ros2#28, LeoRover/leo_ui#12)
- The
wheel_odom_with_covariancetopic name has been changed towheel_odom(LeoRover/leo_robot-ros2#30) - Added
reset_calibrationservice toimu_filter(LeoRover/leo_robot-ros2#31) - Improved camera stream quality for Leo Rover v1.8 and recalibrated it (LeoRover/leo_robot-ros2#33)
- The WebUI now uses
battery_averagedtopics for more stable readings. - Fixed some issues with video source selection in WebUI (LeoRover/leo_ui#13)
- Enabled full USB power for RPi 5 by adding
usb_max_current_enable=1toconfig.txt - Fixed Trash and filesystem mounting support in LXQt
- Updated Ubuntu and ROS apt repositories
2.1.0
This release adds the "full" variant of the new LeoOS. Apart from that, a few small changes:
- Install bluetooth stack
- Use
ros2-apt-sourcepackage instead of manually configuring ROS 2 apt sources and keys
Full Changelog: 2.0.0...2.1.0
2.0.0
This is the initial release of LeoOS that is based on Ubuntu 24.04 Noble Numbat and ROS 2 Jazzy Jalisco packages. This version only includes the "lite" headless variant.
Full Changelog: https://github.com/LeoRover/LeoOS/commits/2.0.0
1.2.0
This release adds support for Mecanum wheels.
Full Changelog: 1.1.1...1.2.0
1.1.1
This release fixes the issue with 1.1.0 full image which resulted in Desktop Environment not working and the system suspending after ~30 minutes.
Full Changelog: 1.1.0...1.1.1
1.1.0
Release for version 1.1.0
Major changes:
-
Add leo_examples package by default
We have installed the leo_examples package by default in the LeoOS.
-
Update UI
We have updated the leo_ui
Minor changes:
- Install pip3
- Install python module tflite-runtime
1.0.0
Final release for version 1.0.0
Major changes:
-
Upgrade to Ubuntu 20.04 Focal Fossa and ROS Noetic
We have updated the OS to use Ubuntu Focal and ROS Noetic package repositories. The Melodic versions of ROS packages for Leo Rover are no longer updated and the development has moved to the Noetic distribution. The main differences in ROS API are described in leo_fw wiki page.
-
Use 64-bit ARM architecture
The OS is now based on packages that utilize the 64-bit ARM instruction set. This should result in slightly better performance for Raspberry Pi 4 and allows single process to use more than 3GB of RAM.
-
New desktop environment based on LXQt
The
fullversion of the image now includes LXQt Desktop Environment preconfigured to use the Breeze theme and Openbox as the window manager. -
Add VNC server
Aside from xrdp, the
fullversion now starts the TigerVNC scraping server which uses screen scraping of an already running X server to provide a VNC desktop. It generally provides a better performance thenxrdpand should be the preferred method for remotely accessing the desktop environment. -
Bridge Ethernet and Wifi interfaces
The Ethernet and external WiFi interfaces are now part of one bridge interface. This means that the DHCP server now assigns IPs to computers connected either wirelessly or via ethernet. The main motivation behind this change was facilitating the process of connecting an additional on-board computer.
-
Use ROS_NAMESPACE to set tf frame prefix
We modified the
/etc/ros/robot.launchfile to set tf frame prefix based on the value of the ROS_NAMESPACE variable. For example, settingexport ROS_NAMESPACE=leoin the/etc/ros/setup.bashfile will result in all links in the robot description to be prefixed withleo/(e.g.base_linkbecomesleo/base_link).
Minor changes:
- Add the
/etc/ros/params.yamlfile that can be used to override the default ROS parameters for the nodes started at boot. - Use netfilter-persistent to load iptables rules on startup.
- Change lightdm greeter to lightdm-mini-greeter.
- Use silent u-boot binaries that do not wait for user input at startup.
- Configure zram to dedicate a portion of the RAM memory for swapping.
- Change the ROS network configuration to use
ROS_IPinstead ofROS_HOSTNAMEto make it easier to understand. - Change DHCP Server's local domain from
localnettolan.