Pioneer 2 Operating System

sfSMessage("Port# % reads %i",sfRobot.timer, sfRobot.analog); Port# 5 reads 33

sfRobotComInt(35,2);

sfSMessage("Port# % reads %i",sfRobot.timer, sfRobot.analog); Port# 2 reads 224

DIGOUT and PSUPOS

The eight digital output ports on the P2OS controller’s User I/O connector are both reported in the standard SIP (digout) and controllable with the P2OS commands DIGOUT and PTUPOS. Electrically, the ports are digital high (1) at ~5 VDC (Vcc) and low (0) at ~0 VDC (GND).

For example, to read the state of the digital output ports with Saphira:

sfSMessage("Digout is %i",sfRobot.digout); Digout is 240

Use the P2OS DIGOUT command to select and change the state of one or more of the output ports at a time. DIGOUT takes a 2 byte (unsigned integer) argument. The first byte is a mask whose bit pattern selects (1) or ignores (0) the state of the corresponding bit in the second byte to set (1) or unset (0) the digital output port.

For example, you might use Saphira to set digital output ports 1 and 3, reset port 4, and leave all the rest alone (retain original state):

sfRobotComInt2Bytes(30, 0x19, 0x09);

The digital output ports OD0-4 may also be used for pulse-width-modulated (PWM) control of accessories, such as DC motor speed or RC-servo motor position control. Use the PTUPOS command to select a port (msbyte) and specify its pulse-width (lsbyte) in 10 µsecond units.

For example, to have a repeating one millisecond pulse appear on PWM port #1 (pin 1 on the User I/O connector):

sfRobotCom2Bytes(41,1,100);

You've got to disable a running PWM port to use it as a digital output port:

sfRobotCom2Bytes(41,1,0);

In P2OS versions 1.J and later, the duty cycle is 20ms, with a 0-2.55ms pulse corresponding to common RC-servo applications.

IOpac and IOREQUEST

P2OS 1.E introduced a new server information packet in which your P2OS-based robot controller reports all of its I/O-connected sensor input and output values in a single cycle.

Your client software must explicitly request IO packets; they normally are disabled. Use the P2OS IOREQUEST command #40 with an argument value of 0, 1, or 2. The argument 1 requests a single packet to be sent within the next cycle. The request argument value 2 tells P2OS to send IO packets continuously, at approximately one per cycle, depending on serial port speed and other pending SIPs. Use the IOREQUEST argument value 0 to stop continuous packets.

The common IOpac contains three digital input bytes, User I/O digin and two bumper state bytes, front followed by rear; one digital output byte (digout); and five analog-to- digital values corresponding to the ports AN1-5. Unlike the standard SIP, which contains

44

Page 50
Image 50
Pioneer 2 / PeopleBot manual Digout and Psupos, IOpac and Iorequest

2 / PeopleBot specifications

Pioneer 2, also known as PeopleBot, is an advanced mobile robot platform heralded for its versatile design and robust capabilities. Developed by the renowned robotics company Adept Technology, Pioneer 2 has become a staple in the field of mobile robotics, widely utilized for research, education, and practical applications in various industries.

One of the standout features of Pioneer 2 is its exceptional mobility. The robot is equipped with differential steering, allowing it to navigate complex environments with precision. Its compact and sturdy chassis enables it to traverse a variety of terrains, making it suitable for indoor and outdoor exploration. This mobility is further enhanced by an adaptable wheel configuration, allowing for smooth movement even over obstacles.

In terms of technologies, Pioneer 2 is outfitted with an array of sensors that facilitate autonomous navigation and obstacle avoidance. These sensors include laser range finders, infrared sensors, and bumpers, which work in tandem to map the surrounding environment and detect potential hazards. This capability is critical for applications in areas such as warehouse automation or reconnaissance tasks, where safe navigation is paramount.

Pioneer 2 also supports extensive software frameworks, notably the Robot Operating System (ROS). This compatibility allows researchers and developers to leverage a vast library of tools and algorithms, expediting the process of programming and deploying robotic applications. Additionally, the platform can be integrated with various payloads, such as cameras or grippers, expanding its functionality further.

Another significant characteristic of Pioneer 2 is its user-friendly design. The robot comes with an easy-to-use programming interface that empowers users with varying levels of expertise to engage with the technology. Educational institutions often employ Pioneer 2 in robotics courses to provide students with hands-on experience in programming and operating robotic systems.

Powering Pioneer 2 is a rechargeable battery system that ensures extended operation times. This feature is particularly advantageous for fieldwork applications where connectivity to a power source may not be readily available. Importantly, the robot’s modular design facilitates maintenance and upgrades, allowing users to keep their systems current with advances in technology.

Overall, Pioneer 2 (PeopleBot) exemplifies innovation in mobile robotics with its outstanding mobility, advanced sensing technologies, compatibility with leading software frameworks, and a design focused on ease of use and adaptability. It continues to be a preferred choice for researchers, educators, and professionals in the rapidly evolving landscape of robotics.