Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Tracked Robot Update: Ultrasonic, Line Sensor and Shell with SMAC 802.15.4

DZone's Guide to

Tracked Robot Update: Ultrasonic, Line Sensor and Shell with SMAC 802.15.4

· Performance Zone ·
Free Resource

xMatters delivers integration-driven collaboration that relays data between systems, while engaging the right people to proactively resolve issues. Read the Monitoring in a Connected Enterprise whitepaper and learn about 3 tools for resolving incidents quickly.

 The FRDM-KL25Z tracked robot from my earlier post has gone trough several upgrades:

Tracked Robot with Ultrasonic Sensor

Tracked Robot with Ultrasonic Sensor

It features now a line sensor for line following, remote control and Command Line Shell support through 802.15.4 plus an ultrasonic sensor.

The IEEE802.15.4 Transceiver card is now integrated with an Adapter Card on top of the FRDM-KL25Z. The Adapter card makes the connection for the IEEE802.15.4, Line Sensor Array and Ultrasonic HC-SR04 Sensor. An Arduino proto shield is used for mechanical connectivity plus exposure of the FRDM-KL25Z Reset button.

Tracked Robot Details

Tracked Robot Details

The Pololu Tracks worked well on carpet, but not good enough on other surfaces. To improve the grip of the tracks on different surfaces, I have mounted pads on the tracks.

The motors generated substantial noise, and adding the usual capacitors to the motor terminals was not enough. I ended up mounting an extra grounded shield which then suppressed the noise:

Chassis with Motor Shielding

Chassis with Motor Shielding

The CodeWarrior for MCU10.4 project implements a lot of functionality with the use of Processor Expert components:

Processor Expert Components

Processor Expert Components

The project features now a radio module which allows to send commands to the robot: the radio module implements a wireless gateway to the robot.

Wireless shell connection to Robot

Wireless shell connection to Robot

With

radio send

a string is sent to the robot.

With

radio send stdin

a command can be sent to the standard input I/O channel of the robot. The robot is using standard input, output and error channels. This makes it easy to send and receive commands and status messages to and from the robot.

With the platform.h header file, the project can be configured. For example to add line following, maze solving or acting as a remote controlled robot.

Summary

With this I have an autonomous robot based on the FRDM-KL25Z board and a chassis from Pololu. It performs line following and maze solving, and can be controlled by a remote shell or controller unit (e.g. with an accelerometer). I plan to add at least one servo motor so the ultrasonic sensor can scan the surroundings. Then it is just a small step to solve a maze built up with walls instead of lines :-) .

The sources for the CodeWarrior for MCU10.4 project are available on GitHub here.

Happy Roboting :-)

3 Steps to Monitoring in a Connected Enterprise. Check out xMatters.

Topics:

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}