mxlfrbt
Published © Apache-2.0

MIKRIK ROS2 Robot on Intel Robotics SDK

Build a ROS2 robot car to learn Visual SLAM, localization, mapping, and navigation powered by Realsense 3D-camera. No solder!

AdvancedWork in progress16 hours1,492
MIKRIK ROS2 Robot on Intel Robotics SDK

Things used in this project

Hardware components

MIKRIK V2 Chassis Kit
Laser cut provided CAD parts from a 3mm thickness plastic sheets, and 3D-print standoffs. If you're unable to do that, I can support you with a plastic chassis or ready-to-run customized robot, please contact me for more info.
×1
LattePanda Delta 3
Great board to build ROS2 robots with help of the Intel Robotics SDK. But if you don't have it, you might use any Intel NUC based on Core, Celeron or Atom.
×1
Raspberry Pi RaspberryPI 4B 4GB
Controller of the robot. It will run ROS1 and read encoders data, and send commands to the motors. Host computer will communicate with it using ROS1-ROS2 bridge.
×1
Intel Realsense D435(i) 3D-vision camera
Order any used 3D-camera on Ebay to save money. You can either have version 435 or 435i with IMU, doesn't matter.
×1
DFRobot TT Motor with Encoder (6V 160RPM 120:1) L-shape
Motors to move robot around.
×2
DFRobot Motor Driver HAT(v1.0) for Raspberry PI
Motor driver to control robot motors.
×1
DFRobot Plastic rubber wheel
Wheels for the robot chassis.
×2
DFRobot Metal-ball caster wheel
Ball-wheel to support robot chassis to stand on two main wheels.
×1
Powebank >60W to power LattePanda
You can use any powerful powerbank that can be used to power a laptop, so you can have an autonomous power supply for a host computer.
×1
Original PS4 gamepad
I can't guarantee that copy will work, but if you have a copy first make a try.
×1
8GB or 16GB microSD
SD-card to install Ubuntu. For lazy guys, I created an image that you can burn using DiskImage on Windows or something similar on Linux. Download image here:
×1
2S Li-Po battery
Battery to power-up a motor driver, motors and Raspberry.
×1
Li-Po Battery charger
Charger to charge your batteries. You need any charger that can charge up to 3S Li-Po battery.
×1
Ethernet cable 0.5ft
You can use up to 1ft Ethernet cable. Use any slim and soft Ethernet cable that ca easily bend and fit inside a small robot chassis.
×1
Deans-T connector
Connector to power-up a motor driver and Raspberry. Just cut red connector, to have bare cables to insert into DFRobot Motor Driver HAT screw terminal.
×1
Velcro tape
Great Velcro tape to stick LattePanda, power bank and Raspberry PI to the chassis plastic plate and to avoid having any mechanical connection.
×1
M3x8mm screw
Screws to mount metall-ball wheel on the chassis.
×1
M3x55mm PCB standoff
Standoffs to connect two plates of the chassis together.
×4
M3x10mm screw
Screws to fix standoffs with the top and bottom chassis plastic plates. Use them if you will buy metal M3x55mm PCB standoffs.
×8
M2.5x10mm screw
Screws to fix standoffs with the top and bottom chassis of the 3D-printed plastic plates. Use them if you will 3D-print PCB standoffs by yourself.
×8
M2.5 nut
Nuts to fix M2.5x25mm screws on the side motor plates.
×4
M2.5x25mm screw
Screws to mount motors on the side motor plates of the chassis.
×4
1/4-20 x 3/8" screw
The screw to mount a Realsense camera on the chassis.
×1
M2.5x8mm standoff
You can buy a plastic generic one, or 3D-print it by using file provided in my Github MIKRIK CAD repo.
×8
M2.5x6mm screw
Screws to mount LattePanda and Raspberry PI
×8
USB Type C cable
Cable to power-up a LattePanda board.
×1
SSD M.2 disk 256GB
Use any M.2 SSD disk you have. I'm using very expensive 500GB Samsung 980 PRO, but you can proceeed with cheaper option I added.
×1
Audio / Video Cable Assembly, Ultra Slim RedMere HDMI to HDMI
Audio / Video Cable Assembly, Ultra Slim RedMere HDMI to HDMI
Connect LattePanda to the display, or use Type C.
×1
micro HDMI cable
Connect Rasbperry to the display
×1

Software apps and online services

Robot Operating System
ROS Robot Operating System
Project has two parts: - Robot part running ROS1 using Raspberry PI 4B. It creates an interface to communicate with the robot motors and encoders data. - Host part running ROS2 using Robotics SDK. It will generate control commands, and will publish them using ROS1-ROS2 bridge.

Hand tools and fabrication machines

Laser cutter (generic)
Laser cutter (generic)
Laser cut provided CAD parts from a 3mm thickness plastic sheets. If you're unable to do that, I can support you with a plastic chassis or ready-to-run customized robot, please contact me for more info.
3D Printer (generic)
3D Printer (generic)
3D-print plastic standoffs to connect to pieces of chassis together. You can also purchase metal ones, mentioned in the Hardware components section to eliminate 3D-printer usage.
Multitool, Screwdriver
Multitool, Screwdriver
Use a screwdriver to fix screws. I'm personally using hexagon socket head screws on the robot mostly. But you might use Philips screws according to the links above.
Mastech MS8217 Autorange Digital Multimeter
Digilent Mastech MS8217 Autorange Digital Multimeter
In case of issues, use it.

Story

Read more

Custom parts and enclosures

MIKRIK Robot CAD Files

CAD-files to make mikrik robot by yourself using laser-cutter and 3D-printer.

Code

MIKRIK Robot ROS1 Nodes Code

A ROS1 nodes code to run on Raspberry for Mikrik robot. mikrik_description — URDF robot description and main bringup launch files. mikrik_driver — Low-level drivers for working with motors and encoders on Raspberry Pi. mikrik_control — Robot controllers, differential drive controller. mikrik_base — Robot base controller. mikrik_teleop — Remote control of the base robot controller via the DualShock 4 joystick.

Credits

mxlfrbt

mxlfrbt

1 project • 4 followers
Maker, educator and creator.

Comments