Simulation setup

OhmEye edited this page Aug 8, 2015 · 11 revisions
Clone this wiki locally

The simulator can be built with a command like make sim_posix (detailed instructions for the dependencies at OSX can be found at Setting-up-simulation-for-the-TauLabs-GCS-on-OSX. It is then deposited in build/sim_posix.elf and can be run. However, the revolution board that the simulator is mimicking starts with no configuration in flash, and how you set this up is a bit different from a normal flight board.

First it's necessary to configure GCS to use TCP for its telemetry session to the board. From the tools menu, select options and enter the item "IP Network Telemetry". Select "TCP connection" and port 9000, and hit apply.

Then you should be able to select "Connections: TCP: localhost" from the connections menu at the lower right and click connect. With luck, the RX bar will fill up with received telemetry.

The following are the steps of how I setup gcs and the board's config (theflash.bin) in order to run navigation:

  • Set vehicle "multirotor", quad X, motor output channels 1-4
    apply / save
  • tools - options - controller - "allow control of gcs receiver"
    apply / ok
  • input, rc input, throttle type gcs channel 1 .. yaw type gcs channel 4
    apply / save
  • input, flight mode switch settings, set number of flight modes to 1
  • arm airframe using "yaw left" (this is what I prefer)
    apply / save
  • go to map in flight data, right click on map, 'set home location'
  • attitude, filter settings, attitude alg insoutdoor, navigation algorithm ins
    apply / save -- may cause a fpe.
  • modules, enable vtol path follower, path planner, altitude hold
    apply / save
    disconnect
    restart simulator
    connect
  • uavobject browser, VtolPathFollowerSettings - YawMode = path
  • uavobject browser, VtolPathFollowerSettings - ThrottleControl = TRUE

Errata

  1. Using GCS means you can't really neutralize yaw or other sticks readily, so it's difficult to prevent the quad from spinning.
  2. Actuators are always 1000 in scopes from what I can see-- would be nice to have real values.

Platform Tips

On Linux 64bit you will need 32bit build libs installed. On Opensuse I needed gcc-32bit and glibc-devel-32bit.