ActivMedia Robotics

Send the CONFIG command #18 with or without an argument to have P2OS send back a special server information packet containing the robot's operational parameters. The CONFIGpac SIP packet type is 32 (0x20). The next chapter gives details about the configuration packet data.

/* Send commands and retrieve responses via the P2OS AUX serial port */

#define SERAUXpac 0xB0 int serbytes, inbufptr; char inbuf[200];

...

/* Replace Saphira's default packet processor with

our own that can detect and parse SERAUXpac packets */ void myStartupFn(void)

{

sfInitProcess(myPackets, "GetAuxPkt");

sfRemoveTask("packets"); /* default packet processing */

...

}

/* SERAUXpac packet processor */ void myPackets(void)

{

char packet_type; if (sfIsConnected)

{

while(sfHaveClientPacket())

{

packet_type = sfReadClientByte(); if (packet_type == SERAUXpac)

{

/* get aux serbytes into inbuf */ while (inbufptr++ < serbytes)

inbuf[inbufptr] = sfReadClientByte();

}

/* If not SERAUXpac, send along to default */ else

sfProcessClientPacket(packet_type);

}

}

void main(int argc, char **argv)

{

/* Initialize client and connect with robot */

...

/* flush the aux buffer */

sfRobotComInt(43,0);

sfRobotComStrn(42,"fictitious command",18); /* send command to AUX device */ inbufptr = 0;

serbytes = 10; /* number of response bytes to retrieve */ sfRobotComInt(43,serbytes); /* Expect a 10 byte response */

...

}

SERAUXpac and GETAUX

P2OS 1.4 implemented two-way communications through the AUX serial port on the microcontroller. And with those earlier versions of P2OS, you are able to send a string of data (a command or otherwise) from the Host port-connected client to an AUX port- connected serial device (TTY2 command number 42), but you could not get data back from that device.

Now P2OS maintains a circular buffer for incoming serial data from the AUX port and sends successive portions of the buffer to your client via the Host port depending on the

41

Page 47
Image 47
Pioneer 2 / PeopleBot manual SERAUXpac and Getaux

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.