Welcome to CACIC’s documentation!¶
Who am I?¶
CACIC is a Pioneer 3-AT, four wheeled robot built by Omron Adept MobileRobots, owned by Computer Science Department at University of Brasilia, BR.

The main documentation is organized into a couple sections:
Camera¶
Cacic has a PTZ Camera, Canon VC C50i

Camera Specs¶
- Resolution: 640x480
- Zoom: up to 26x optical
- Pan/Tilt range: 200-degree pan range, 120-degree tilt range
- Pan/Tilt speed: up to 90-degrees Pan and 70-degrees Tilt per second
- Format: NTSC
- Power Supply: 13 VDC
- Stream Interface: RCA-BNC Cable
- Control Interface: Custom multiconnector with terminals S-VIDEO OUT, RS232 OUT and RS232 IN
- Framegrabber: Sensoray 311
Note
There is wireless controller that came with camera, it work but is not used.
Linux Drivers¶
For the Camera¶
The cameras’s stream can be retrived with OpenCV using Video4Linux. Checkout this code.
Framegrabber¶
Sensoray 311 with interface PC104+, manufactured by Sensoray

- Linux 2.4.x Driver
- Use built in ‘bttv’ module with parameter: card=73
- Linux 2.6.x Driver
- Use v4l with parameter: card=73
Troublehooting¶
Blue or black screen when retriving frame using OpenCV¶
- Check the camera’s LED
- The camera is switched off, start P2OS to switch the camera on.
- Check the power
- If the LED is off, maybe the power to the camera is switched off. Press the AUX 1 and AUX 2 buttons on the robot’s panel.
Blue or black screen when retriving frame using another software¶
Same for OpenCV, check the section above.
Scramble image¶
- Switch v4l to retrieve the input with NTSC format
Open the terminal and try
$ v4l2-ctl -s ntsc
- Using gscam and ROS?
Set enviroment variable GSCAM_CONFIG
$ GSCAM_CONFIG="v4l2src ! video/x-raw-yuv, width=320, height=240 ! ffmpegcolorspace"
Laser¶
Cacic has Scanning Laser Range Finder, Hokuyo UTM-30LX

Image credit: RobotShop
Laser Specs¶
- Supply Voltage: 12VDC +- 10%
- Supply Current: 1.0 MAX, 0.7 NORMAL
- Detection Range: 0.1 ~ 30 m
- Measurement Resolution: 0.1~10 m: σ < 10 mm, 10~30: σ < 30 mm
- Scan Angle: 270°
- Angular resolution: 0.25° (360°/1440)
- Scan Speed: 25 ms
- Interface: USB 2.0
Driver¶
The communication with the device is provided by a ROS node, go to How to use the laser for more details.
Sonar¶
Cacic has two sonar arrays (front and rear), sonar or ultrasoud is a sensor that uses sound wave for detect obstacles and range information for collision avoidance.

Sonar Specs¶
- Range of view: 0.1 m ~ 5 m
- Aquisition rate: 25 Hz
Warning
If the sonar doesn’t view anything in its cone of view, it will send to the software the max range.
Geometry¶
The position of each sonar is showed in the image below.

Important
- All these locations are fixed in the robot.
- There’re a URDF file, describing these locations to ROS. Please see the section description of the robot.
Sensitivity Adjustment¶
The driver electronics for each array is calibrated at the factory. However, you may adjust the array’s sensitivity and range to accommodate differing operating environments. The sonar gain control is on the underside of the sonar driver board, which is attached to the floor of each sonar module.
Sonar sensitivity adjustment controls are accessible directly, although you may need to remove the Gripperto access the front sonar, if you have that accessory attached. For the front sonar, for instance, locate ahole near the front underside of the array through which you can see the cap of the sonar-gain adjustment potentiometer. Using a small flat-blade screwdriver, turn the gain control counterclockwise to make the sonar less sensitive to external noise and false echoes.
Low sonar-gain settings reduce the robot’s ability to see small objects. Under some circumstances, that is desirable. For instance, attenuate the sonar if you are operating in a noisy environment or on uneven or highly reflective floor, a heavy shag carpet, for example. If the sonar are too sensitive, they will “see” the carpet immediately ahead of the robot as an obstacle.
Increase the sensitivity of the sonar by turning the gain-adjustment screw clockwise, making them more likely to see small objects or objects at a greater distance. For instance, increase the gain if youare operating in a relatively quiet and open environment with a smooth floor surface.
By Mobile Robots©
Hint
See more in the manual.
Motors¶
Cacic is a four wheeled robot, but it has only two motors, one for each side. A drive belt transfer the rotation to the wheels.

[Hot] Wheels¶
Cacic has two types of wheels, off road and indoor. The first one is for outdoor enviroment and rough terrains:

and the second is for flat surfaces/floors:

Odometry¶
Odometry is the use of data from motion sensors to estimate change in position over time. Cacic and others Pioneer-3AT has in its motors sensors (position encoders) that senses the rotation velocity then the microcontroller? or p2os? integrates this data and estimates the robot’s pose relative to a starting location.
Computer¶
Cacic has onboard computer where the sofware run.

Computer Specs¶
- Pentium M 745 1.8 GHz
- RAM 1 GB DRR2
- HD 120 GB
- 2 RS232, one for robot’s microcontroller
- 2 USB
- Interface PC/104+
- WiFi
- Camera’s framegrabber
- VGA out
Batteries¶
Cacic contain three sealed lead-acid batteries accessible through a hinged and latched rear door. The batteries charge life typically ranges from two to three hours.
Important
Batteries have a significant impact on the balance and operation of your robot. Under most conditions, we recommend operating with three batteries. Otherwise, a single battery should be mounted in the center, or two batteries inserted on each side of the battery container.
By Mobile Robots©
Batteries Specs¶
- Lead-acid
- Sealed
- 12 VDC
- 4 Ah
- With 3 batteries, 252 Wh
- Hot-swappable
Battery Indicators and Low Voltage Conditions¶
The User Control Panel [1] has a bi-color LED labeled BATTERY that visually indicates current battery voltage. From approximately 12.5 volts and above, the LED glows bright green. The LED turns progressively orange and then red as the voltage drops to approximately 11.5 volts.
Arually, the buzzer will sound a repetitive alarm if the battery voltage drops below 11.5 VDC. If the battery voltage drops below 11 VDC the microcontroller automatically shuts down a client connection and notifies the computer to shut down.
Note
The batteries voltage is monitored by a own package, this package if necessary notifies the user and shut down automatically the operating system. See more in robot monitor.
Recharging¶
Standart Charger¶
This accessory recharge the batteries in the fast-charge mode (4A maximum current). The fast-charge mode is showed with an orange LED and trickle mode by a green LED, which the batteries are given only enough current to remain at full charge.
Warning
In the fast-charge mode, care must be taken to charge at least two batteries at once. A single battery may overcharge and thereby damage both itself and the robot.
ROS¶
The Robot Operating System (ROS) is a flexible framework for writing robot software. It is a collection of tools, libraries, and conventions that aim to simplify the task of creating complex and robust robot behavior across a wide variety of robotic platforms. ROS has chosen as CACIC’s framework because within it we can develop robotics software together with the community. Below are listed the packages that today are used and tested in the robot. To learn how to use ROS in the robot please click here
Description of the Robot¶
Custom package that contains the configuration files for CACIC, e.g. CAD, map, hardware configuration, hardware communication and navigation files. View the package in github.
p2os stack¶
The p2os is a stack, collection of packages that interface robot’s microcontroller with the ROS system.
hokuyo_node¶
hokuyo_node provide data stream from Hokuyo laser range finders.