Circuit Lake

Electronic Project and Circuit Collection

UniRoP, M16C-based Robot System

01/18/2012 Category: Microcontroller, Project, Renesas, Robotic, Sensor

The UniRoP is a small sized robot system which combines classical robot sensors, like infrared distance sensor, accelerometers with a CMOS camera. It is also possible to control the robot by radio. To illustrate the possibilities of the designed system a sample task uses the CMOS picture sensor as an object detector. Simple picture processing locates and follows a colored table tennis ball.

UniRop Renesas Robot System


The M16C microcontroller family from Renesas has a lot of computational power and a wide range of built in peripherals, so it is really difficult to find a design idea using the power of the controller. The UniRoP uses the “normal” peripherals, like A/D converter, several serial I/Os, timers etc. and as well as the DMA feature of the M16C core. Especially this feature is very important for fast data transfer from the picture sensor to the RAM area of the controller.

Block diagram below gives an overview about the most interesting modules. The UniRoP is also fitted by optical encoder for counting wheel revolutions, so that moving distances can be measured. A speaker is fitted to the D/A output of the controller; it is possible to put out sampled wave data.

M16C Robot system block diagram

Besides the electronic hardware the software of a complex robot platform could be a problem. Hard real time reaction on the one hand and on the other side a simple as possible software integration is needed. To give a solution without using a commercial RTOS a free multitasking kernel was ported for the M16C microcontroller family. A real challenge was the combination of multitasking facilities and debugging features of the in depend monitor program.

The UniRoP platform uses the well known differential drive motion concept. The differential drive combines high maneuverability and simple control algorithms. Two miniature motors are controlled by steering software. The robot is powered by two LR6 alkaline batteries (two NiCd or NiMH cells also could be used, or one LiPo accu).