Current Checkpoint:

  1. Upload macro-level hardware plans here with requirements.
    v1
    Figure 1

    V1.0 Requirements :

    1. RoboCar shall be be able to move forward, backward, left, and right. Tank controls are acceptable.
      1. RoboCar shall achieve a forward speed of ??
    2. RoboCar shall be able to accept (movement) commands from a remote PC with (???) allowable loss.
    3. RoboCar shall not be wired such that power or communication cables are tethering the vehicle.
    4. RoboCar shall come to a complete stop in (?? ms) when the ESTOP is pressed.
  2. ROS : turtle tut

    Using the tutorial but trying turtlesim in a terminal using ‘ros2 run turtlesim turtlesimnode‘ results in

    qt.qpa.xcb: qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.

    This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

    Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, xcb.

    solving this required a few more libraries and ensuring xauth is on my laptop! The libraries (X/Qt/xcb…) I had to install on the pi were "sudo apt install"…

    • x11-apps
    • libgl1
    • libgl1-mesa-dri
    • libgl1-mesa-glx
    • libegl1-mesa
    • libegl-mesa0
    • libxcb1
    • libx11-xcb1
    • libxcb-xinerama0
    • libxcb-icccm4
    • libxcb-image0
    • libxcb-keysyms1
    • libxcb-randr0
    • libxcb-render-util0
    • libxcb-shm0
    • libxcb-xkb1
    • libxkbcommon-x11-0

    and running a checky little ssh session ‘xeyes‘ for a simple test. After that, turtlesim worked!!

  3. ROS : controller control turtles through ssh (can kicked)
  4. Ard : Outline how to flash firmware
    • For the firmware flash, I wanted to move away from the Arduino IDE and attempt to flash using a programmer and make/shell pipeline. For this, I opted to use the AVR Programmer which has a healthy amount of documentation around the PCB and programming along with the ability to power the uno.
      avr_prog
      Figure 2
    • Since I had installed the arduino IDE in the past, I had the ard-gcc compiler and libs installed. All I had to do was follow the process of generating a hex file outlined in another page [TODO].
    • With the pipeline made, I created a small blink LED test with the dir structure
      					|- bin
      					|   |- blink.elf
      					|   |- blink.hex
      					|   |- blink.o
      					| 
      					| - Makefile
      					|
      					| - run.sh
      					|
      					| - src
      					|   | - blink.c	
      

      Be sure to look at my github for idea of the Makefile and shell BUT they should be a review from [TODO], the other file I posted today.

Next Checkpoints:

  • (Arduino) Author a bare-bones, tank-style motor control system that accepts movement commands (hard-coded script til pi) using a TDD framework.
  • (Pi) Switch ssh over to bluetooth from WLAN (and static address)