ARM Cortex M3 based autonomous robot “rob01″

Posted on 18/12/2011 by armonlinux
Modified on: 13/09/2018
Project
Press to mark as completed
Introduction
This is an automatic import from our previous community platform. Some things can look imperfect.

If you are the original author, please access your User Control Panel and update it.

This is my first robot project. Primary goal of the project was to build a small robot which is able to drive autonomous as well as remote controlled by a human. The result is rob01 which currently has the following features: Drives autonomously, tries to avoid obstacles. To detect obstacles, two distance sensors are used.Also the average wheel turns are measured continuously to detect if the robot is stuck.The robot also provides a shell to which one could log in through a wireless connection. On ...


ARM Cortex M3 based autonomous robot “rob01″

This is my first robot project. Primary goal of the project was to build a small robot which is able to drive autonomous as well as remote controlled by a human. The result is rob01 which currently has the following features:

  • Drives autonomously, tries to avoid obstacles. To detect obstacles, two distance sensors are used.
  • Also the average wheel turns are measured continuously to detect if the robot is stuck.
  • The robot also provides a shell to which one could log in through a wireless connection. On the shell the internal robot parameters could be monitored or set, and the robot could be driven remote controlled.

Programming of the robot firmware was done completely by using open source tools. For compiling, the ARM gcc form the "Summon ARM Toolchain" is used, and as a kick start for accessing the STM32 hardware functionality, "libopencm3" is used.

For more pictures, videos, firmware (incl. doxygen docs) and schematic see the project page on my blog!

Test setup with breadboard

Final robot, top view

Wiring

Sensors for measuring the wheels RPM

Drives autonomous, avoids obstacles by using IR sensors, an measuring the wheels rpm. Could also be remote controlled through XBee.

  • Actuators / output devices: 2 gear motors
  • Control method: autonomous, or remotely by logging into a shell on the robot through XBee (ZigBee)
  • CPU: STM32VL Discovery (ARM Cortex-M3)
  • Operating system: none - bare metall
  • Power source: 2 9V blocks
  • Programming language: C
  • Sensors / input devices: 2 Pololu QTR-1RC IR sensors for rpm measurement, 2 Pololu GP2Y0D805Z0F IR sensors as bumper sensors
  • Target environment: indoor
LikedLike this to see more

Spread the word

Flag this post

Thanks for helping to keep our community civil!


Notify staff privately
It's Spam
This post is an advertisement, or vandalism. It is not useful or relevant to the current topic.

You flagged this as spam. Undo flag.Flag Post