Pioneer 2 Operating System

housekeeping functions, start its sonar and motor controllers (among other things), listen for client commands, and begin transmitting server information to the client.

Note that once connected, Pioneer 2's and PeopleBot’s motors are disabled, regardless of their state when last connected. After starting a connection, you must either enable the motors manually (white MOTORS button) or send the P2OS motors ENABLE command with the argument 1; sfRobotComInt(4,1), for example.19

Keeping the Beat—PULSE

A P2OS safety watchdog expects that the controller receives at least one communication packet from the client every watchdog seconds (default is two). Otherwise, it assumes the client-server connection is broken and stops the robot.

It’s good practice to have the client send a PULSE command just after opening the P2OS servers. And if your client application will be otherwise distracted for some time, periodically issue the PULSE command to let P2OS know you are indeed alive and well. If the robot shuts down due to lack of communications traffic, it will revive upon receipt of a client command and automatically accelerate to the last-specified speed and heading setpoints.

Closing the Connection—CLOSE

To close the client-server connection, disabling the motors and sonar, and resetting P2OS to its wait state, simply issue the client CLOSE command.

Movement Commands

The P2OS motor-control servers accept several different motion com- mands of two mutually exclusive types: either direct wheel-velocities or translational/rotational motor controls. The robot

servers automatically abandon any P2OS translational or rotational setpoints and switch to

direct wheel-velocity control mode when they receive a VEL2 command.

Any other motion command makes P2OS abandon direct wheel- velocity control.

For example, if P2OS is in

direct-wheel velocity (VEL2) mode and is given a HEAD command, it disables that direct-wheel velocity mode and starts controlling the heading

Table 7. P2OS movement commands

Rotation

HEAD

Absolute heading

 

 

DHEAD,

Differential heading from control point

DCHEAD

 

 

 

ROTATE

Rotational speed

 

 

SETRA

Rotational (de)acceleration to achieve setpoint

 

 

SETRV

Sets maximum rotational velocity and is

 

velocity used for Colbert turn and turnto

 

command speeds.

 

 

Translation

 

 

 

VEL

Forward/back velocity

 

 

MOVE

Forward/back distance

 

 

SETA

Translation (de)acceleration to achieve setpoint

 

 

SETV

Sets maximum translational velocity and is

 

used for Colbert move command speed.

 

 

19Alternatively, disable the motors with the ENABLE command argument 0.

36

Page 42
Image 42
Pioneer 2 / PeopleBot manual Movement Commands, Keeping the Beat-PULSE, Closing the Connection-CLOSE

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.