Code Monkey home page Code Monkey logo

effective_robotics_programming_with_ros's Introduction

Effective Robotics Programming with ROS - Third Edition

Effective Robotics Programming with ROS - Third Edition's book tutorials source code.

Authors

Installation

Install ROS Kinetic on a compatible Ubuntu distro following the official instructions provided here.

Install the OpenCV non-free repository:

sudo apt-get install software-properties-common python-software-properties
sudo add-apt-repository --yes ppa:xqms/opencv-nonfree
sudo apt-get update
sudo apt-get install libopencv-nonfree-dev libopencv-nonfree2.4v5

Create a workspace:

mkdir -p ~/dev/catkin_ws/src
cd ~/dev/catkin_ws/src
wstool init

Download the moveit_simple_grasps repository because it's no longer officially available as a debian:

wstool set moveit_simple_grasps -y --git [email protected]:efernandez/moveit_simple_grasps.git

Download this repository:

wstool set ros_book -y --git [email protected]:rosbook/effective_robotics_programming_with_ros.git
wstool up -j8

Install the dependencies:

cd ..
rosdep install --from-paths src -iy

Build the source code:

source /opt/ros/$(rosversion -d)/setup.bash
catkin build -j4 -p4 --cmake-args -DCMAKE_BUILD_TYPE=RelWithDebInfo
source devel/setup.bash

Tutorials

  • Chapter 1: Getting started with ROS (no source code as it covers the installation)
  • Chapter 2: ROS Architecture and Concepts
  • Chapter 3: Visualization and Debugging Tools
  • Chapter 4: 3D Modeling and Simulation
  • Chapter 5: The Navigation Stack - Robot Setups
  • Chapter 6: The Navigation Stack - Beyond Setups
  • Chapter 7: Manipulation with MoveIt!
  • Chapter 8: Using Sensors and Actuators with ROS
  • Chapter 9: Computer Vision
  • Chapter 10: Point Clouds

effective_robotics_programming_with_ros's People

Contributors

anilm3 avatar efernandez 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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

effective_robotics_programming_with_ros's Issues

Example close-loop control algorithm with PID

Hi,

Thanks for writing a book on ROS. Very helpful.

On the bottom of page 306 it says "In the code repository, you will find an example of close-loop control algorithm with PID, just in case you want to try it without developing your own control algorithm."

I wasn't able to find the example in the code repository.

Thanks for your help,

Matt

chapter 7.5.5 pkg "moveit_simple_grasps" catkin_make have error info

Hi,All
I download source of "moveit_simple_grasps" packge(kinetic) from github, after command catkin_make,sys indicated error info :
[ 18%] Built target moveit_simple_grasps_server
[ 35%] Built target moveit_simple_grasps_generate_messages_py
[ 52%] Built target moveit_simple_grasps_generate_messages_eus
[ 67%] Built target moveit_simple_grasps_generate_messages_nodejs
[ 83%] Built target moveit_simple_grasps_generate_messages_lisp
[ 98%] Built target moveit_simple_grasps_generate_messages_cpp
[ 98%] Built target moveit_simple_grasps_generate_messages
/home/fande/catkin_ws/src/moveit_simple_grasps/src/grasp_filter_test.cpp: In constructor ‘moveit_simple_grasps::GraspGeneratorTest::GraspGeneratorTest(int)’:
/home/fande/catkin_ws/src/moveit_simple_grasps/src/grasp_filter_test.cpp:138:20:
error: ‘class moveit_visual_tools::MoveItVisualTools’ has no member named ‘setFloorToBaseHeight’
visual_tools_->setFloorToBaseHeight(-0.9);
^
when I check issue info from https://github.com/davetcoleman/moveit_simple_grasps ,some met the same problem,but no solution.``

The launch file doesn't match the book content in page 301. The section is for c8_robot_with_motors_w_twist.ino example.

The launch file doesn't match the book content in page 301.
The section is for c8_robot_with_motors_w_twist.ino example.
The book mentioned:

"Now, you can upload the code to the Arduino board. In order to make easier to run
all the nodes, we are going to create a launch file that manages the joystick, the robot
model in the RViz visualizer, and the Arduino node.
You can launch the example with the following command in terminals:
$ roslaunch chapter8_tutorials chapter8_tutorials robot_model_with_motors.launch
$ rosrun rosserial_python serial_node.py /dev/ttyACM0
Now, you can control the robot with the joystick; also you can see in the RViz
visualizer the robot model moving. If you are testing the code on an embedded
ARM computer without display, you can comment the rviz node in the launch file."

The book has some error for the launch file name in this section. But the section is to demo how to control motors in Arduino board, and you gave the c8_robot_with_motors_w_twist.ino example already, but I can't find any launch file which is used to control the motors in Arduino board.
Main issue is how to control cmd_vel of mortors in Arduin board by using the Joystick, This part is missing in the section.
But if you have right launch file about it, then will be easy for us. Right now I try to run different rostopic command, but still get failure.

Undefined reference in Camera_timer.cpp

When compiling by following instructions on Readme with "catkin build -j4 -p4 --cmake-args -DCMAKE_BUILD_TYPE=RelWithDebInfo"

/home/osean/dev/catkin_ws/src/ros_book/chapter9_tutorials/src/camera_timer.cpp:49: undefined reference to cv::VideoCapture::operator>>(cv::Mat&)' CMakeFiles/camera_timer.dir/src/camera_timer.cpp.o: In function CameraDriver::CameraDriver(int)':
/home/osean/dev/catkin_ws/src/ros_book/chapter9_tutorials/src/camera_timer.cpp:21: undefined reference to cv::VideoCapture::VideoCapture(int)' /home/osean/dev/catkin_ws/src/ros_book/chapter9_tutorials/src/camera_timer.cpp:24: undefined reference to cv::VideoCapture::isOpened() const'
/home/osean/dev/catkin_ws/src/ros_book/chapter9_tutorials/src/camera_timer.cpp:21: undefined reference to cv::VideoCapture::~VideoCapture()' CMakeFiles/camera_timer.dir/src/camera_timer.cpp.o: In function CameraDriver::~CameraDriver()':
/home/osean/dev/catkin_ws/src/ros_book/chapter9_tutorials/src/camera_timer.cpp:44: undefined reference to cv::VideoCapture::release()' /home/osean/dev/catkin_ws/src/ros_book/chapter9_tutorials/src/camera_timer.cpp:43: undefined reference to cv::VideoCapture::~VideoCapture()'
/home/osean/dev/catkin_ws/src/ros_book/chapter9_tutorials/src/camera_timer.cpp:43: undefined reference to `cv::VideoCapture::~VideoCapture()'
collect2: error: ld returned 1 exit status
make[2]: *** [/home/osean/dev/catkin_ws/devel/.private/chapter9_tutorials/lib/chapter9_tutorials/camera_timer] Error 1
make[1]: *** [CMakeFiles/camera_timer.dir/all] Error 2
make: *** [all] Error 2

chapter 6: Waiting on transform from /base_footprint to /map to become available before running costmap, tf error:

I am running roslaunch chapter6_tutorials move_base.launch on kinetic
it seems to be a issue happened before but I could not find answer on how it is solved.

https://answers.ros.org/question/224242/tf-transformation-with-move_base/
https://answers.ros.org/question/195175/waiting-on-transform-from-base_footprint-to-map-to-become-available-before-running-costmap-tf-error/
AaronMR/Learning_ROS_for_Robotics_Programming_2nd_edition#17

this is my log
2018-04-11 20:02:02 ⌚ steve-ThinkPad-X220 in ~/dev/catkin_ws
± |master ✓| → roslaunch chapter6_tutorials move_base.launch
... logging to /home/steve/.ros/log/9a3117c6-3d7f-11e8-a81a-a088b4e53910/roslaunch-steve-ThinkPad-X220-9931.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.

started roslaunch server http://steve-ThinkPad-X220:42859/

SUMMARY

PARAMETERS

  • /amcl/gui_publish_rate: 10.0
  • /amcl/kld_err: 0.05
  • /amcl/kld_z: 0.99
  • /amcl/laser_lambda_short: 0.1
  • /amcl/laser_likelihood_max_dist: 2.0
  • /amcl/laser_max_beams: 30
  • /amcl/laser_model_type: likelihood_field
  • /amcl/laser_sigma_hit: 0.2
  • /amcl/laser_z_hit: 0.5
  • /amcl/laser_z_max: 0.05
  • /amcl/laser_z_rand: 0.5
  • /amcl/laser_z_short: 0.05
  • /amcl/max_particles: 5000
  • /amcl/min_particles: 500
  • /amcl/odom_alpha1: 0.2
  • /amcl/odom_alpha2: 0.2
  • /amcl/odom_alpha3: 0.8
  • /amcl/odom_alpha4: 0.2
  • /amcl/odom_alpha5: 0.1
  • /amcl/odom_frame_id: odom
  • /amcl/odom_model_type: diff
  • /amcl/recovery_alpha_fast: 0.0
  • /amcl/recovery_alpha_slow: 0.0
  • /amcl/resample_interval: 1
  • /amcl/transform_tolerance: 0.1
  • /amcl/update_min_a: 0.5
  • /amcl/update_min_d: 0.2
  • /move_base/TrajectoryPlannerROS/acc_lim_th: 3.2
  • /move_base/TrajectoryPlannerROS/acc_lim_x: 2.5
  • /move_base/TrajectoryPlannerROS/acc_lim_y: 2.5
  • /move_base/TrajectoryPlannerROS/holonomic_robot: False
  • /move_base/TrajectoryPlannerROS/max_rotational_vel: 0.15
  • /move_base/TrajectoryPlannerROS/max_vel_theta: 0.15
  • /move_base/TrajectoryPlannerROS/max_vel_x: 0.2
  • /move_base/TrajectoryPlannerROS/min_in_place_rotational_vel: 0.01
  • /move_base/TrajectoryPlannerROS/min_in_place_vel_theta: 0.01
  • /move_base/TrajectoryPlannerROS/min_vel_theta: -0.15
  • /move_base/TrajectoryPlannerROS/min_vel_x: 0.05
  • /move_base/controller_frequency: 10.0
  • /move_base/controller_patiente: 15.0
  • /move_base/global_costmap/cost_scaling_factor: 10.0
  • /move_base/global_costmap/footprint: [[-0.2, -0.2], [-...
  • /move_base/global_costmap/global_frame: /map
  • /move_base/global_costmap/inflation_radius: 0.5
  • /move_base/global_costmap/observation_sources: scan
  • /move_base/global_costmap/obstacle_range: 2.5
  • /move_base/global_costmap/raytrace_range: 3.0
  • /move_base/global_costmap/robot_base_frame: /base_footprint
  • /move_base/global_costmap/scan/clearing: True
  • /move_base/global_costmap/scan/data_type: LaserScan
  • /move_base/global_costmap/scan/marking: True
  • /move_base/global_costmap/scan/max_obstacle_height: 0.4
  • /move_base/global_costmap/scan/min_obstacle_height: 0.0
  • /move_base/global_costmap/scan/observation_persistence: 0.0
  • /move_base/global_costmap/scan/sensor_frame: base_link
  • /move_base/global_costmap/scan/topic: /scan
  • /move_base/global_costmap/static_map: True
  • /move_base/global_costmap/update_frequency: 1.0
  • /move_base/local_costmap/cost_scaling_factor: 10.0
  • /move_base/local_costmap/footprint: [[-0.2, -0.2], [-...
  • /move_base/local_costmap/global_frame: /map
  • /move_base/local_costmap/height: 5.0
  • /move_base/local_costmap/inflation_radius: 0.5
  • /move_base/local_costmap/observation_sources: scan
  • /move_base/local_costmap/obstacle_range: 2.5
  • /move_base/local_costmap/planner_frequency: 1.0
  • /move_base/local_costmap/planner_patiente: 5.0
  • /move_base/local_costmap/publish_frequency: 2.0
  • /move_base/local_costmap/raytrace_range: 3.0
  • /move_base/local_costmap/resolution: 0.02
  • /move_base/local_costmap/robot_base_frame: /base_footprint
  • /move_base/local_costmap/rolling_window: True
  • /move_base/local_costmap/scan/clearing: True
  • /move_base/local_costmap/scan/data_type: LaserScan
  • /move_base/local_costmap/scan/marking: True
  • /move_base/local_costmap/scan/max_obstacle_height: 0.4
  • /move_base/local_costmap/scan/min_obstacle_height: 0.0
  • /move_base/local_costmap/scan/observation_persistence: 0.0
  • /move_base/local_costmap/scan/sensor_frame: base_link
  • /move_base/local_costmap/scan/topic: /scan
  • /move_base/local_costmap/static_map: False
  • /move_base/local_costmap/tranform_tolerance: 0.5
  • /move_base/local_costmap/update_frequency: 5.0
  • /move_base/local_costmap/width: 5.0
  • /rosdistro: kinetic
  • /rosversion: 1.12.13

NODES
/
amcl (amcl/amcl)
map_server (map_server/map_server)
move_base (move_base/move_base)

ROS_MASTER_URI=http://localhost:11311

process[map_server-1]: started with pid [9948]
process[amcl-2]: started with pid [9949]
process[move_base-3]: started with pid [9951]
[ INFO] [1523448893.588287083]: Loading map from image "/home/steve/dev/catkin_ws/src/chapter6_tutorials/maps/map.pgm"
[ WARN] [1523448893.680908610]: ignoring NAN in initial pose X position
[ WARN] [1523448893.683735113]: ignoring NAN in initial pose Y position
[ INFO] [1523448893.732907166]: Requesting the map...
[ WARN] [1523448893.733614535]: Request for map failed; trying again...
[ INFO] [1523448893.792339989]: Read a 4000 X 4000 map @ 0.050 m/cell
[ INFO] [1523448894.253528562]: Sending map
[ INFO] [1523448894.286647263]: Received a 4000 X 4000 map @ 0.050 m/pix

[ WARN] [1523448894.837868726]: ignoring NAN in initial pose X position
[ WARN] [1523448894.839484492]: ignoring NAN in initial pose Y position
[ INFO] [1523448894.852266034]: Initializing likelihood field model; this can take some time on large maps...
[ INFO] [1523448895.350413585]: Done initializing likelihood field model.
[ WARN] [1523448898.794508792]: Timed out waiting for transform from base_footprint to map to become available before running costmap, tf error: canTransform: target_frame map does not exist. canTransform: source_frame base_footprint does not exist.. canTransform returned after 0.101473 timeout was 0.1.
[ WARN] [1523448903.862222936]: Timed out waiting for transform from base_footprint to map to become available before running costmap, tf error: canTransform: target_frame map does not exist. canTransform: source_frame base_footprint does not exist.. canTransform returned after 0.101284 timeout was 0.1.
[ WARN] [1523448908.920670194]: Timed out waiting for transform from base_footprint to map to become available before running costmap, tf error: canTransform: target_frame map does not exist. canTransform: source_frame base_footprint does not exist.. canTransform returned after 0.101244 timeout was 0.1.
[ WARN] [1523448910.476452149]: No laser scan received (and thus no pose updates have been published) for 1523448910.476290 seconds. Verify that data is being published on the /scan topic.
[ WARN] [1523448913.988248548]: Timed out waiting for transform from base_footprint to map to become available before running costmap, tf error: canTransform: target_frame map does not exist. canTransform: source_frame base_footprint does not exist.. canTransform returned after 0.101114 timeout was 0.1.

node graph:
screenshot from 2018-04-13 12-31-36

37072361-f42a2b72-21fb-11e8-92ad-836125f6ce8e

I implemented a quick fix which is run the odometry.cpp. The robot does move but in a artificially predefined way by odometry.cpp.

screenshot from 2018-04-12 17-54-23

screenshot from 2018-04-13 12-12-19

I wonder how could implement sendgoals.cpp and make the robot runs with a goal on map according to global and local planning with obstacles avoidance.

Question about the Robot communication in Chapter 4

Hello,
In chapter 4, we've built a robot with urdf description. And its arm can rotate with some constraints. However,
I don't understand how the robot receiving the moving commands.In the display.launch, there are two kinds of state publisher.

  • What's the difference between robot_state_publisher and joint_state_publisher?
  • The state_publisher.cpp stands for robot_state_publisher and publish message (joint_states) to joint_state_publisher, am I right?

Any reply is helpful,
Thanks

Endless loop when running wstool up -j8

I am following your instructions. When I get to the command above the system appears to go into an endless loop and keeps repeating, "[moveit_simple_grasps,ros_book] still active"

andrew@dv4-1412:~/dev/catkin_ws/src$ wstool up -j8
[moveit_simple_grasps,ros_book] still active
[moveit_simple_grasps] Fetching [email protected]:efernandez/moveit_simple_grasps.git (version None) to /home/andrew/dev/catkin_ws/src/moveit_simple_grasps
[ros_book] Fetching [email protected]:rosbook/effective_robotics_programming_with_ros.git (version None) to /home/andrew/dev/catkin_ws/src/ros_book
Cloning into '/home/andrew/dev/catkin_ws/src/moveit_simple_grasps'...
Cloning into '/home/andrew/dev/catkin_ws/src/ros_book'...
The authenticity of host 'github.com (192.30.253.113)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)? The authenticity of host 'github.com (192.30.253.113)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)? [moveit_simple_grasps,ros_book] still active
[moveit_simple_grasps,ros_book] still active
[moveit_simple_grasps,ros_book] still active
[moveit_simple_grasps,ros_book] still active
[moveit_simple_grasps,ros_book] still active

Chapter 6: Creating a launch file for the navigation stack error: tf error: canTransform: target_frame map does not exist

Hi,
I am learning ros by following "Effective Robotics Programming with ROS" and codes from github.
As per the instructions in the book, i have run two launch file (chapter6_configuration_gazebo.launch and move_base.launch) in two separate terminal included in "chpater6_tutorials/launch" folder. But i am facing few errors:

  1. No laser scan received (and thus no pose updates have been published) for 96.852000 seconds. Verify that data is being published on the /scan topic.
  2. Timed out waiting for transform from base_footprint to map to become available before running costmap, tf error: canTransform: target_frame map does not exist.. canTransform returned after 0.102 timeout was 0.1.

I have attached the screen-shot of error file, tf frames, and rqt_graph.

rosgraph

frames

errors

chapter 6: Timed out waiting for transform from base_footprint to map to become available before running costmap, tf error: Could not find a connection between 'map' and 'base_footprint' because they are not part of the same tree.Tf has two or more unconnected trees..

I am running roslaunch chapter6_tutorials move_base.launch on kinetic
And I got the following warning.
[ WARN] [1554044458.379278814, 15.084000000]: Timed out waiting for transform from base_footprint to map to become available before running costmap, tf error: Could not find a connection between 'map' and 'base_footprint' because they are not part of the same tree.Tf has two or more unconnected trees.. canTransform returned after 0.1 timeout was 0.1.

The robot_model of rviz has report the error "No transform from [base_footprint] to [map]"
But the error can be solved, adding the following line into the move_base.launch

However, the robot can't move now, just spin around even if I give it 2d nav goal.

Inconsistent LaserScan data

Your LaserScan publisher seems to publish inconsistent values for the angle range (angle_min and angle_max) and the increment (angle_increment). The angle_max is supposed to be the maximum angle value, but the way the angle increment is calculated here makes it the value of one increment past the last angle. So you'd probably want to set scan.angle_increment = 3.14 / (num_readings - 1); instead (or zero, if you have only one reading).

Note that I have posted a related question here, because I wasn't sure if angle_max really has to have that strict interpretation. Feel free to share your opinion.

another target with the same name already exists

at effective_robotics_programming_with_ros/chapter3_tutorials/CMakeLists.txt:57 (add_executable):
add_executable cannot create target "example4" because another target with the same name already exists. The existing target is an executable created in source directory "/home/sensiki/dev/catkin_ws/src/effective_robotics_programming_with_ros/chapter2_tutorials".
See documentation for policy CMP0002 for more details.

Chapter7:Nothing happens when run pick_and_place.py

Hi, I'm a beginner to ros.
I tried the guidence in chapter7 and nothing happens. I have catkin_make the moveit_simple_grapes successfully. Now I'm crazy beacuse of this issues.
When I typed the following :
roslaunch rosbook_arm_moveit_config demo.launch -> work fine
roslaunch rosbook_arm_pick_and_place grasp_generator_server.launch -> work fine
rosrun rosbook_arm_pick_and_place pick_and_place.py -> work fine but have some trouble.
Nothing happens in rviz, and it shows
Pick up goal failed!: Timeout reached
[WARN] [WallTime: 1558935438.075925] Pick up failed! Retrying ...
[ERROR] [WallTime: 1558935444.419281] Pick up goal failed!: Timeout reached
[WARN] [WallTime: 1558935444.421875] Pick up failed! Retrying

The picture maybe the cause.
QQ图片20190527134045

I run these code in VM.
ubuntu14.04
ros-indigo
gazebo 7

The Installation

I have a problem when I flow the Installation when I put in
"rosdep install --from-paths src -iy"
It occurred
"rosbook_arm_pick_and_place: Cannot locate rosdep definition for [moveit_simple_grasps]"

I'm new to ROS ,can you help me

Chapter 5 tutorials

The tutorial files outlined in the chapter do not exist. Specifically the Homography examples.

setup " rosdep install --from-paths src -iy " error

Ubuntu16.04 + Kinetic

When I set "rosdep install --from-paths src -iy"

This is the error info.

dpkg-query: no packages found matching ros-kinetic-joint-state-controller
dpkg-query: no packages found matching ros-kinetic-gazebo-ros-control
dpkg-query: no packages found matching ros-kinetic-moveit-msgs
dpkg-query: no packages found matching ros-kinetic-moveit-ros-planning-interface
dpkg-query: no packages found matching ros-kinetic-joint-trajectory-controller
dpkg-query: no packages found matching ros-kinetic-moveit-core
dpkg-query: no packages found matching ros-kinetic-fake-localization
dpkg-query: no packages found matching ros-kinetic-joy
dpkg-query: no packages found matching ros-kinetic-control-toolbox
dpkg-query: no packages found matching ros-kinetic-moveit-ros-perception
dpkg-query: no packages found matching ros-kinetic-moveit-ros-visualization
dpkg-query: no packages found matching ros-kinetic-moveit-planners-ompl
dpkg-query: no packages found matching ros-kinetic-joint-limits-interface
dpkg-query: no packages found matching ros-kinetic-dynamixel-msgs
dpkg-query: no packages found matching ros-kinetic-moveit-ros-move-group
dpkg-query: no packages found matching ros-kinetic-hardware-interface
dpkg-query: no packages found matching ros-kinetic-controller-manager
dpkg-query: no packages found matching ros-kinetic-moveit-simple-controller-manager
dpkg-query: no packages found matching ros-kinetic-moveit-fake-controller-manager
dpkg-query: no packages found matching ros-kinetic-map-server
ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
rosbook_arm_pick_and_place: Cannot locate rosdep definition for [moveit_simple_grasps]

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.