Code Monkey home page Code Monkey logo

burro's People

Contributors

adricl avatar yconst avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

burro's Issues

Training error

Hi,

Training using the training branch causes the following error:

sudo ./train.sh -d '/####/sessions/2018_01_22__10_31_06_PM' -n "#model" -m categorical
Using TensorFlow backend.
[ 28 9 9 115 40 77 169 2578 1721 1616 1751 1648 1759 1105
380]
[-30. -26.02 -22.04 -18.06 -14.08 -10.1 -6.12 -2.14 1.84 5.82
9.8 13.78 17.76 21.74 25.72 29.7 ]
Input shape: (99, 132, 3)

Layer (type) Output Shape Param #

conv2d_1 (Conv2D) (None, 48, 64, 24) 1824

conv2d_2 (Conv2D) (None, 22, 30, 32) 19232

conv2d_3 (Conv2D) (None, 9, 13, 64) 51264

conv2d_4 (Conv2D) (None, 7, 11, 64) 36928

flatten_1 (Flatten) (None, 4928) 0

dense_1 (Dense) (None, 100) 492900

dropout_1 (Dropout) (None, 100) 0

dense_2 (Dense) (None, 50) 5050

dropout_2 (Dropout) (None, 50) 0

angle_out (Dense) (None, 15) 765

Total params: 607,963
Trainable params: 607,963
Non-trainable params: 0

None
Best model saved in /#/model-model-adam-100-50-Thu Jan 25 14:16:50 2018.h5
2018-01-25 14:16:52.415660: I tensorflow/core/platform/cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA
Epoch 1/200
Traceback (most recent call last):
File "/home/flx/projects/burro-trainer/burro/burro/train.py", line 38, in
main()
File "/home/flx/projects/burro-trainer/burro/burro/train.py", line 35, in main
train_categorical(data_dir, model_name)
File "/home/flx/projects/burro-trainer/burro/burro/trainers/trainer.py", line 101, in train_categorical
callbacks=[tb, model_cp, e_stop])
File "/usr/local/lib/python2.7/dist-packages/keras/legacy/interfaces.py", line 87, in wrapper
return func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/keras/models.py", line 1117, in fit_generator
initial_epoch=initial_epoch)
File "/usr/local/lib/python2.7/dist-packages/keras/legacy/interfaces.py", line 87, in wrapper
return func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/keras/engine/training.py", line 1840, in fit_generator
class_weight=class_weight)
File "/usr/local/lib/python2.7/dist-packages/keras/engine/training.py", line 1559, in train_on_batch
check_batch_axis=True)
File "/usr/local/lib/python2.7/dist-packages/keras/engine/training.py", line 1234, in _standardize_user_data
exception_prefix='input')
File "/usr/local/lib/python2.7/dist-packages/keras/engine/training.py", line 140, in _standardize_input_data
str(array.shape))
ValueError: Error when checking input: expected conv2d_1_input to have shape (None, 99, 132, 3) but got array with shape (256, 120, 160, 3)


keras version is 2.0.6
tensorflow is 1.4.1

I am pretty clueless here

Felix

Refactor manual and automatic pilots to two separate module categories

Automatic pilots (such as NN) should remain in pilots. Manual pilots (RC, gamepad) should all function at the same time, and be moved to a different module category. They could even be merged with remotes.

This will allow i. corrective steering/throttle while an automatic pilot drives and ii. a new training mode where training samples are collected only when correcting the automatic pilot.

Only consider RC controls if armed

Currently RC input is always considered. This causes problems if more than one controllers are connected.

Either change input handling to take the sum of all controls, or introduce a flag that shows if the control is active and/or armed.

Colour Artefacts in Recorded Output

I have been recording frames with my car, however, I am getting strange colours down the bottom. Is this intentional? I have tested the picam using the still images and it's been fine.

frame_00004_ttl_-95_agl_0_mil_1507080140979

Move Raspirobot support to separate branch

It is challenging to support Raspirobot, due to it's non-standard connections to Pi. Move submodule and relevant driver code to a separate branch that users of Raspirobot can clone and experiment.

Pilot should return dict

A dict will give the opportunity to expose more information by the Pilot class to consumers such as recorders and remotes.

Create a hardware abstraction layer for NAVIO2

Currently calls to NAVIO drivers are scattered inside several modules. Refactor modules to abstract direct hardware calls. This will allow Burro to be usable with different hardware.

Specifically:

  • Create an abstraction layer for on-board indicators (LED etc)
  • Create an abstraction layer for PWM drivers
  • Create an abstraction layer for RC driver
  • Create an abstraction layer for the IMU

Burro with USB Camera

Is there a way to configure burro to use input from a USB camera, instead of the Raspberry Pi camera module?

Add config option to enable recording by default

Sometime when on the field it may be useful to have the option to start recording images on startup by default.

This should be added to config, and optionally as command line parameter as well.

More flexible configuration

Currently the config.py file that holds configuration options is sufficient. However, it would be ideal to allow users to specify their own options in another file (e.g. user_config.py) and have them override the defaults.

issue with throttle

Hi,

I am trying an identical build with a mini-trooper, the same ESC, wide-angle camera, Navio2 and Logitech F710, only minor difference is that I am using a rpi 3 instead of rpi 2. I am using the emlid raspbian jessie image, the stretch image did not work with the install-burro.sh.

The web interface starts and I see the camera feed, steering from the F710 works, but the throttle does not. I cannot start the car, 0 is displayed for throttle on the web interface. Am I missing something simple? In donkey I have to calibrate and enter PWM values for neutral, forward and reverse, is this necessary with burro?

When I start start.sh, I get the following output:
pi@navio:~/burro/burro $ sudo ./start.sh

2018-01-15 07:17:52,489 - Found NAVIO2 HAT
2018-01-15 07:17:52,689 - Gamepad initialized
2018-01-15 07:17:54,694 - Loaded F710 Gamepad module
2018-01-15 07:17:54,724 - Loaded RC module
2018-01-15 07:17:54,729 - Setting up Ackermann car
2018-01-15 07:17:55,774 - PiVideoStream loaded.. .warming camera

/home/pi/burro/local/lib/python2.7/site-packages/picamera/encoders.py:545: PiCameraResolutionRounded: frame size rounded up from 160x120 to 160x128 width, height, fwidth, fheight)))

Exception in thread Thread-3:

Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
self.run()

File "/usr/lib/python2.7/threading.py", line 763, in run
self.__target(*self.__args, **self.__kwargs)

File "/home/pi/burro/burro/burro/sensors/cameras.py", line 95, in update
self.rawCapture, format="rgb", use_video_port=True):

File "/home/pi/burro/local/lib/python2.7/site-packages/picamera/camera.py", line 1625, in capture_continuous
camera_port, output_port = self._get_ports(use_video_port, splitter_port)

File "/home/pi/burro/local/lib/python2.7/site-packages/picamera/camera.py", line 545, in _get_ports
'The camera is already using port %d ' % splitter_port)

PiCameraAlreadyRecording: The camera is already using port 0

After this, as I mentioned, the web interface starts, just the throttle does not work.

Hope you can help me,

thanks,

Felix

Closed pull request

Excuse me, something in how I'm updating my fork is not working correctly. I don't know why Github wants to update the master copy as well.

where is config.py?

Hi,

After installation there is no config.py in /burro/burro. Is it automatically generated? Is there a template I can use?

Thanks,

Felix

Burro dies after one input

Using the Logitech game pad, I'm able to give one command to the Navio2 (i.e. steering, or throttle), before it dies off and no longer accepts commands. The entire internet connectivity on the raspberry pi fails, even ssh fails.
(It's connected through WiFi)

Improve telemetry

Currently web telemetry is limited. It only shows an image, a steering indicator and the selected model and record option.

It should be enriched with the following for starters:

  • - Indicator of current recording status
  • - Throttle value
  • - Softmax output values
  • - Model evaluation time

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.