Skip to content

Latest commit

 

History

History
144 lines (100 loc) · 6.39 KB

software.md

File metadata and controls

144 lines (100 loc) · 6.39 KB

Microblocks.

MicroPython.

ROS2.

Rosmo can be used in a few different applications:

  • A STEM learning platform using microblocks for people just starting with robotics

  • A robot for Students and hobbyists to learn Python & ROS2 programming with the same tools, languages, and libraries used in professional and industrial robots.

Microblocks

  1. Download ESP32-S3 bin

  2. Visit ESP web tool in a Chrome browser

  3. Connect ESP32-S3 and flash device (you may need to hold the 'boot' button)

  4. Use the Pilot version in Chrome{:target="_blank"}

  5. In Microblocks; Cog icon > Install ESP firmware from URL > Paste https://microblocks.fun/downloads/pilot/vm/vm_esp32-s3.bin

  6. Download this raw UBP file{:target="_blank"} and open it in the Microblocks app.

WhatsApp.Video.2024-02-19.at.16.06.49.mp4

Current status: Working but encoders not yet configured.

ROS2

Software; Best if you want to learn ROS2 based on Linorobot2

Status: Wheels spinning, encoders working but not fully tested yet.

Thanks to John Vial for contributing this code

  • Get your IP address from your router or AngryIP{:target="_blank"}.)
  • Install Docker{:target="_blank"}
  • Start Docker gui
  • in a terminal: docker run -p 6080:80 --security-opt seccomp=unconfined --shm-size=512m samuk/rosmorobot:jazzy
  • Open browser to http://127.0.0.1:6080/ fullscreen the Linux desktop tab
  • Open firefox in the virtual machine,
  • In file browser navigate to /Desktop/linorobot2_hardware-master/config/custom
  • right click on rosmo_config.h & open in pluma (put in your wifi credentials at line 116, set the agent IP at line 113 & lidar ip at line 129 to the address of your computer, save the file
  • pio -t rosmo


- Open a file browser & search for .bin
- Send the .bin file to yourself via email or Google drive
- In your normal Windows/Mac desktop environment visit [ESP web tool](https://esp.huhn.me/)
- Connect ESP32-S3 and flash device with the .bin file
- In the terminal of the virtual machine
- `cd linorobot2-rolling`
- `chmod +X install_linorobot2.bash`
- `./install_linorobot2.bash`
- `ros2 launch linorobot2_bringup bringup.launch.py micro_ros_transport:=udp4 micro_ros_port:=8888`
- In a browser access http://localhost:8888/ to get teleop UI
- Have fun

MicroPython

Status: Beta released providing Webui to drive the robot with encoders

Please see Micropython repository

Thanks to Alex for contributing this code

Openbot (Android) software;

Status: Needs tweaking for ESP32S3

C++/ Arduino software

Status: Doesn't exist yet, Might be interesting to do something with Arduino Mecanum and maybe Smartcar Shield at some point.

Possible learning journey

  • Assemble 2WD bot
  • Drive 2WD bot with Microblocks remote control from Android
  • try to make the robot drive in a straight line
  • Configure the encoders in microblocks and try again
  • Add a pair of mechanical bump sensors, in microblocks do bump & run
  • Add a sharpie - Draw a straight line on a large piece of paper
  • Draw your initials
  • Add a pair of line sensors, follow a line
  • Add 2x wheels to make a 4wd bot
  • Configure Microblocks to run 4WD
  • Try and make it go in a straight line again
  • Complete the parking challenge using microblocks
  • Add Mecanum wheels.
  • In Microblocks make the robot go sideways with remote control
  • Complete the parking challenge again without making the robot turn at all
  • Install an IMU & configure in Microblocks
  • Add a ESP32 cam and watch the livestream from a computer
  • Install a grabber & move an object from a to b in the parking challenge
  • Move two objects
  • Add a daughterboard with 2x oled
  • Load the robot eyes in microblocks & make the eyes interact with the controls
  • Install thonny/ micropython and complete steps 1-15 in Micropython code
  • Install ROS and complete steps 1-15 again
  • Install a Lidar and map a room
  • Run the robot. A lot.
  • Add the protoboard add on - Add a novel sensor to the bot and get it working
  • In easyeda create a daughterboard to your own design

Further robotics resources