Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Router It happened to me once that the computers kept connecting and disconnecting to the local network making impossible to estabilsh a connection between them and with the cars. When this happened, removing the internet cable from the router (the one that is plugged to the wall) fixed the problem.
  • Motherboard You can test if a car's motherboard is working by connecting it to the screen and turning the car on. If it doesn't, usually the cause is the power supply unit (PSU). Try substituting that piece.
  • Brainstem ca2 console displays the message "Host-Stem Link: DOWN". Sometimes the baudrate of the brainstem resets itself for no apparent reason, so first try to set back the baudrate as explained in section "Hardware Reset Procedure" in the main page of the lab wiki. If you cannot make it work, proceed with an hardware reset (described in the same section). Note that if you do not have to configure a brand new card, there is usually no need to load the tea scripts again.
  • Engine When a car is particularly slow, check that h-bridge connections to the power and the motor are solid.
  • Encoder gives no signal, check that the serial cable is connected in the proper way (you can find the h-bridge datasheet http://www.acroname.com/robotics/parts/S11-3A-EMF-HBRIDGE_datasheet.pdf and encoder datasheet in the electronic components catalog on the shelf).
  • Steer is biased towards a direction. The steer cannot be set straight only mechanically. You must set the offset parameter in RoboCar_Lib.tea.

SOFTWARE

All the files (source code and data) are saved in the folder "Dropbox/Shared Andrea/", from now on simply "Andrea/". If you move the files remember to update the documentation here. It contains 4 subfolders:

  • "Andrea/src": contains the C code divided in 3 folders
    • "Andrea/src/car_src": contains the code specific for the car, the ca2 program.
    • "Andrea/src/sim_src": contains the code of the simulator.
    • "Andrea/src/util": contains the code shared between the car and the simulator.
  • "Andrea/script": contains all the python scripts that can be used to compile the simulator, identify parameters and debug the experiment.
  • "Andrea/paths": contains the new paths definition files used by the cars which specify also the steer compensator directives and the path-dependent disturbances functions.
  • "Andrea/data": various data gathered during experiments on the test-bed.
SUMMARY OF CHANGES
  • Implemented a simulator in C for Linux. This is integrated with the code used on cars (ca2). It simulates the cars dynamics and the behavior of the Camera Positioning Systems (CPS). Besides being very useful to verify the system model, it makes easy to test changes to code and the controller before applying those changes to cars.
  • Implemented a script to visually debug cars behavior. It works both with the simulator and test-bed experiments data.
  • ca2: grouped utility functions in a separate folder that is shared with the simulator. This makes the code more modular.
  • ca2: partially implemented a Kalman filter in the attempt to remove part of the measurement noise of cameras. The model must be refined for it to prove its real effectiveness.
  • ca2: implemented a new target detection algorithm that allow the car to work with the path with lots of points.
  • ca2: steer controller has been reworked, the monodimensional speed has been substituted by the one read from the encoder, the PD has been calibrated and a compensator has been added.
  • ca2: modified paths to add compensator directives (See #COMPENSATOR DIRECTIVES).
  • ca2: implemented a new filter for the heading measure to cancel the effect of leaps (See #HEADING FILTERING).
  • ca2: set the limit of steer input to (-100,100) since the curvature radius saturates above it.
  • CPS: fixed a bug that affected the initial target dectection for cars that were not tracked by computer 0.
  • CPS: now compute and send also the 2D speed of the cars. This is likely to be needed for the predictor in the future. See also section #CPS MEASURED 2D SPEED.
  • CPS: implemented linear error correction for the computation of camera position. This visibly improves the path following of cars. See section #CAMERA MEASUREMENT ERROR CORRECTION.

...