Skip to content

Latest commit

 

History

History
130 lines (79 loc) · 4.57 KB

CONFIG.md

File metadata and controls

130 lines (79 loc) · 4.57 KB

Lidar Config

To create or edit a lidar configuration:

cd lidar/lidarconfig
./manageConfig myconf

Follow the instructions.

In case it does not exist, this creates the directory lidar/lidarconfig-myconf with default files and the file config.txt.

Nodes vs. Local Devices

Local Devices

If you have sensors locally connected to the computer, set useNodes to false (default). The sensors to use are stored in file LidarSensors.txt.

./editConfig.sh create myconf useNodes=false

Nodes

If you want to set up a configuration with several nodes running on Raspis, set useNodes to true. The definitions of the virtual sensors are stored in file sensorDB.txt:

./editConfig.sh create myconf useNodes=true

config.txt

The file config.txt stores parameter definitions which seldomly change.

You can use a guided edit of the config.txt file:

./editConfig.sh 

Parameter Description:

  • conf=myconf Name of the configuration. Also used to construct a directory name. Do not change

  • useNodes=bool true if devices are virtualized by nodes, false if devices are connected locally. If nodes are used:

    • server=myserver.mydomain.de Server Address

    • portBase=40 Prefix to construct the port number: port=portBase|portOffset, e.g. portBase=40, portOffset=013 -> port=40013

    • useServerGit=false Wether git should be used for keeping track of changing node tables. In case of damages, nodeDB.txt can be reconstructed from git. You have to manually create a repository

  • webPort=8080 Port which lidarTool uses for Web GUI

  • hubPort= #5000 Uncomment, if you want the observers to run on a separate instance of lidarTool (HUB) (not recommended)

  • adminPort=8000 Port which lidarAdmin uses for communication with nodes

  • recordPackedDir=dirname Directory where to store packed tracking data. If empty no data will be recorded. If relative path, path is constructed by $conf/dirname/

  • blueprintImageFile PNG image file with the floor plan image blueprintExtent=Pixel=Meter
    blueprintOcclusionFile PNG image file with masks blueprintSimulationFile PNG image file with the floor plan image for simulation. Pixels which are non black are obstacles. See BLUEPRINTS for details.

To set one of the default obstacle Images for simulation of persons in the space, set obstaclePersons=1 or obstaclePersons=2:

./editConfig.sh obstaclePersons=1

sensorDB (File sensorDB.txt)

The file sensorDB.txt interfaces between physical nodes identified by their MAC address and their role in the lidar system. Node name are combinations of field values of an entry:

Group Name Lidar Model Nr in Group Port Offset enabled (+/-) Mac
intr yd 03 013 + bc:23:ab:cb:45:cd

A node name is constructed as $GroupName_$LidarModel$NrInGroup. The entry above would result in the node name: intr_yd03

Use + or - to enable or disable nodes, e.g. if their MAC addresses are not yet known yet or they do not exist in the network.

The command manageSensors.sh creates and updates all files related to the enabled nodes.

Once you have changed the file sensorDB.txt, you have to update the database.

For updating Simulation Mode related files:

./manageSensors.sh +s update

For updating Physical Nodes related files:

./manageSensors.sh update

nodeDB (File nodeDB.txt)

The file nodeDB.txt stores information of physical nodes and is automatically managed by lidarAdmin. Do not change it by hand.

When nodes register with MAC and IP addresses, they get their UDP port offset and lidar type.

MAC IP Port Offset Login User Pi Model
bc:23:ab:cb:45:cd 192.168.1.23 013 rock RockPiS

Additional Files needed

  • blueprints.json (change the configuration name in json)
  • observer.json (change the configuration name in json)

Remote Login

In order for lidaradmin to manage the client nodes, it must have the permissions to remote login via ssh.

You can either store the password of the remote clients in sshPasswd.txtor log into the server and copy its ssh id with:

ssh-copy-id user@client.example.com

Add Cron jobs

Graphical User interface: zeit