Microsoft Windows 10 has officially supported ROS since May 2019. This is, of course, an opportunity for Microsoft to expose its Azure platform to the ROS community. Microsoft is expanding its ROS/ROS2 support with new robotics development tools announced at ROSCon in Macau.
The new tools include a Visual Studio Code extension for ROS, Azure VM ROS template support for testing and simulation, an Azure Kinect ROS Driver, and more. Up first is the Visual Studio Code extension for ROS, which Microsoft previewed in July. Some of the new features include:
- Automatic environment configuration for ROS development
- Starting, stopping and monitoring of ROS runtime status
- Automatic discovery of build tasks
- One-click ROS package creation
- Shortcuts for rosrun and roslaunch
- Linux ROS development
For ROS2, the extension supports workspace discovery, runtime status monitor and built tool integration.
Microsoft showcased an Azure Kinect Developer Kit, which is its latest Kinect sensor. It contains the same depth sensor used in the Hololens 2, as well as a 4K camera, a hardware-synchronized accelerometer & gyroscope (IMU), and a 7-element microphone array. Along with the hardware release, there is a ROS node for driving the Azure Kinect. It will soon support ROS2.
Microsoft said the Azure Kinect ROS Node emits a PointCloud2 stream, which includes depth and color information, along with depth images, the raw image data from both the IR & RGB cameras and high-rate IMU data. A contribution from the ROS community has also enabled body tracking, Microsoft said. This links to the Azure Kinect Body Tracking SDK and outputs image masks of each tracked individual and poses of body tracking joints as markers.
There is also now a Windows Machine Learning API that enables robotics developers to use pre-trained machine learning models. Microsoft said Windows Machine Learning ROS Node will accelerate the inferencing of machine learning models, publishing a visualization marker relative to the frame of image publisher. The output of Windows ML can be used for obstacle avoidance, docking or manipulation.
You can learn more about Microsoft’s new ROS-related robotics development tools on the Windows Developer Blog.