Firmware 1.0 Settings

How can i set the Ponulu Motors ? I want to edit the Leo_Bringup - but how ?

I have installed also the IMU and tryed to move the Robot Modell in Rviz - nothing happend. All Topics are fine and Datas comes from the IMU/GPS. I´ve followed your Tutorial (IMU) and filled the missing Code in the xarco File.

What can i do ?

leo_bringup chooses the motor configuration based on the LEO_MOTORS environment variable (by default, it is buehler). To change it to pololu, edit the /etc/ros/setup.bash file (for example with sudo nano) by adding this line:

export LEO_MOTORS=pololu

Also, make sure you have the latest version of leo_bringup installed:

sudo apt update
sudo apt install --upgrade ros-kinetic-leo-bringup

To apply the changes, you have to restart the leo service:

sudo systemctl restart leo

This should set new parameters to the Parameter Server. Now, when you reset the board:

rostopic pub /core2/reset_board std_msgs/Empty

the firmware should load new parameters.

Another option is to build the leo_bringup package yourself and edit the parameters in YAML files located under the config/ directory. You can follow the Building additional ROS packages section of ROS Development tutorial for this.


I´ve used my own Bringup. That works for the Moment. But why is no movement in the Axis (Rviz) . IMU works fine. Another thing is when you steer the Leo by Computer with the Arrow Keys. When you press (With the old Firmware) forward + left for Example , Leo drives a curve. Now he is turning hard left. Is that normal now in the FW 1.0 ?

And which ROS Version is in the latest LEO Image. Is that Melodic or … . ? The Problem is my Laptop. I cant find Drivers for Ubuntu 16.xx . So i have a terrible Performance in Rviz and Sytem . In the next higher Ubuntu Version i have much more performance. But you can´t install Kinnetic.

In firmware 1.0.0 the angular velocity is multiplied by the value of core2/diff_drive/angular_velocity_multiplier parameter (1.91 by default) to make the values closer to the actual velocity of the robot. For this reason, it is more “sensitive” to angular velocity commands. I changed the values in the UI to accommodate for that fact. Update the UI by typing:

cd /opt/leo_ui
git pull

and try again.

Leo Image is based on Ubuntu 16.04 so it uses ROS kinetic. A new image based on Ubuntu 18.04 - ROS melodic is high on the TODO list but I must still ask for a little patience. However, it is perfectly fine if you use Melodic on your computer. The ROS distributions are not mutually exclusive. There can be different distributions running on the same ROS network.

To make the robot model move in RViz, you need a little more than IMU readings published. I am currently writing a series of tutorials on Autonomous Navigation. Among them, there will be a tutorial on how to utilize the robot_localization package to estimate robot’s pose (both 2D and 3D) fusing data from wheel encoders and IMU. I will let you know when there will be something you could try to run.

1 Like