Jump to: navigation, search

Difference between revisions of "APP4MC/Rover"

Line 126: Line 126:
 
* 15x M.3 nuts
 
* 15x M.3 nuts
  
[[File:IMG_20180120_115639.jpg]]
+
[[File:IMG_20180120_115639.jpg|400px]]
  
 
Mount the Infrared and Ultrasonic sensors on the 3D printed front and rear platforms. Also mount the Camera onto the front platform. Use M.3 screws and nuts for that. For a better visual feedback on where the front and back is, both platforms were printed in different colors (white = front).
 
Mount the Infrared and Ultrasonic sensors on the 3D printed front and rear platforms. Also mount the Camera onto the front platform. Use M.3 screws and nuts for that. For a better visual feedback on where the front and back is, both platforms were printed in different colors (white = front).
  
[[File:IMG_20180120_120214.jpg]]
+
[[File:IMG_20180120_120214.jpg|400px]]
  
 
Place both platforms onto the chassis and tighten them with M.3 screws directly to the chassis. Since the forward and backward speed are identical, you have to decide which side will be the front. In this case we decided for the side on which the motors are placed.
 
Place both platforms onto the chassis and tighten them with M.3 screws directly to the chassis. Since the forward and backward speed are identical, you have to decide which side will be the front. In this case we decided for the side on which the motors are placed.
  
[[File:IMG_20180120_121323_BB.jpg]]
+
[[File:IMG_20180120_121323_BB.jpg|400px]]
  
 
Optional: A circuit breaker can be added to the cables which power the Raspberry Pi and the motors. Therefore, the outputs are directly soldered to the breaker. Here, the breaker is placed in the USB cable towards the Pi (shown in the plan).
 
Optional: A circuit breaker can be added to the cables which power the Raspberry Pi and the motors. Therefore, the outputs are directly soldered to the breaker. Here, the breaker is placed in the USB cable towards the Pi (shown in the plan).
  
[[File:IMG_20180120_123923.jpg]]
+
[[File:IMG_20180120_123923.jpg|400px]]
[[File:IMG_20180120_124002.jpg]]
+
[[File:IMG_20180120_124002.jpg|400px]]
[[File:Rover_assembly.png]]
+
[[File:Rover_assembly.png|400px]]
  
 
===Intelligence-Stack===
 
===Intelligence-Stack===
Line 162: Line 162:
 
For the Driver Shield follow the instructions that are shipped with it. You may need to solder additional male pin headers onto the shield (blue areas).
 
For the Driver Shield follow the instructions that are shipped with it. You may need to solder additional male pin headers onto the shield (blue areas).
  
[[File:Driver-Shield.png]]
+
[[File:Driver-Shield.png|400px]]
  
 
Solder all parts (from this list) onto the Sense-Layer. A soldering mask is printed on the board. The finished board should look like this:
 
Solder all parts (from this list) onto the Sense-Layer. A soldering mask is printed on the board. The finished board should look like this:
  
[[File:IMG_20180120_122635.jpg]]
+
[[File:IMG_20180120_122635.jpg|400px]]
[[File:IMG_20180120_122701.jpg]]
+
[[File:IMG_20180120_122701.jpg|400px]]
  
 
Put all three boards together (Raspberry Pi 3 <- Driver Shield <- Rover Sense-Layer). You may use spacers between the boards. The height depends on your pin heads. We use 10 mm spacers or none, as we often disassemble the stack.
 
Put all three boards together (Raspberry Pi 3 <- Driver Shield <- Rover Sense-Layer). You may use spacers between the boards. The height depends on your pin heads. We use 10 mm spacers or none, as we often disassemble the stack.
  
[[File:IMG_20180120_123049.jpg]]
+
[[File:IMG_20180120_123049.jpg|400px]]
  
 
The Intelligence-Stack is loosely placed in the chassis. The power and motor cables are connected as shown in the quick wire guide.  
 
The Intelligence-Stack is loosely placed in the chassis. The power and motor cables are connected as shown in the quick wire guide.  
 
Do not forget to connect the camera as it may be difficult to reach the socket on the Pi later:
 
Do not forget to connect the camera as it may be difficult to reach the socket on the Pi later:
  
[[File:IMG_20180120_124611.jpg]]
+
[[File:IMG_20180120_124611.jpg|400px]]
[[File:Rover_assembly.png]]
+
[[File:Rover_assembly.png|400px]]
  
 
Connect all other sensors (Infrared, Ultrasonic, Temperature, …) as well as the logic-level-shifters, A/D converter and the display to the Sense-Layer:
 
Connect all other sensors (Infrared, Ultrasonic, Temperature, …) as well as the logic-level-shifters, A/D converter and the display to the Sense-Layer:
  
[[File:roverconn.png]]
+
[[File:roverconn.png|400px]]
[[File:IMG_20180120_130031.jpg]]
+
[[File:IMG_20180120_130031.jpg|400px]]
  
 
After adding the power bank and the voltage converter (set to 9V) and connecting the motors,  and batteries the Rover is ready to go.
 
After adding the power bank and the voltage converter (set to 9V) and connecting the motors,  and batteries the Rover is ready to go.
  
[[File:IMG_20180120_130651.jpg]]
+
[[File:IMG_20180120_130651.jpg|400px]]
  
 
Flash your SD-card with the latest Kuksa-AGL-Image available at [https://owncloud.idial.institute/s/7fh4gbQjS7wfN4B Repo Dortmund] or build your own Kuksa-AGL image and start Hacking(thumbs up).
 
Flash your SD-card with the latest Kuksa-AGL-Image available at [https://owncloud.idial.institute/s/7fh4gbQjS7wfN4B Repo Dortmund] or build your own Kuksa-AGL image and start Hacking(thumbs up).

Revision as of 12:01, 6 March 2018

A Rover comprehensive development and documentation is also given at Github with documentation and source repos. The APP4MC Rover is further developed along with the Eclipse Kuksa project.

APP4MC Rover

Rover11 2017b.png

Hardware

  • Rover kit as described on this page is deprecated, therefore please check the following parts:
Item Description Quantity Price each in € Price total Link exemplarily Link for Germany
1 Rover 5 Robot Chassis (includes 9V 6x AA Battery holder) 1 50 50 Pololu -
2 Raspberry Pi 3 with 16GB 1 40 40 Element14 -
3 PI Camera 1 25 25 Element14 -
4 Sharp GP2Y0A41SK0F Analog Distance Sensor 4 4 16 AE -
5 Pololu RPi hat motor controller #2756 1 35 35 Pololu -
6 Motor controller connector 1 1 1 Pololu -
7 Powerbank for RPI 1 25 25 Element14 or GB Conrad
8 Rover-Sense-Layer 1 ~14 ~14 Via KiCAD e.g. PCBWay or AllPCB using the provided files -
9 A/D Converter 1 3,15 3,15 AE Conrad
10 Logic Level Converters 2 1,06 2,12 AE (size has to be checked!) Link
11 Magnetometer 1 1,58 1,58 AE -
12 US sensor SR04 2 2 4 AE -
13 Temp. / Hum. sensor 1 2,22 2,22 AE Amazon
14 OLED Display 1 3 3 AE Amazon
15 Accelerometer / Gyro 1 0,94 0,94 AE Sertronics
16 Buzzer 1 1,5 1,5 (10 pcs) AE Conrad
17 Resistors 3 x 1 (100 pcs) AE Conrad
18 Buttons 2 x 1 (50 pcs) AE Conrad
19 Pin Header 1 1 1 (10 pcs) AE Conrad
20 Spacers 6 0,05 0,30 AE -
21 IC Socket 1 1 0,18 - Conrad
22 Pin Heads straight 1x36 2 1,92 3,84 - Conrad
23 Pin Heads angle1x36 1 2,6 2,6 - Conrad
24 Distance bolts 2 0,23 0,46 - Sertronics
25 Voltage Converter 1 1,77 1,77 AE -
37 - ~240 EUR No shipping, assembly included -
  • 3D extensions (to be printed via 3D printer) are provided here.
  • Using the official RPI SenseHAT for the Rover is currently not possible.

RoverSenseLayer

Repo with KiCAD files: GitHub

Software

  • the Rover's documentation (install guide, web-access incl. camera stream, and tracing possibilities), the AMALTHEA model, and the application SW can be found @: git Rover repository
  • Rover SD card images are available here

Investigation results

  • All ultra sonic sensors (Grove, SRF02, and SR04) give relatively unreliable values
  • The compass values highly depend on its location circumstances - you may encounter unreliable values here as well

Since we do not focus the Rover's applications itself, we leave any implementations for sophisticated front and rear distance- or cardinal direction- measurements via additional or different sensors or any filtering algorithms to the community

Included Implementations

  • Displaying Hono, BT, and Wifi connection via OLED display
  • Website generation for live stream, controls, and sensor data / CPU utilisation visualisation
  • Wifi hotspot
  • ACC
  • Grove / SR04 / SRF02 US Sensor access via wiringPi library but unreliable values
  • IR sensor access
  • Hono interaction
  • Buzzer implementation

Upcoming Implementations

  • Bluetooth implementation to allow Android App control
  • Temp. Hum. sensor, Accelerometer, Gyro

Assembling the APP4MC Rover (DRAFT!)

Since the rover is a platform for testing soft- and hardware, it is still under construction. For this reason, some parts are only loosely mounted. If desired some parts can be glued for a tighter hold. You also can use Velcro. An additional source in the Rover hardware can be found in the rover-docs.

Chassis

All parts of the rover are placed inside or onto the Rover 5 tracked chassis. Parts:

  • Rover 5 tracked chassis (without encoders) Manual
  • 3D printed front and rear mount platform Files
  • 3D printed Camera housing Files Stand, Files Housing
  • 2x 3D Printed Ultrasonic sensor housing Files
  • Sensors
    • 4x SHARP Infrared distance sensor
    • 2x Ultrasonic distance sensor
    • 1x Camera
    • Power circuit
  • 1x power bank (with USB out, 5V/2.4A) + StepUp Voltage Converter set to 9V for the motors
  • Circuit breaker
  • 19x M.3 screws
  • 15x M.3 nuts

IMG 20180120 115639.jpg

Mount the Infrared and Ultrasonic sensors on the 3D printed front and rear platforms. Also mount the Camera onto the front platform. Use M.3 screws and nuts for that. For a better visual feedback on where the front and back is, both platforms were printed in different colors (white = front).

IMG 20180120 120214.jpg

Place both platforms onto the chassis and tighten them with M.3 screws directly to the chassis. Since the forward and backward speed are identical, you have to decide which side will be the front. In this case we decided for the side on which the motors are placed.

IMG 20180120 121323 BB.jpg

Optional: A circuit breaker can be added to the cables which power the Raspberry Pi and the motors. Therefore, the outputs are directly soldered to the breaker. Here, the breaker is placed in the USB cable towards the Pi (shown in the plan).

IMG 20180120 123923.jpg IMG 20180120 124002.jpg Rover assembly.png

Intelligence-Stack

The intelligence-stack includes the RaspberryPi3, the motor shield, and the Sense-Layer. The three boards are connected on top of each other i.e.: 1. Sense-Layer (Top) 2. Motor Shield (Middle) 3. Raspberry PI3 (Bottom)

Parts:

  • Raspberry Pi 3
  • Motor Shield (Schematics)
  • Rover Sense-Layer
  • Temperature Sensor
  • Display
  • Logic Level Shifter
  • A/D Converter
  • Buzzer
  • Buttons (shutdown, user defined)

Assemble and solder (if not already done) all parts onto the Driver Shield and Rover Sense-Layer. For the Driver Shield follow the instructions that are shipped with it. You may need to solder additional male pin headers onto the shield (blue areas).

Driver-Shield.png

Solder all parts (from this list) onto the Sense-Layer. A soldering mask is printed on the board. The finished board should look like this:

IMG 20180120 122635.jpg IMG 20180120 122701.jpg

Put all three boards together (Raspberry Pi 3 <- Driver Shield <- Rover Sense-Layer). You may use spacers between the boards. The height depends on your pin heads. We use 10 mm spacers or none, as we often disassemble the stack.

IMG 20180120 123049.jpg

The Intelligence-Stack is loosely placed in the chassis. The power and motor cables are connected as shown in the quick wire guide. Do not forget to connect the camera as it may be difficult to reach the socket on the Pi later:

IMG 20180120 124611.jpg Rover assembly.png

Connect all other sensors (Infrared, Ultrasonic, Temperature, …) as well as the logic-level-shifters, A/D converter and the display to the Sense-Layer:

Roverconn.png IMG 20180120 130031.jpg

After adding the power bank and the voltage converter (set to 9V) and connecting the motors, and batteries the Rover is ready to go.

IMG 20180120 130651.jpg

Flash your SD-card with the latest Kuksa-AGL-Image available at Repo Dortmund or build your own Kuksa-AGL image and start Hacking(thumbs up).

Outlook

UMTS/LTE connection

The Rover's wifi can be set up as an access point for a local setup, e.g. to use the Rover_Web_UI, or as a wifi client to connect to an existing network, e.g. to use the Rover_Telemetry_UI and exchange data with a cloud instance. For external communication a UMTS/LTE module should be used in the future. For lab setups it is also sufficient to use an additional Wi-Fi stick or the RJ45 connection on the Pi, to mock that connection.