Difference between revisions of "IKart"

From Wiki for iCub and Friends
Jump to: navigation, search
(Battery Display)
m (Starting the iKart with the joystick)
Line 41: Line 41:
  
 
=== Starting the iKart with the joystick ===
 
=== Starting the iKart with the joystick ===
 +
 +
There are cases in which you may want to start moving the iKart just after the boot, without connecting to the robot in ssh, starting all the application etc. This joystick start-up is particularly useful if, for example, you turned on the iKart in a room where there is no wireless connection, and you want to move it to another room. In order to command the iKart to perform a joystick start-up, you have to follow the procedure:
 +
* Turn on the the iKart.
 +
* Turn on your joystick by pressing the central joystick button.
 +
* Wait for the beep coming from the iKart, indicating that the boot is finished.
 +
* At this point you have for 5 seconds the chance, by pressing any button on the joystick (or moving the sticks) to initiate the joystick start-up procedure.
 +
If a the joystick activity has been detected, the iKart will automatically initialize the following processes (and will make automatoically all the required connections):
 +
* The Yarp server.
 +
* The iCubInterface required to control the iKart motors.
 +
* The iKartControl module.
 +
* The joystickControl module.
 +
You will be now able to move the iKart around usually the joystick as in normal operation.
 +
 +
==== How this procedure works ====
 +
 +
The script responsible for the joystick-startup procedure is ''ikart_start.sh'' which is originally located under $IKART_ROOT/app/iKart/ikart_boot and copied to $ICUB_BIN during the installation procedure. The scripts executes the ''joystickCheck'' module in order to verify if a the check to verify ''/etc/rc.local'' script calls 
 +
 +
==== Stopping/Restarting the joystick-startup ====
  
 
== iKart Installation ==
 
== iKart Installation ==

Revision as of 01:40, 3 January 2012

iKart hardware description

iKart overview

Main panel

Internal panel

Battery

Wireless

Laser scanner

Joystick receiver

iKart Software

Battery Manager

The iKartBattteryManager is the module responsible of verifying the status of charge (SoC) of the battery. The module is automatically started from the script /etc/rc.local during the boot sequence (see also ...) and periodically reads the from the /dev/ttyUSB0 serial port the SoC of the battery. The default update rate is 10 seconds. The module executes independently if the yarp server is running or not. If yes, infomation about the SoC of the battery is sent through the /ikart/battery:o port. The user will be notified with a wall message if the charge of the battery level is low (10%). If the battery reaches a critical level (below 5%), the module will start an emergency shutdown procedure, by stopping the iCub and iKart motor interfaces, and turning off the machine, with a two minutes advance notice.

Battery Display

The iKartBatteryDisplay is a graphical tool which displays the current SoC of the battery. The module receives the battery info from the iKartBatteryManager module through the /ikart/battery:o yarp port. Since the iKart obviously doesn't have a graphical output, this module will not run on the iKart machine. Instead, the iKartBatteryDisplay is thought to be executed by the user on all the machines remotely connected to the iKart. The provided always-on-top window will remember to the user the remaining autonomy of the robot, so it's a good idea to execute to keep an iKartBatteryDisplay instance always running on each user machine connected to the iKart.

BatteryDisplay.jpg

Starting the iKart with the joystick

There are cases in which you may want to start moving the iKart just after the boot, without connecting to the robot in ssh, starting all the application etc. This joystick start-up is particularly useful if, for example, you turned on the iKart in a room where there is no wireless connection, and you want to move it to another room. In order to command the iKart to perform a joystick start-up, you have to follow the procedure:

  • Turn on the the iKart.
  • Turn on your joystick by pressing the central joystick button.
  • Wait for the beep coming from the iKart, indicating that the boot is finished.
  • At this point you have for 5 seconds the chance, by pressing any button on the joystick (or moving the sticks) to initiate the joystick start-up procedure.

If a the joystick activity has been detected, the iKart will automatically initialize the following processes (and will make automatoically all the required connections):

  • The Yarp server.
  • The iCubInterface required to control the iKart motors.
  • The iKartControl module.
  • The joystickControl module.

You will be now able to move the iKart around usually the joystick as in normal operation.

How this procedure works

The script responsible for the joystick-startup procedure is ikart_start.sh which is originally located under $IKART_ROOT/app/iKart/ikart_boot and copied to $ICUB_BIN during the installation procedure. The scripts executes the joystickCheck module in order to verify if a the check to verify /etc/rc.local script calls

Stopping/Restarting the joystick-startup

iKart Installation

Driver

Start-up scripts

Yarp and iCub repositories

iKart and ROS

iKart dimensions