Giter VIP home page Giter VIP logo

turtlebot2-on-melodic's Introduction

Turtlebot2-On-Melodic

Make your Turtlebot2 run on ROS Melodic (Ubuntu 18.04).

This project referenced this issue. Thanks to the work of bunchofcoders and ProfJust.

Prerequisites

  • ROS Melodic on Ubuntu 18
  • Turtlebot2

Build Turtlebot2 Workspace

Firstly, cd to your catkin workspace.

If you don't have one, cd to somewhere you want to create it, and then run the following commands to create one

mkdir -p src
catkin_make

Now run the following command (inside the root of catkin workspace) to build up running environment for Turtlebot2

curl -sLf https://raw.githubusercontent.com/gaunthan/Turtlebot2-On-Melodic/master/install_basic.sh | bash
catkin_make

Bring Up Turtlebot2

Now connect a turtlebot2 to the computer. After that, run this command to bring up the Turtlebot2

source ./devel/setup.bash
roslaunch turtlebot_bringup minimal.launch

If nothing wrong, you will hear the Turtlebot2 give out a reminder.

Test Turtlebot2

If you want to use keyboard to control it, just run the following command

source ./devel/setup.bash
roslaunch turtlebot_teleop keyboard_teleop.launch

And it will output something like this

ROS_MASTER_URI=http://localhost:11311

process[turtlebot_teleop_keyboard-1]: started with pid [23757]

Control Your Turtlebot!
---------------------------
Moving around:
   u    i    o
   j    k    l
   m    ,    .

q/z : increase/decrease max speeds by 10%
w/x : increase/decrease only linear speed by 10%
e/c : increase/decrease only angular speed by 10%
space key, k : force stop
anything else : stop smoothly

CTRL-C to quit

currently:	speed 0.2	turn 1 

Now you should be able to use keyboard to control your Turtlebot2.

If you want to use ROS Topics to control it, just run the following command

rostopic pub -r 10 /mobile_base/commands/velocity geometry_msgs/Twist '{linear: {x: 0.3}, angular: {z: 1.0}}'

turtlebot2-on-melodic's People

Contributors

gaunthan avatar hanzheteng avatar kohe11 avatar marvinferber avatar pj-rione avatar rione-home avatar saki0920 avatar surfertas avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

turtlebot2-on-melodic's Issues

Motors not moving.

Hi

I have installed ROS melodic succesfully on the computer of the robot. I can launch roslaunch turtlebot_bringup minimal.launch and I then hear a beep from the robot.

The problem comes when I run roslaunch turtlebot_teleop keyboard_teleop.launch. The robot will connect and no error message will pop up but when I press the keys on my keyboard the speed in the terminal will increment but the motors wont move.

The robot is turned on.
System is a Jetson Nano connected with USB to a kobuki base. I dont own the entire turtlebot 2 just the kobuki base which is the same as the one on the turtlebot 2.

If you need any more info please ask.

Greetings

Sieuwe

Problem to run roslaunch turtlebot_bringup minimal.launch

[ERROR] [1597454622.033235807]: Failed to load nodelet [/mobile_base] of type [kobuki_node/KobukiNodelet] even after refreshing the cache: Could not find library corresponding to plugin kobuki_node/KobukiNodelet. Make sure the plugin description XML file has the correct name of the library and that the library actually exists.
[ERROR] [1597454622.033383727]: The error before refreshing the cache was: Could not find library corresponding to plugin kobuki_node/KobukiNodelet. Make sure the plugin description XML file has the correct name of the library and that the library actually exists.
[FATAL] [1597454622.034028377]: Failed to load nodelet '/mobile_baseof typekobuki_node/KobukiNodeletto managermobile_base_nodelet_manager'
[mobile_base-5] process has died [pid 25483, exit code 255, cmd /opt/ros/melodic/lib/nodelet/nodelet load kobuki_node/KobukiNodelet mobile_base_nodelet_manager mobile_base/odom:=odom mobile_base/enable:=enable mobile_base/disable:=disable mobile_base/joint_states:=joint_states __name:=mobile_base __log:=/home/tg/.ros/log/f14d8ddc-de95-11ea-9787-c4e98410a9ed/mobile_base-5.log].
log file: /home/tg/.ros/log/f14d8ddc-de95-11ea-9787-c4e98410a9ed/mobile_base-5*.log
[WARN] [1597454622.873589]: Battery : unable to check laptop battery info [/sys/class/power_supply/BAT0/charge_full_design || /sys/class/power_supply/BAT0/energy_full_design does not exist

Turtlebot2 in Gazebo with Melodic

Hello!

I know this might not be a real issue for this repo, but it seems as you guys are the only one talking about ROS Melodic and Turtlebot 2.

I've tried to start gazebo to simply control the turtlebot with the keyboard. So I executed roslaunch turtlebot_gazebo turtlebot _world.launch and roslaunch turtlebot_teleop keyboard_teleop.launch. But it seems as this would not work. Gazebo throws some errors concerning the depth camera etc., but i think this is not the actual problem.

Does anyone can help me?

[ERROR] [1567606707.000028044, 0.190000000]: Failed to load nodelet [/depthimage_to_laserscan] of type [depthimage_to_laserscan/DepthImageToLaserScanNodelet] even after refreshing the cache: According to the loaded plugin descriptions the class depthimage_to_laserscan/DepthImageToLaserScanNodelet with base class type nodelet::Nodelet does not exist. Declared types are depth_image_proc/convert_metric depth_image_proc/crop_foremost depth_image_proc/disparity depth_image_proc/point_cloud_xyz depth_image_proc/point_cloud_xyz_radial depth_image_proc/point_cloud_xyzi depth_image_proc/point_cloud_xyzi_radial depth_image_proc/point_cloud_xyzrgb depth_image_proc/register image_proc/crop_decimate image_proc/crop_nonZero image_proc/crop_non_zero image_proc/debayer image_proc/rectify image_proc/resize image_publisher/image_publisher image_rotate/image_rotate image_view/disparity image_view/image kobuki_bumper2pc/Bumper2PcNodelet kobuki_node/KobukiNodelet kobuki_safety_controller/SafetyControllerNodelet nodelet_tutorial_math/Plus pcl/BAGReader pcl/BoundaryEstimation pcl/ConvexHull2D pcl/CropBox pcl/EuclideanClusterExtraction pcl/ExtractIndices pcl/ExtractPolygonalPrismData pcl/FPFHEstimation pcl/FPFHEstimationOMP pcl/MomentInvariantsEstimation pcl/MovingLeastSquares pcl/NodeletDEMUX pcl/NodeletMUX pcl/NormalEstimation pcl/NormalEstimationOMP pcl/NormalEstimationTBB pcl/PCDReader pcl/PCDWriter pcl/PFHEstimation pcl/PassThrough pcl/PointCloudConcatenateDataSynchronizer pcl/PointCloudConcatenateFieldsSynchronizer pcl/PrincipalCurvaturesEstimation pcl/ProjectInliers pcl/RadiusOutlierRemoval pcl/SACSegmentation pcl/SACSegmentationFromNormals pcl/SHOTEstimation pcl/SHOTEstimationOMP pcl/SegmentDifferences pcl/StatisticalOutlierRemoval pcl/VFHEstimation pcl/VoxelGrid stereo_image_proc/disparity stereo_image_proc/point_cloud2 turtlebot_follower/TurtlebotFollower yocs_cmd_vel_mux/CmdVelMuxNodelet [ERROR] [1567606707.000133371, 0.190000000]: The error before refreshing the cache was: According to the loaded plugin descriptions the class depthimage_to_laserscan/DepthImageToLaserScanNodelet with base class type nodelet::Nodelet does not exist. Declared types are depth_image_proc/convert_metric depth_image_proc/crop_foremost depth_image_proc/disparity depth_image_proc/point_cloud_xyz depth_image_proc/point_cloud_xyz_radial depth_image_proc/point_cloud_xyzi depth_image_proc/point_cloud_xyzi_radial depth_image_proc/point_cloud_xyzrgb depth_image_proc/register image_proc/crop_decimate image_proc/crop_nonZero image_proc/crop_non_zero image_proc/debayer image_proc/rectify image_proc/resize image_publisher/image_publisher image_rotate/image_rotate image_view/disparity image_view/image kobuki_bumper2pc/Bumper2PcNodelet kobuki_node/KobukiNodelet kobuki_safety_controller/SafetyControllerNodelet nodelet_tutorial_math/Plus pcl/BAGReader pcl/BoundaryEstimation pcl/ConvexHull2D pcl/CropBox pcl/EuclideanClusterExtraction pcl/ExtractIndices pcl/ExtractPolygonalPrismData pcl/FPFHEstimation pcl/FPFHEstimationOMP pcl/MomentInvariantsEstimation pcl/MovingLeastSquares pcl/NodeletDEMUX pcl/NodeletMUX pcl/NormalEstimation pcl/NormalEstimationOMP pcl/NormalEstimationTBB pcl/PCDReader pcl/PCDWriter pcl/PFHEstimation pcl/PassThrough pcl/PointCloudConcatenateDataSynchronizer pcl/PointCloudConcatenateFieldsSynchronizer pcl/PrincipalCurvaturesEstimation pcl/ProjectInliers pcl/RadiusOutlierRemoval pcl/SACSegmentation pcl/SACSegmentationFromNormals pcl/SHOTEstimation pcl/SHOTEstimationOMP pcl/SegmentDifferences pcl/StatisticalOutlierRemoval pcl/VFHEstimation pcl/VoxelGrid stereo_image_proc/disparity stereo_image_proc/point_cloud2 turtlebot_follower/TurtlebotFollower yocs_cmd_vel_mux/CmdVelMuxNodelet [FATAL] [1567606707.000422297, 0.190000000]: Failed to load nodelet '/depthimage_to_laserscan of type depthimage_to_laserscan/DepthImageToLaserScanNodelet to manager laserscan_nodelet_manager' [depthimage_to_laserscan-10] process has died [pid 16492, exit code 255, cmd /opt/ros/melodic/lib/nodelet/nodelet load depthimage_to_laserscan/DepthImageToLaserScanNodelet laserscan_nodelet_manager image:=/camera/depth/image_raw scan:=/scan __name:=depthimage_to_laserscan __log:=/home/robonav/.ros/log/db118a78-cf1e-11e9-a8b8-f45c89bf254d/depthimage_to_laserscan-10.log]. log file: /home/robonav/.ros/log/db118a78-cf1e-11e9-a8b8-f45c89bf254d/depthimage_to_laserscan-10*.log

Turtlebot2 can't work on Gazebo

Hi all,
I met this problem: when I try to launch turtlebot_world.launch, I met this problem:

[gazebo-1] process has died [pid 31568, exit code 255, cmd /opt/ros/melodic/lib/gazebo_ros/gzserver -e ode /home/yzzhang/turtlebot_ws/src/turtlebot_simulator/turtlebot_gazebo/worlds/playground.world __name:=gazebo __log:=/home/yzzhang/.ros/log/24efc740-3552-11ec-8f5a-7440bb03d7dd/gazebo-1.log].
log file: /home/yzzhang/.ros/log/24efc740-3552-11ec-8f5a-7440bb03d7dd/gazebo-1*.log
[ INFO] [1635138769.099442427]: Finished loading Gazebo ROS API Plugin.
[ INFO] [1635138769.100779969]: waitForService: Service [/gazebo_gui/set_physics_properties] has not been advertised, waiting...

I'm a new learner on ROS & gazebo, could anyone help me out what's going on here?
Thanks!!!

wheel_left_joint and wheel_right_joint are not in tf tree

When I use command roslaunch turtlebot_bringup minimal.launch to launch turtlebot, the terminal prints the following information:

... logging to /home/scuimg/.ros/log/6dadad54-9b92-11ea-98f7-4a0c02312ac9/roslaunch-scuimg-nano-18492.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

xacro: in-order processing became default in ROS Melodic. You can drop the option.
Deprecated: xacro tag 'kobuki' w/o 'xacro:' xml namespace prefix (will be forbidden in Noetic)
when processing file: /home/scuimg/turtlebot_ws/src/turtlebot/turtlebot_description/robots/kobuki_hexagons_asus_xtion_pro.urdf.xacro
Use the following command to fix incorrect tag usage:
find . -iname "*.xacro" | xargs sed -i 's#<\([/]\?\)\(if\|unless\|include\|arg\|property\|macro\|insert_block\)#<\1xacro:\2#g'

started roslaunch server http://192.168.0.115:46097/

SUMMARY
========

PARAMETERS
 * /bumper2pointcloud/pointcloud_radius: 0.24
 * /cmd_vel_mux/yaml_cfg_file: /home/scuimg/turt...
 * /diagnostic_aggregator/analyzers/input_ports/contains: ['Digital Input',...
 * /diagnostic_aggregator/analyzers/input_ports/path: Input Ports
 * /diagnostic_aggregator/analyzers/input_ports/remove_prefix: mobile_base_nodel...
 * /diagnostic_aggregator/analyzers/input_ports/timeout: 5.0
 * /diagnostic_aggregator/analyzers/input_ports/type: diagnostic_aggreg...
 * /diagnostic_aggregator/analyzers/kobuki/contains: ['Watchdog', 'Mot...
 * /diagnostic_aggregator/analyzers/kobuki/path: Kobuki
 * /diagnostic_aggregator/analyzers/kobuki/remove_prefix: mobile_base_nodel...
 * /diagnostic_aggregator/analyzers/kobuki/timeout: 5.0
 * /diagnostic_aggregator/analyzers/kobuki/type: diagnostic_aggreg...
 * /diagnostic_aggregator/analyzers/power/contains: ['Battery', 'Lapt...
 * /diagnostic_aggregator/analyzers/power/path: Power System
 * /diagnostic_aggregator/analyzers/power/remove_prefix: mobile_base_nodel...
 * /diagnostic_aggregator/analyzers/power/timeout: 5.0
 * /diagnostic_aggregator/analyzers/power/type: diagnostic_aggreg...
 * /diagnostic_aggregator/analyzers/sensors/contains: ['Cliff Sensor', ...
 * /diagnostic_aggregator/analyzers/sensors/path: Sensors
 * /diagnostic_aggregator/analyzers/sensors/remove_prefix: mobile_base_nodel...
 * /diagnostic_aggregator/analyzers/sensors/timeout: 5.0
 * /diagnostic_aggregator/analyzers/sensors/type: diagnostic_aggreg...
 * /diagnostic_aggregator/base_path: 
 * /diagnostic_aggregator/pub_rate: 1.0
 * /mobile_base/base_frame: base_footprint
 * /mobile_base/battery_capacity: 16.5
 * /mobile_base/battery_dangerous: 13.2
 * /mobile_base/battery_low: 14.0
 * /mobile_base/cmd_vel_timeout: 0.6
 * /mobile_base/device_port: /dev/kobuki
 * /mobile_base/odom_frame: odom
 * /mobile_base/publish_tf: True
 * /mobile_base/use_imu_heading: True
 * /mobile_base/wheel_left_joint_name: wheel_left_joint
 * /mobile_base/wheel_right_joint_name: wheel_right_joint
 * /robot/name: turtlebot
 * /robot/type: turtlebot
 * /robot_description: <?xml version="1....
 * /robot_state_publisher/publish_frequency: 5.0
 * /rosdistro: melodic
 * /rosversion: 1.14.5
 * /turtlebot_laptop_battery/acpi_path: /sys/class/power_...
 * /use_sim_time: False

NODES
  /
    bumper2pointcloud (nodelet/nodelet)
    cmd_vel_mux (nodelet/nodelet)
    diagnostic_aggregator (diagnostic_aggregator/aggregator_node)
    mobile_base (nodelet/nodelet)
    mobile_base_nodelet_manager (nodelet/nodelet)
    robot_state_publisher (robot_state_publisher/robot_state_publisher)
    turtlebot_laptop_battery (laptop_battery_monitor/laptop_battery.py)

auto-starting new master
process[master]: started with pid [18505]
ROS_MASTER_URI=http://192.168.0.115:11311

setting /run_id to 6dadad54-9b92-11ea-98f7-4a0c02312ac9
process[rosout-1]: started with pid [18516]
started core service [/rosout]
process[robot_state_publisher-2]: started with pid [18523]
process[diagnostic_aggregator-3]: started with pid [18524]
process[mobile_base_nodelet_manager-4]: started with pid [18525]
process[mobile_base-5]: started with pid [18531]
process[bumper2pointcloud-6]: started with pid [18536]
process[cmd_vel_mux-7]: started with pid [18539]
ERROR: cannot launch node of type [laptop_battery_monitor/laptop_battery.py]: laptop_battery_monitor
ROS path [0]=/opt/ros/melodic/share/ros
ROS path [1]=/home/scuimg/myrobot/src
ROS path [2]=/home/scuimg/turtlebot_ws/src
ROS path [3]=/home/scuimg/catkin_ws/src
ROS path [4]=/opt/ros/melodic/share
[ WARN] [1590086387.478923809]: Kobuki : Robot firmware is outdated; we suggest you to upgrade it to benefit from the latest features. Consult how-to on: http://kobuki.yujinrobot.com/home-en/documentation/howtos/upgrading-firmware
[ WARN] [1590086387.479120531]: Kobuki : Robot firmware version is 1.1.4; latest version is 1.2.x

When I checked the tf tree, I did not find wheel_left_joint and wheel_right_joint in it.
frames

Is this the same for yours?

rviz is not working

Rviz, at least using Gazebo, is not working. It is not able to load the robot model. If a run view_robot and then run view_model again, the robot appears but not sensor/actuator works (so the robot does not move or read from sensor data). Can you help me?

Everything is working except /odom

Hello,

I have a launch file that gets everything working in Gazebo but a key function isn't running that handles the odom data.

My launch file:

<launch>

	<!-- default params -->
	<arg name="use_gazebo_gui"	default="false" />
	<arg name="gazebo_world"	default="gazebo_large.world" />
	<arg name="world_only"		default="false" /> 	<!-- for editing the world -->

	<!-- simulator -->
	<include file="$(find gazebo_ros)/launch/empty_world.launch">
		<env name="GAZEBO_RESOURCE_PATH" value="$(find nm_navigation)/conf" />
		<arg name="world_name" value="$(arg gazebo_world)" />

		<arg name="paused" value="false" />
		<arg name="use_sim_time" value="true" />
		<arg name="gui" value="$(arg use_gazebo_gui)" />
		<arg name="debug" value="false" />
		<arg name="verbose" value="false" />
	</include>

	<!-- create robot -->
	<group unless="$(arg world_only)" >
		<arg name="model" default="burger"/>
		<arg name="x_pos" default="0.0"/>
		<arg name="y_pos" default="0.0"/>
		<arg name="z_pos" default="0.0"/>

		<param name="robot_description" command="$(find xacro)/xacro --inorder $(find turtlebot_description)/robots/kobuki_hexagons_astra.urdf.xacro" />

		<node pkg="gazebo_ros" type="spawn_model" name="spawn_urdf" args="-urdf -model kobuki_hexagons_astra -x $(arg x_pos) -y $(arg y_pos) -z $(arg z_pos) -param robot_description" />
	</group>

 	<node pkg="robot_state_publisher" type="robot_state_publisher" name="robot_state_publisher" />

</launch>

The output not working in 18.04:

nathan@nathan-vm2:~/newmind$ roslaunch nm_navigation Gazebo.launch 
... logging to /home/nathan/.ros/log/004468c6-67c5-11ea-8e8e-0800272e6e3a/roslaunch-nathan-vm2-28781.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

xacro: in-order processing became default in ROS Melodic. You can drop the option.
Deprecated: xacro tag 'kobuki_sim' w/o 'xacro:' xml namespace prefix (will be forbidden in Noetic)
when processing file: /home/nathan/newmind/src/turtlebot/turtlebot_description/robots/kobuki_hexagons_astra.urdf.xacro
Use the following command to fix incorrect tag usage:
find . -iname "*.xacro" | xargs sed -i 's#<\([/]\?\)\(if\|unless\|include\|arg\|property\|macro\|insert_block\)#<\1xacro:\2#g'

started roslaunch server http://nathan-vm2:45493/

SUMMARY
========

PARAMETERS
 * /gazebo/enable_ros_network: True
 * /robot_description: <?xml version="1....
 * /rosdistro: melodic
 * /rosversion: 1.14.3
 * /use_sim_time: True

NODES
  /
    gazebo (gazebo_ros/gzserver)
    robot_state_publisher (robot_state_publisher/robot_state_publisher)
    spawn_urdf (gazebo_ros/spawn_model)

auto-starting new master
process[master]: started with pid [28794]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to 004468c6-67c5-11ea-8e8e-0800272e6e3a
process[rosout-1]: started with pid [28805]
started core service [/rosout]
process[gazebo-2]: started with pid [28809]
process[spawn_urdf-3]: started with pid [28817]
process[robot_state_publisher-4]: started with pid [28818]
[N=/gazebo,F=GazeboRosApiPlugin::Load-168]: Finished loading Gazebo ROS API Plugin.
[N=/gazebo,F=service::exists-80]: waitForService: Service [/gazebo/set_physics_properties] has not been advertised, waiting...
[N=/gazebo,F=service::waitForService-122]: waitForService: Service [/gazebo/set_physics_properties] is now available.
[N=/gazebo,F=GazeboRosApiPlugin::physicsReconfigureThread-2334]: Physics dynamic reconfigure ready.
[N=/gazebo,F=__cxx11::string gazebo::GetRobotNamespace-99]: Camera Plugin: Using the 'robotNamespace' param: '/'
[N=/gazebo,F=GazeboRosCameraUtils::LoadThread-305]: Camera Plugin (ns = /)  <tf_prefix_>, set to ""
[spawn_urdf-3] process has finished cleanly
log file: /home/nathan/.ros/log/004468c6-67c5-11ea-8e8e-0800272e6e3a/spawn_urdf-3*.log
^C[robot_state_publisher-4] killing on exit
[gazebo-2] killing on exit
[rosout-1] killing on exit
[master] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
done
nathan@nathan-vm2:~/newmind$ 

The output working in 16.04 but using the turtlebot_description installed from apt:
gazebo 16 04

Would you know why this package doesn't launch GazeboRos::readCommonParameter, GazeboRosKobuki::preparePublishTf, or GazeboRosKobuki::setupRosApi? Specifically, I need the advertisement for odom.

Turtlebot2 Simulation

Trying to run this in simulation. Gazebo runs and shows the Turtlebot and other objects. Running the

roslaunch turtlebot_teleop keyboard_teleop.launch

doesn't cause any movement. I don't see any message when looking at

/cmd_vel_mux/input/teleop

Any suggestions?

Also the depthimage_to_laserscan nodelet doesn't load but I'm not concerned about it at the moment.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.