Skip to content

Quick Guide

lawrence edited this page Sep 29, 2019 · 19 revisions

Quick Start

This guide is more a resume on ROS command We assume you have a working bot.

Run the virtual machine

VM

RvizFiles

Linobot original file rviz

Modified file rviz

Launch file

Connect via SSH to the bot and run the following files or service

minimal:

roslaunch plutobot minimal OR rosservice call /check_pluto_node minimal

bringup:

roslaunch plutobot bringup OR rosservice call /check_pluto_node bringup

slam:

roslaunch plutobot slam OR rosservice call /check_pluto_node slam

navigation:

roslaunch plutobot navigation OR rosservice call /check_pluto_node navigation

NOTE: slam and navigation cannot run together! NOTE: navigation via webapp can be launched but not specific command for navigation are implemented

Start and acquiring a map

Via webapp start the nodes bringup and slam

Navigate the robot with the web interface

Saving a map

See Saving the map on original linobot

Start a navigation

See on original linobot Starting Navigation

Test/Troubleshooting

Wifi

  • I can't connect to the robot

Check the wifi and connect via windows

Execute an ssh to the device or connect with the web browser to (e.g http://10.42.0.1 )

  • If you are not able to resolv a name and your network is configure check the name server

Node as service

If some service is unavailable (e.g. check via command top on embedded PC) Check Start a ros service

lino_base configuration

Power train parameter, teensy FW

Configuration size etc

Motor Verification and ESC calibration

Configure and calibrate ESC

RPM Check

https://github.com/linorobot/linorobot/wiki/2.-Base-Controller#23-running-the-robot

Example of unreliable RPM

RPM_error_rpm

RPM_error_rpm

a good reading (with the implemented Median filter of length 3 samples)

RPM_median_ 3_ bwd

RPM and PWM

There is a normal resistance to move, this is used to set the parameter

RPM_median_ 3_ bwd

#define PWM_POSITIVE_MIN_THRESHOLD 16 // The minimum threshold for pwm in brushless control, it maps the 0 to PWM_POSITIVE_MIN_THRESHOLD. An offset for the 0 to PWM MAX

#define PWM_NEGATIVE_MIN_THRESHOLD -55// // The minimum threshold for pwm in brushless control. it maps the 0 to PWM_NEGATIVE_MIN_THRESHOLD. An offset for the 0 to PWM MIN

in teensy/firmware/lib/config/lino_base_config.h

Forward RPM_median_3_ bwd

Rotatin RPM_median_ 3_ bwd

Sensor Static TF

ROS Coordinate frames

IMU Calibration

IMU message definition

Calibrate IMU

Normal IMU direction (is pointed to the top) RPM_median_ 3_ bwd

IMU left side Bot on onde side IMU direction RPM_median_ 3_ bwd

PID Configuration and Min/Max threshold PWM

PID Linobot

New PWM detection

TODO: image about minimum threshold PWM

Odometry

Original Odometry Page Linobot

Odometry message, sensor fusion (there is an error in the original page)

Example of wrong positioning

Quick check, rotate 360 degrees and move for example one meter (check the grid distance in

Be sure your grid is set to the proper value

It should be possible to make a complete loop

Laser

See Lidar page Configuration

Check the encoder readings

Next, check if the encoder readings are correct from the terminal where you ran minimal.launch. All encoder readings must increase as you drive forward, and decrease as you drive in reverse.

base direction

to activate, enable the debug level, on the target bot

rosservice call /rosserial_lino/set_logger_level "{logger: rosout, level: debug}"

NOTE, this won't work if the flag DEBUG is not enabled see firmware.ino

SLAM Test

Normal SLAM

After acquiring a map see howto

With very wrong positioning

Acceptable

Navigation Test