Replies: 2 comments 3 replies
-
Disclaimer: Just an owner - not iRobot affiliated I also could not find any further documentation, only the examples that refer to sensors 2,3,4 as "front" (and the Playground PDF doc). In my robot I use the following labels: LABELS = ["side_left", "left", "front_left", "front_center_left", I have found values returned to be in the range 14 to 44 when the normal distance between a white obstacle and the sensor/bumper is around 0.4 meters, and in the range of 3111 to 3784 when the distance is 0.15 meters. The values vary with the individual sensor, obstacle color, surface reflectivity, and incidence angle of flat obstacles - such that the distance estimate can be no better than 0.050 to 0.100 meters even if you attempt to use them as distance sensors (and black objects are invisible BTW).
The sensors function best as "proximity sensors" as in "if greater than 50 there is (probably) something close". They are not intended to be used as "distance sensors". |
Beta Was this translation helpful? Give feedback.
-
You're right, we make you work for this one. Improving the documentation of the SDK is on our to-do list. Have I mentioned we take friendly PRs? ;-) The source for get_ir_proximity is here; essentially, assuming an up-to-date robot, it just returns the raw 12-bit IR sensor returns in sequence from the packet. The packet definition can be found here. The sensors are daylight-blocking reflective IR sensors which seek to return a signal proportional to intensity received from themselves when bounced off a surface. That means, as @slowrunner has pointed out, that they are not distance sensors, and that their return values are surface-quality-dependent. Their locations can be found graphically on the docs site, but probably it's most instructive to look at the robot's URDF file where the order and location of sensors are listed. In short, the order is: side_left, left, front_left, front_center_left, front_center_right, front_right, right. If you look at the dimensional drawing I posted above (or the yaw offsets in the URDF), you'll see the sensors are not quite symmetric about the center of the robot, which is why the names are as long as they are. I know this is a lot, but I hope it helps. |
Beta Was this translation helpful? Give feedback.
-
How are you connecting to your Create 3?
Wi-Fi (ROS 2)
Computer(s) Model(s) and Operating System(s)
No response
Which version of ROS 2 is installed on your computer?
None
Which firmware version is installed on your robot?
G.5.3
Which RMW is your robot running?
I don't know
Does your robot have an assigned namespace? If so, please share.
No response
Is the robot connected to a network? If so, what is the network type?
No response
Are there multiple Create 3 robots connected to your network?
None
Is multicast enabled?
None
What is the Adapter Board's USB/BLE Toggle currently switched to?
None
Describe your question.
I did not yet find a detailled documentation of the Create3 commands – e.g. using this command:
sensor_data = await robot.get_ir_proximity()
The examples under python.irobot.com already help a lot, however, I am looking for a more detailled documentation of the Create3 commands.
Thanks for your inputs and best regards
Martin
Beta Was this translation helpful? Give feedback.
All reactions