Robomapper. Part 0, 1, 2.

Photo of Pitman75

Made by Pitman75 / Robotics

About the project

I design an OpenSource/OpenHardware robot for indoor investigation.

Project info

Difficulty: Moderate

Platforms: NXP

Estimated time: 6 weeks

License: GNU General Public License, version 3 or later (GPL3+)

Items used in this project

Hardware components

Screw with hidden head M3 20..25mm Screw with hidden head M3 20..25mm For mount brackets to a frame x 8
Screw M3 25..30mm Screw M3 25..30mm For mount motors to brackets x 6
Spacers M3 Spacers M3 x 18
Screw M5 16mm Screw M5 16mm For mount a free rotation wheel x 4
Spacer M5 Spacer M5 For mount a free rotation wheel x 4
NUT HEX M5 NUT HEX M5 For mount a free rotation wheel x 4
Nut M3 Nut M3 For mount motors and brackets x 14
Plywood 6 layers, 10mm width. At least 260x260mm Plywood 6 layers, 10mm width. At least 260x260mm x 1
SMD Resistor 0402 0 Ohm SMD Resistor 0402 0 Ohm x 4
Battery Holder - 2x18650 (wire leads) Battery Holder - 2x18650 (wire leads) x 1
Power switch Power switch x 1
DC-DC 5V 2...4A DC-DC 5V 2...4A x 1
Battery voltage meter Battery voltage meter x 1
Screw M3 14mm Screw M3 14mm For mount MIMXRT1010-EVK board x 4

View all

Software apps and online services

MCUXpressoIDE from NXP MCUXpressoIDE from NXP For programm MIMXRT1010-EVK
SDK_x_x_x_EVK-MIMXRT1010 from NXP SDK_x_x_x_EVK-MIMXRT1010 from NXP For programm MIMXRT1010-EVK

Hand tools and fabrication machines

Drilling machine Drilling machine For drill holes. x 1
Drill 3.2...3.5mm Drill 3.2...3.5mm For mount holes. x 1
Drill 5.2...5.5mm Drill 5.2...5.5mm For mount holes of free rotation wheel x 1
Solder iron Solder iron x 1
Multimeter Multimeter x 1

Story

I want to design an OpenSource/OpenHardware robot for indoor investigation.


This robot will has 3 wheels. Two wheels are with motors, third is free for rotation.

For measure a distance I shall use 4 ultrasonic distance sensors HC-SR04. This sensors will control all sides of robot: left, right, forward, back. For determine collision I shall use simple push sensors for all sides too. For accurate measure speed and distance will use counter encoders with special measurement wheels.

In movement all distances sensors will measure distances to any objects. In case the robot is moving by unknown environment the data about distance will be used for build virtual map. In case the robot is moving by known space the data will be used for navigation and build path by Lee algorithm.

For communication with external eqipment I shall use RFM69 module. The Mavlink and ROS protocols will be supported. The robot will be as ROS remote device.

Main controller is Development Kit MIMXRT1010-EVK from NXP, motor's control board is FRDM-34933-EP-EVB. Thanks a lot of NXP by these boards.


See structure of the robot.


Plan of work:


1. Design a frame, motor's brackets. Assembly a frame with motors. - Done

2. First movement. Do it moveable by programm. - Done

3. Design brackets for counter encoders. Assembly with encoders. Do working measure speed, direction and distance.

4. Add to each side ultrasonic distance sensors HC-SR04. Do working measure distances.

5. Add push sensors to each side.

6. Add RFM69 module. Do working communication with external equipment.

7. Design an algo for navigation and path planning.

8. Do working Mavlink/ROS data transfer.

9. Indoor tests.


Design a frame, motor's brackets. Assembly a frame with motors and wheels.

For this project I used 6 layers (10mm width) plywood. It looks as circle with holes. See draft (mm units).


This cutted frame was covered 2 layers of white paint of wood.


Motors are from there https://aliexpress.ru/item/32835628707.html


Motors will be placed on the bottom of this frame.

For do it. I designed universal bracket (left/right side).


3D printers may slightly change dimensions of model. When brackets printed set its to bottom of the frame as on image and mark centers of holes. Distance between brackets and corner is 25mm.

Drill 8 holes with 3.2 - 3.5mm diameter.

For mount brackets use 8 M3-20...25mm screws with hidden head and spacers on top side of the frame.

For mount motors use 6 M3-25..30mm screws and spacers on some places.

When motors with wheels installed we may measure distance between ground and bottom of this frame. We need know this information for bought free rotation wheel. In my case this distance is 49..50mm.

I found in local store simple free rotation wheel.

Marked centers of mount holes, drilled holes and mount. In my case mount holes diameter is 5.5mm. I used 4 pcs of M5x16mm screws.


Well, frame with motors and wheels is ready for electronic and programming stage.


First movement. Doing moveable by programm.

The base of robot ready for next step. It is do it moveable.

The signals for control motors for the FRDM-34933EP-EVB are on the J56 of the MIMXRT1010-EVK. But main problem is that all signals of FLEXPWM1 disconnected by default.

Need solder additional 4 pcs of 0402 SMD resistors zero value: R793, R794, R796, R800. These resistors are on the bottom side.


On the top side need move resitors R1 to R1855 and R805 to R1875

Now the MIMXRT1010-EVK is ready for control motors.

Mount battery holder, DC-DC and MIMXRT1010-EVK by screw.

The board FRDM-34933EP-EVB can't control high voltage motors. In this case we use special DC-DC with +5V 2..5A output for supply both boards and motors.

For the MIMXRT1010-EVK board before supply from external source need remove default connection on J1 1-2pins and connect +5 to 8 pin of J1 and GND to 10 pin of J1. Power for motors will be connected to J6 of the FRDM-34933EP-EVB +5V to VMD, GND to GND.

The left motor connected to OUT1 channel, the right motor connected to OUT2 channel.

Use simple project for test woring state. This stage is done.


Schematics, diagrams and documents

Structure

Structure of modules.

Power

Power connection

CAD, enclosures and custom parts

Bracket for the motor

Universal left/right side bracket for mount the motor.

Frame

Draft of the frame

Code

Main repositories.

Credits

Photo of Pitman75

Pitman75

I am professional electrical engineer with strong embedded development experience. I search for an interesting and complex long-term project. I can do project from start (design schematic) to finish (production). I have very well-equipped professional engineering lab with everything needed to create working prototypes—from logic analyzers to 3D printer and CNC mill. EDUCATION www.tusur.ru Tomsk State University of Control Systems and Radioelectronics Master of Electrical Engineering

   

Leave your feedback...