300x250 AD TOP

Search This Blog

Pages

Paling Dilihat

Powered by Blogger.

Saturday, April 29, 2017

Rover

Project Rover is officially starting!



I've selected these first few components due to their unique features:

- Rugged 4WD with 130mm wheels, I've selected it because of the large wheels and base plate since I wasn't sure how much hardware I wanted on it but at some stage I want it outside and 4 separate motors are nice to have.

- WingXine APO-L1 - works up to 30v, 10A (with current limiter), PWM 1ms - 2ms (1.5ms zero) which should work with APM controller, I've selected it because I wanted the motors to self balance but each one is 12v, so if one motor stalls, the other will push harder, a theory which I did not put to the test yet, think of it as an electronic differential.




I've wanted to power the rover with standard LIPOs so I had to boost the power to 24v or use two batteries, in the end I've selected a boost converter instead, which makes the power source more flexible.

DC-DC boost converter - 8.5-48v to 10-50v, which should get me a stable 24v out of whichever LIPO I have laying around.

For now I'm concentrating on a combination of hardware and software, I've made a USB joystick to PPM converter, which I've gotten fried due to human error, I've made a serial TFT LCD and PPM generator to be connected to a companion computer along with a mavlink connection and I'm reviewing a few npm packages for later use, you'd be surprised how many potential problems can be found before even running a single test just by converting the project to typescript and imposing a few basic types and interfaces not to mention the learning curve to the package internals and functions is reduced to minimum.

- dns-packet and multicast-dns - originally by Mathias Buus
- ip/node-ip  - originally by Fedor Indutny

and today I've checked out mavlink package, originally by Owen McAree, I've just seen the data flowing from APM, great!


message AHRS { omegaIx: 0.0003541054902598262,
  omegaIy: 0.0006027567433193326,
  omegaIz: -3.3141745348075347e-7,
  accel_weight: 0,
  renorm_val: 0,
  error_rp: 0.0018874505767598748,
  error_yaw: 1 }
message HWSTATUS { Vcc: 4349, I2Cerr: 1 }
message SYSTEM_TIME { time_unix_usec: 0, time_boot_ms: 16363 }
message ATTITUDE { time_boot_ms: 16402,
  roll: 0.018413120880723,
  pitch: 0.01433389913290739,
  yaw: -0.0002040785038843751,
  rollspeed: 0.00037805165629833937,
  pitchspeed: 0.0006373348878696561,
  yawspeed: 0.00040407307096756995 }
message VFR_HUD { airspeed: 0,
  groundspeed: 0,
  alt: 0.07000000029802322,
  climb: 0,
  heading: 0,
  throttle: 100 }
message RAW_IMU { time_usec: 16643270,
  xacc: 20,
  yacc: -10,
  zacc: -986,
  xgyro: 0,
  ygyro: 0,
  zgyro: 0,
  xmag: 0,
  ymag: 0,
  zmag: 0 }
message SYS_STATUS { onboard_control_sensors_present: 2153475,
  onboard_control_sensors_enabled: 2129923,
  onboard_control_sensors_health: 2153475,
  load: 371,
  voltage_battery: 0,
  current_battery: -1,
  drop_rate_comm: 0,
  errors_comm: 0,
  errors_count1: 0,
  errors_count2: 0,
  errors_count3: 0,
  errors_count4: 0,
  battery_remaining: -1 }
message MEMINFO { brkval: 6629, freemem: 1519 }
message MISSION_CURRENT { seq: 0 }
message ATTITUDE { time_boot_ms: 16644,
  roll: 0.01850038766860962,
  pitch: 0.014476700685918331,
  yaw: -0.00014243528130464256,
  rollspeed: -0.00006719821249134839,
  pitchspeed: 0.0005361465737223625,
  yawspeed: 0.00013777358981315047 }







Tags: