Slide 1

Slide 1 text

304͸͡Ί·ͨ͠ ۙ౻๛ IUUQSPTZPVUBMLKQ !ZPVUBML 304+BQBO6( ษڧձ

Slide 2

Slide 2 text

"CPVU.F ZVUBLBLPOEP!ZPVUBMLKQ ຊ໊ ΞΧ΢ϯτ໊ ࠃ੶ ϗʔϜϖʔδΞυϨε ϝʔϧΞυϨε

Slide 3

Slide 3 text

304$PO4&06-

Slide 4

Slide 4 text

IUUQSPTDPOSPTPSHQSFTFOUBUJPOT 304$PO3046QEBUFQEG

Slide 5

Slide 5 text

Slide 6

Slide 6 text

Slide 7

Slide 7 text

Slide 8

Slide 8 text

IUUQSPTDPOSPTPSH QSFTFOUBUJPOTTUBUFPGSPTQEG

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

IUUQSPTDPOSPTPSHQSFTFOUBUJPOT SPT@PO@TNBMM@FNCFEEFE@TZTUFNTQEG

Slide 11

Slide 11 text

Slide 12

Slide 12 text

Slide 13

Slide 13 text

UBMLFSDQQ int main(int argc, char * argv[]) { rclcpp::init(argc, argv); auto node = rclcpp::node::Node::make_shared("talker"); rmw_qos_profile_t custom_qos_profile = rmw_qos_profile_default; custom_qos_profile.depth = 7; auto topic = std::string("chatter"); auto chatter_pub = node->create_publisher( topic, custom_qos_profile); rclcpp::WallRate loop_rate(2); auto msg = std::make_shared(); auto i = 1; while (rclcpp::ok()) { msg->data = "Hello World: " + std::to_string(i++); std::cout << "Publishing: '" << msg->data << "'" << std::endl; chatter_pub->publish(msg); rclcpp::spin_some(node); loop_rate.sleep(); } return 0; } IUUQTHJUIVCDPNSPTEFNPTCMPCNBTUFS EFNP@OPEFT@DQQTSDUPQJDTUBMLFSDQQ

Slide 14

Slide 14 text

MJTUFOFSDQQ void chatterCallback(const std_msgs::msg::String::SharedPtr msg) { std::cout << "I heard: [" << msg->data << "]" << std::endl; } int main(int argc, char * argv[]) { rclcpp::init(argc, argv); auto node = rclcpp::Node::make_shared("listener"); auto topic = std::string("chatter"); auto sub = node->create_subscription( topic, chatterCallback, rmw_qos_profile_default); rclcpp::spin(node); return 0; } IUUQTHJUIVCDPNSPTEFNPTCMPCNBTUFS EFNP@OPEFT@DQQTSDUPQJDTMJTUFOFSDQQ

Slide 15

Slide 15 text

304Λࢼ͢ •  -JOVY%FWFMPQNFOU4FUVQʹै͏ –  IUUQTHJUIVCDPNSPTSPTXJLJ-JOVY%FWFMPQNFOU4FUVQ •  -JOVY*OTUBMM#JOBSZΛ࢖͏ –  IUUQTHJUIVCDPNSPTSPTXJLJ-JOVY*OTUBMM#JOBSZ –  ґଘύοέʔδͷΠϯετʔϧ͸ผ్ඞཁ –  όΠφϦ͕ݹ͍ •  %PDLFSΠϝʔδΛ࢖͏ –  EPDLFSQVMMPTSGSPTˡϲ݄લ͔ΒϏϧυࣦഊ –  EPDLFSQVMMZPVUBMLSPTKBˡ࠷৽ίϛοτΛϏϧυࡁΈ •  IUUQTHJUIVCDPNZPVUBMLEPDLFSJNBHFTKB •  IUUQTIVCEPDLFSDPNSZPVUBMLSPTKB

Slide 16

Slide 16 text

%PDLFSΠϯετʔϧ •  6CVOUV sudo apt-get install docker-ce •  8JOEPXT –  %PDLFSGPS8JOEPXT https://docs.docker.com/docker-for-windows/install/ •  NBD04 –  %PDLFSGPS.BD https://docs.docker.com/docker-for-mac/install/

Slide 17

Slide 17 text

EPDLFSQVMMZPVUBMLSPTKB •  ϕʔε͸6CVOUV •  ೔ຊͷ'51αΠτ Λࢀর •  #VJMEJOH304PO -JOVYʹै࣮ͬͯ௚ ʹΠϯετʔϧ FROM youtalk/ubuntu-ja:xenial MAINTAINER Yutaka Kondo RUN sh -c 'echo "deb http://packages.ros.org/ros/ubuntu xenial main" > \ /etc/apt/sources.list.d/ros-latest.list' RUN apt-key adv --keyserver ha.pool.sks-keyservers.net --recv-keys 421C365BD9FF1F717815A3895523BAEEB01FA11 RUN sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu xenial main" > \ /etc/apt/sources.list.d/gazebo-latest.list' RUN apt-key adv --keyserver ha.pool.sks-keyservers.net --recv-keys D2486D2DD83DB69272AFE98867170598AF249743 RUN apt-get update && apt-get -q -y install \ git wget build-essential cppcheck cmake \ libopencv-dev libpoco-dev libpocofoundation9v5 libpocofoundation9v5-dbg \ python-empy python3-dev python3-empy python3-nose python3-pip python3-setuptools python3-vcstool \ libtinyxml-dev libeigen3-dev clang-format \ pydocstyle pyflakes python3-coverage python3-mock python3-pep8 \ uncrustify libasio-dev libtinyxml2-dev \ libboost-chrono-dev libboost-date-time-dev libboost-program-options-dev \ libboost-regex-dev libboost-system-dev libboost-thread-dev \ && rm -rf /var/lib/apt/lists/* RUN pip3 install flake8 flake8-import-order RUN mkdir -p /root/ros2_ws/src WORKDIR /root/ros2_ws RUN wget https://raw.githubusercontent.com/ros2/ros2/release-latest/ros2.repos RUN vcs import src < ros2.repos RUN src/ament/ament_tools/scripts/ament.py build --build-tests --symlink-install --isolated COPY ./ros2_entrypoint.sh / ENTRYPOINT ["/ros2_entrypoint.sh"] CMD ["bash"] %PDLFSpMF

Slide 18

Slide 18 text

EPDLFSSVO–JUZPVUBMLSPTKB

Slide 19

Slide 19 text

%PDLFS$PNQPTF •  ෳ਺ίϯςφΛ࢖͏ %PDLFSΞϓϦΛఆٛɺ ࣮ߦ͢Δπʔϧ •  SPTMBVODIͷ୅ΘΓʹ EPDLFSDPNQPTFΛ ࢖ͬͯΈΔ •  .JDSPTFSWJDFT –  304/PEF$POUBJOFS version: '2' services: talker: image: youtalk/ros2-ja:xenial command: talker networks: - ros2 listener: image: youtalk/ros2-ja:xenial command: listener networks: - ros2 networks: ros2: driver: bridge EPDLFSDPNQPTFZNM

Slide 20

Slide 20 text

EPDLFSDPNQPTFVQ

Slide 21

Slide 21 text

·ͱΊ •  %PDLFSͱ304ͷ૬ੑൈ܈ –  ϗετ04͸%PDLFS&OHJOFಈ͚͹ԿͰ΋0, –  ୯Ұো֐఺ʢSPTDPSFʣ͕ͳ͍ –  ࠓͷͱ͜ΖSPTMBVODIͳ͍͚ͲɺEPDLFSDPNQPTFͰ ୅༻Մೳ •  304͸ݱࡏЌ –  ·ͩ·ͩपลཁૉ͕੔උ͞Ε͍ͯͳ͍ –  ΰʔϧυʢϓϧϦΫʣϥογϡ౸དྷͷ༧ײ

Slide 22

Slide 22 text

304+BQBO6TFST(SPVQ •  ϗʔϜϖʔδSPTVTFSTKQˡͩΕ͔վम࡞ۀख఻ͬͯ •  ษڧձϖʔδSPTKQDPOOQBTTDPN •  ϝʔϦϯάϦετ SPTKBQBOVTFST!HPPHMFHSPVQTDPN •  (JU)VCSPTKBQBOVTFST •  4MBDLSPTKQTMBDLDPN –  ট଴ϑΥʔϜIUUQTHPPHMGPSNTC5"1P2PM[5M9 •  5XJUUFSSPTKQ

Slide 23

Slide 23 text

6QEBUF:PVS04 304+BQBO6( ษڧձ