top

Basic Sanity Tests To Verify Core Operation

This page tells how to verify basic operation of the Magni robot. If you have Magni Silver then the robot will have a few blue LEDs on top that will be helpful but not required to do these tests.

Wifi HotSpot Verification

If no LAN cable is attached and if the robot has not been configured to look for a WiFi OR if no WiFi can be seen then the Magni software will create a HotSpot that you can connect to with your laptop.

If you have Magni Silver with the Sonar board then as the robot is powered up the LED2 (right LED on Sonar board as seen from the front) will light with dim blue light. After 6 or so seconds that LED will turn off. After about 16 or so seconds if WiFi is able to come up LED2 will start to blink brightly about once per second indicating that the WiFi HotSpot is up. At this time if you have on your smartphone some sort of WiFi network scanner you will see a ubiquityrobotics WiFi with last 4 digits being a unique hex value.

You will also see this HotSpot show up on your laptop and will be able to connect. Read HERE for more.

Basic Movement Tests:

and verify that the last ‘Firmware version’ line in the log is the expected firmware version.

Distance and Low Speed Movement Tests:

Enter keyboard movement using:

rosrun teleop_twist_keyboard teleop_twist_keyboard.py  

Press the ‘z’ key 12 times until the ‘speed’ value shows about 0.14 meters per second; the ‘turn’ value will show about 0.25

At this point the robot will not move because when teleop is first entered it is in same state as if the ‘k’ was hit.

We need a second window open that we will call the ‘tf’ window; in that window type:

Also as setup have a second window open and in that type:

rosrun tf tf_echo odom base_link  

This command will continually update the robot position. There will be one line that shows the translation and 3 values that are for X,Y,Z in meters. The line will look like this:

Translation: [0.000, 0.000, 0.100]   at first where X and Y are 0.000.

Now we will do a few tests and make sure the robot can move forward 1 meter and could have room to rotate fully.

RaspiCam Camera Test:

There is a very simple way to test the RaspiCam camera on the robot. This test will generate a jpeg still picture in about 6 seconds just to check the camera functionality.

raspistill -o testpicture.jpg

To verify the camera is operating properly the testpicture.jpg file needs to be moved to your laptop or other computer that has a jpeg picture viewer. If it is too difficult to move the picture using ftp or some other linux operation, the next best thing is to look at the file size. This can be done in the line below and the reply shows the 1543213 as the size in bytes for the jpeg image file.

ls -l testpicture.jpg

-rw-rw-r-- 1 ubuntu ubuntu 1543213 Aug 4 08:18 testpicture.jpg

ESTOP Testing:

(Assumes rev 5.0 or later board. If not exception will be noted)

Max Speed Limit Test:

Here we look to verify the max speed limit value will cause the robot to not exceed the default 1 meter per second setting. We will again use teleop_twist_keyboard so just keep it active OR start it like this if not running yet

rosrun teleop_twist_keyboard teleop_twist_keyboard.py

Place the robot on ‘blocks’ for the front wheel so the drive wheels do not touch the floor. Normally we put a block of wood or a small stack of books under the front of the robot and it raises it up so the wheels do not touch the floor. Put a piece of tape on the outside of a wheel so while testing we can count revolutions to get the actual speed.

YOU MUST HAVE THE ROBOT DRIVE WHEELS ELEVATED TO NOT TOUCH THE GROUND FOR THIS TEST!

In the teleop window press the k key once to be in “stop” mode then press the z key several times until the “speed” value shows a value just under 1.0 meters per second. If you go too far the , (comma) key backs the speed value down.

In the teleop window press the i key repeatedly at a fast rate (3 or 4 times a second) and the wheels spin.

Verify the speed is going at 1 meter per second by watching the wheels turn 10 times in about 14 seconds. The wheels have a circumference of just near 0.64 meters. This is not a scientific test, it is looking for things being far off of the expected speed.

Deadman Timer Testing:

The robot is designed to return to zero speed if it loses touch with constant host velocity commands.

RESULT: The robot will return to stopped state with wheels actively locked.

sudo systemctl start magni-base.service

RESULT: Robot should be operational after the motor node starts (takes 15 or more seconds to start).

For re-connect of serial it will start back up in a second or less.