0.2rc1
Pre-releaseRelease candidate for version 0.2
New features:
-
Flashing firmware through GPIO pins on Raspberry Pi
The new OS is bundled with the leo_fw package which contains the latest binary release of leo_firmware and the script to flash the firmware using the onboard UART (with the stm32loader utility). As a result, to flash the newest firmware, you don't have the upload the firmware binary to RPi and connect an external USB cable to hSerial port. All you have to do now is to have the packages up-to-date and run:
rosrun leo_fw update
The script will guide you through the flashing process. The
core2-flasher
utility is still installed in the system, so you can flash the firmware the old way. -
Interactive ui for managing the state of the ROS nodes
This is an experimental feature and is disabled by default. To enable it, set
INTERACTIVE
variable in/etc/ros/setup.bash
file totrue
and restartleo
service (systemctl restart leo
). When enabled,roscore
and rosmon will start in a detachedtmux
session, to which you attach any time, by typingleo-attach
in the terminal. The interactive ui will allow you to view color-formatted logs and control the state of the nodes. To detach from the session, typeCtrl+B
and thenD
. -
Bluetooth support
The Bluetooth is now enabled by default and is set to use the mini-UART on RPi. We ported the pi-bluetooth package which configures the on-board BT on boot. To manage bluetooth connections it, you can use the
bluetoothctl
CLI utility or the bluetooth applet available in the graphical session.
Major changes:
-
Use rosmon for starting nodes at boot
The new OS uses
rosmon
, instead ofroslaunch
for starting the nodes at boot.rosmon
gives us some benefits, the main one being the ability to start/stop specific nodes using ROS service calls, which is used by theleo_fw
update script. If you have problems with with the new way of starting nodes or for some other reason want to return toroslaunch
, set theUSE_ROSMON
andINTERACTIVE
variables in/etc/ros/setup.bash
tofalse
. -
Start
roscore
separatelyThe
roscore
is now started separately instead of byroslaunch
. You can choose whether to start it, by settingSTART_ROSCORE
variable in/etc/ros/setup.bash
. IfUSE_ROSMON
is set to false,roslaunch
will be started with the--wait
option. -
Perform a filesystem check every 10 boot sequences
We adjusted the root filesystem parameters to force an
e2fsck
filesystem check on the first boot and every 10 boot sequences. This could prevent filesystem errors detected by the kernel at which point it could be too late to restore the data. -
Use the new ROS metapackages for Leo
We grouped the ROS packages for Leo Rover into metapackages. The new OS installs leo_robot and leo_desktop (only in the
full
version) packages. This allows us to easily distribute new packages for Leo without everyone having to manually install them.
Minor changes:
- Start the ROS nodes as the default (
pi
) user instead of root. - Disable the creation of user directories (
Documents
,Pictures
, etc) when logged into an interactive session. - Don't add the
ubuntu-pi-flavour-maker
PPA into apt sources. - Install
libraspberrypi-bin
package which contains VideoCore utilities such as vcgencmd, raspistill, etc. - Disable prompt about Ubuntu release upgrades.
- Change the default wallpaper for the graphical session.
- Allow the default user to shutdown or reboot system.
- Disable apport crash reports.
- Add links to Leo Rover Docs and GitHub in motd.