Addendum - 2.8.6¶
NAOqi API & SDK¶
Battery management improved¶
NAO has a better Battery management system, it should stop spamming notifications.
The description of the related events have also been improved:
libqi’s default listen URL has changed¶
C++/CLI/python
libqi’s default listen URL has changed from tcp://0.0.0.0:9559
to tcp://127.0.0.1:9559
.
This setting can be changed using:
qi::Session::listen()
,qi::ApplicationSession::Config
,- the
QI_LISTEN_URL
environment variable or - the
--qi-listen-url
CLI option.
On the robot, QI_LISTEN_URL
is set to “0.0.0.0” in order to preserve the former behavior.
Hence, qi applications running on the robot can still be reached from the outside by default.
But qi applications running on users computers are not anymore.
Upgrade qiFramework from 1.0.5 to 1.6.10¶
- C++ API breakage: qi::Future returned qi::Strand::schedulerFor is not automatically unwrapped anymore. It impacts all qi::Strand or qi::Actor users.
- C++ API breakage: qi::Object’s conversion to bool is now explicit.
- C++ API breakage: qi::getIoService() was removed in 1.6.4
- qi-framework 1.6.9 provides complete support of optional libqi type.
- C++/CLI/python: libqi’s default listen URL has changed from tcp://0.0.0.0:9559 to tcp://127.0.0.1:9559. This setting can be changed using qi::Session::listen(), qi::ApplicationSession::Config, the QI_LISTEN_URL environment variable or the –qi-listen-url CLI option. On the robot, QI_LISTEN_URL is set to “0.0.0.0” in order to preserve the former behavior. Hence, qi applications running on the robot can still be reached from the outside by default. But qi applications running on users computers are not anymore.
- cmake: qi_gen_idl() behavior has changed, it must now be used together with qi_stage_dir.
- CLI: qilaunch: remove deprecated –module/-m argument.
For further details, see: qi Framework - ChangeLog.
Removal of deprecated modules, events, and methods¶
In order to clarify the API, a huge cleaning has been done.
Deprecated modules¶
The following modules have been removed:
- ALCloseObjectDetection
- ALLaser
- ALSegmentation3D
ALBattery¶
Method
ALBatteryProxy::enablePowerMonitoring
Events
ALBattery/BatteryLow()
BatteryChargeCellVoltageMinChanged()
BatteryFullChargedFlagChanged()
BatteryDisChargingFlagChanged()
BatteryEmpty()
BatteryLowDetected()
BatteryNearlyEmpty()
BatteryNotDetected()
ALBodyTemperature¶
All former methods deprecated and removed.
Methods
ALBodyTemperatureProxy::getTemperatureDiagnosis
ALBodyTemperatureProxy::areNotificationsEnabled
ALBodyTemperatureProxy::setEnableNotifications
Events
DeviceNoLongerHotDetected()
TemperatureDiagnosisErrorChanged()
HeadProcessorIsHot()
HeadProcessorIsCriticallyHot()
HotJointDetected()
ALDiagnosis¶
Methods
ALDiagnosisProxy::getDiagnosisStatus
ALDiagnosisProxy::isNotificationEnabled
ALDiagnosisProxy::setEnableNotification
Event
ALDiagnosis/DiagnosisErrorChanged()
ALDiagnosis/ActiveDiagnosisFinished()
ALMotion¶
Method
ALMotionProxy::isCollision
ALMotionProxy::areNotificationsEnabled
ALMotionProxy::setEnableNotifications
Events
ALMotion/Safety/RobotPushed()
ALMotion/Stiffness/restStarted()
ALMotion/Stiffness/restFinished()
ALMotion/Protection/DisabledFeaturesChanged()
ALVideoDevice¶
ALVideoDeviceProxy::onClientDisconnected
ALVideoDeviceProxy::subscribe
ALVideoDeviceProxy::unsubscribeAllInstances
ALVideoDeviceProxy::getVIMResolution
ALVideoDeviceProxy::getVIMColorSpace
ALVideoDeviceProxy::getVIMFrameRate
ALVideoDeviceProxy::getGVMResolution
ALVideoDeviceProxy::getGVMColorSpace
ALVideoDeviceProxy::getGVMFrameRate
- ALVideoDeviceProxy::startFrameGrabber()
- ALVideoDeviceProxy::stopFrameGrabber()
- ALVideoDeviceProxy::isFrameGrabberOff()
ALVideoDeviceProxy::getCameraModelID
ALVideoDeviceProxy::setParam
ALVideoDeviceProxy::getParam
ALVideoDeviceProxy::getAngPosFromImgPos
ALVideoDeviceProxy::getAngSizeFromImgSize
ALVideoDeviceProxy::getImgInfoFromAngInfo
ALVideoDeviceProxy::getImgInfoFromAngInfoWithRes
ALVideoDeviceProxy::getImgPosFromAngPos
ALVideoDeviceProxy::getImgSizeFromAngSize
- ALVideoDeviceProxy::getExpectedImageParameters()
ALVideoDeviceProxy::setSimCamInputSize
- ALVideoDeviceProxy::putImage()
ALVideoDeviceProxy::resolutionToSizes
ALVideoDeviceProxy::sizesToResolution
- ALVideoDeviceProxy::startFrameGrabber()
- ALVideoDeviceProxy::stopFrameGrabber()
- ALVideoDeviceProxy::isFrameGrabberOff()
ALVideoDeviceProxy::recordVideo
ALVideoDeviceProxy::stopVideo
Choregraphe¶
Boxes re-factory¶
Following the API cleanup, some boxes have been re-factored. Here is the list of the impacted boxes, you should update in your former applications:
- “Select Camera”
- “Collision Display”
- “Has Hardware”
- “Battery”
We also fixed some bugs on others:
- “Learn Face”
- “Sonar”
NAOqi OS¶
NAOqi OS - user account¶
Running a command as root user is only possible using sudo command.
For further details, see: NAOqi OS - user account.
Debugging and investigating on the robot has evolved¶
- Logging is now done with journald
- minidump files naming has changed on the robot.
For further details, see: Debugging and investigating on the robot.
New, updated and removed packages¶
The history of new, updated and removed packages is so long it would be too fastidious to read.
It is easier to refer directly to the current list: Open Source Projects.
New tool installed on robot: blackbox2csv¶
blackbox2csv is a CLI utility which can convert most of the information from an ALMotion blackbox to a table in CSV format.