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 }
