Pioneer 2 Operating System

Position Integration

Pioneer keeps track of its position and orientation based on dead-reckoning from wheel motion, which is an internal coordinate position.

0

+X

Front

+90 +Y

+270

+180

Figure 21. Internal coordinate system for P2OS

Registration between external and internal coordinates deteriorates rapidly with movement, due to gearbox play, wheel imbalance and slippage, and many other real- world factors. You can rely on the dead-reckoning ability of the robot for just a short range—on the order of several meters and one or two revolutions, depending on the surface. Carpets tend to be worse than hard floors.

Also, moving either too fast or too slow tends to exacerbate the ab- solute position errors. Accordingly, consider the robot’s dead-reckon- ing capability as a means of tying together sensor readings taken over a short period of time, not as a method of keeping the robot on course in a global map.

The orientation commands HEAD and DHEAD turn the robot with respect to its internal dead-reckoned angle. On start-up, the robot is at the origin (0,0), pointing toward the positive X-axis at 0 degrees. Absolute angles vary between 0 and 359. As the robot moves, it will update this internal position based on dead-reckoning. The X,Y position is always positive, and rolls over at about 3,000 millimeters. So, if the robot is at position (400,2900) and moves 400 millimeters along the Y-axis and -600 millimeters along the X- axis, its new position will be (2800,300).

You may reset the internal coordinates to 0,0,0 with the SETO P2OS command.

Sonar

When OPENed (see Opening the Servers—OPENabove), P2OS automatically begins firing your robot’s sonar arrays in the predefined default sequence: 18, 916, 1724, and 2532, one sonar per array simultaneously.20 P2OS also begins sending the sonar-ranging results to the client via the server-information packet. Use the SONAR command to enable (argument is "1") or disable (argument is "0") the sonar pinging. This is an all or nothing command; you cannot disable a single array this way.

For example:

sfRobotComInt(sfCOMSONAR,0); /* Stop the pinging when not needed */

Use the sonar POLLING command to change the polling sequence of an array. Its argument is a null-terminated string of up to 15 sonar numbers. Front sonar are numbered \001 through \010 (octal), and the rear sonar are \011 through \100, for

20See the next chapter for details on how to enable sonar arrays with p2oscf.

38

Page 44
Image 44
Pioneer 2 / PeopleBot manual Sonar, Position Integration

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.