- Видео 136
- Просмотров 20 237
공주대 천안 AIR 랩 (CTC)
Южная Корея
Добавлен 19 фев 2023
재생목록
4. 기구학 : 재생목록 '3. ROS 배우기!'를 활용한 기구학 학부 수업 실황 편집본
5. 머신러닝 : 머신러닝 대학원 수업 실황 편집
Deep Sea Project : 수중 로봇 연구 브이로그
4. 기구학 : 재생목록 '3. ROS 배우기!'를 활용한 기구학 학부 수업 실황 편집본
5. 머신러닝 : 머신러닝 대학원 수업 실황 편집
Deep Sea Project : 수중 로봇 연구 브이로그
docs.google.com/document/d/1UhnNwMvvbkQ2qlqVKP5hyokDJnrmjLauKgpU3GsB8Dk/edit
교수님 로봇랩에서 잘 적응하려면 ros말고도 뭐 공부하는게 좋을까요?
코딩을 좀 잘 할줄알면 좋습니다.
@@airlab-ctc 두서없이 계속 질문만 해서 죄송합니다 현재 전자공학과 2학년에 재학중인 로봇분야 지망 학생입니다 코딩이라면 어떤걸 말하는건가요? c언어나 파이썬 정도면 충분할까요? ros는 파이썬 쓰고 임베디드는 c언어 쓰던데 혼란이 와서 여쭙니다. MATLAB도 필수인지 궁금합니다.
파이선 cpp 좋습니다 좀더해서 클래스 개념까지 하면 좋습니다 객체지향 프로그래밍요
그리고 딥러닝 텐서플로우 공부하면 좋습니다
❤
<?xml version="1.0"?> <package format="2"> <name>ros_tutorials_topic</name> <version>0.0.0</version> <description>The ros_tutorials_topic package</description> <!-- One maintainer tag required, multiple allowed, one person per tag --> <!-- Example: --> <!-- <maintainer email="jane.doe@example.com">Jane Doe</maintainer> --> <maintainer email="ctclab@todo.todo">ctclab</maintainer> <!-- One license tag required, multiple allowed, one license per tag --> <!-- Commonly used license strings: --> <!-- BSD, MIT, Boost Software License, GPLv2, GPLv3, LGPLv2.1, LGPLv3 --> <license>TODO</license> <!-- Url tags are optional, but multiple are allowed, one per tag --> <!-- Optional attribute type can be: website, bugtracker, or repository --> <!-- Example: --> <!-- <url type="website">wiki.ros.org/ros_tutorials_topic</url> --> <!-- Author tags are optional, multiple are allowed, one per tag --> <!-- Authors do not have to be maintainers, but could be --> <!-- Example: --> <!-- <author email="jane.doe@example.com">Jane Doe</author> --> <!-- The *depend tags are used to specify dependencies --> <!-- Dependencies can be catkin packages or system dependencies --> <!-- Examples: --> <!-- Use depend as a shortcut for packages that are both build and exec dependencies --> <!-- <depend>roscpp</depend> --> <!-- Note that this is equivalent to the following: --> <!-- <build_depend>roscpp</build_depend> --> <!-- <exec_depend>roscpp</exec_depend> --> <!-- Use build_depend for packages you need at compile time: --> <!-- <build_depend>message_generation</build_depend> --> <!-- Use build_export_depend for packages you need in order to build against this package: --> <!-- <build_export_depend>message_generation</build_export_depend> --> <!-- Use buildtool_depend for build tool packages: --> <!-- <buildtool_depend>catkin</buildtool_depend> --> <!-- Use exec_depend for packages you need at runtime: --> <!-- <exec_depend>message_runtime</exec_depend> --> <!-- Use test_depend for packages you need only for testing: --> <!-- <test_depend>gtest</test_depend> --> <!-- Use doc_depend for packages you need only for building documentation: --> <!-- <doc_depend>doxygen</doc_depend> --> <buildtool_depend>catkin</buildtool_depend> <build_depend>message_generation</build_depend> <build_depend>roscpp</build_depend> <build_depend>std_msgs</build_depend> <build_export_depend>roscpp</build_export_depend> <build_export_depend>std_msgs</build_export_depend> <exec_depend>roscpp</exec_depend> <exec_depend>std_msgs</exec_depend> <exec_depend>message_runtime</exec_depend> <!-- The export tag contains other, unspecified, tags --> <export> <!-- Other tools can request additional information be placed here --> </export> </package>
sudo apt-get install python-catkin-tools
source /opt/ros/melodic/setup.bash source ~/catkin_ws/devel/setup.bash
sudo rm -rf build
source ~/.bashrc
#include "ros/ros.h" #include "ros_tutorials_topic/MsgTutorial.h" void msgCallback(const ros_tutorials_topic::MsgTutorial::ConstPtr& msg) { ROS_INFO("recieve msg=%d", msg->stamp.sec); ROS_INFO("recieve msg=%d", msg->stamp.nsec); ROS_INFO("recieve msg=%d", msg->data); } int main(int argc, char **argv) { ros::init(argc, argv, "topic_subscriber"); ros::NodeHandle nh; ros::Subscriber ros_tutorial_sub=nh.subscribe("ros_tutorial_msg",100,msgCallback); ros::spin(); return 0; }
#include "ros/ros.h" #include "ros_tutorials_topic/MsgTutorial.h" int main(int argc, char **argv) { ros::init(argc, argv, "topic_publisher"); ros::NodeHandle nh; ros::Publisher ros_tutorial_pub=nh.advertise<ros_tutorials_topic::MsgTutorial>("ros_tutorial_msg",100); ros::Rate loop_rate(10); ros_tutorials_topic::MsgTutorial msg; int count=0; while(ros::ok()) { msg.stamp=ros::Time::now(); msg.data=count; ROS_INFO("send msg=%d", msg.stamp.sec); ROS_INFO("send msg=%d", msg.stamp.nsec); ROS_INFO("send msg=%d", msg.data); ros_tutorial_pub.publish(msg); loop_rate.sleep(); ++count; } return 0; }
cmake_minimum_required(VERSION 3.0.2) project(ros_tutorials_topic) find_package(catkin REQUIRED COMPONENTS message_generation roscpp std_msgs) add_message_files(FILES MsgTutorial.msg) generate_messages(DEPENDENCIES std_msgs) catkin_package( LIBRARIES ros_tutorials_topic CATKIN_DEPENDS roscpp std_msgs ) include_directories(${catkin_INCLUDE_DIRS}) add_executable(topic_publisher src/topic_publisher.cpp) add_dependencies(topic_publisher ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) target_link_libraries(topic_publisher ${catkin_LIBRARIES}) add_executable(topic_subscriber src/topic_subscriber.cpp) add_dependencies(topic_subscriber ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) target_link_libraries(topic_subscriber ${catkin_LIBRARIES})
<exec_depend>message_runtime</exec_depend>
catkin_create_pkg ros_tutorials_topic message_generation std_msgs roscpp
안녕하세요 교수님 영상 방법대로 조치해서 rqt는 실행이 됐는데 rviz 는 Segmentation fault (core dumped) 라는 문구가 뜨면서 열리다가 죽습니다.
수업시간에 같이 살펴보도록 합시다. ㅜㅜ
안녕하세요 이세진 교수님. 영상 잘 봤습니다. 저도 졸업작품을 위해 젯슨 나노를 사용할 계획입니다. 유선 랜을 연결하여 인터넷을 이용하려는 과정에서 이더넷이 계속 disconnect 되는데 혹시 해결 방법을 조언해 주실 수 있으실까요?
공주대 학생인지는 모르겠지만 반갑습니다. 말씀하신 상황은 여러가지 원인이 있을 것 같습니다. 이더넷이 인터넷에 잘 연결되어 있는지 노트북이나 데스크탑으로 확인해봐야 할 것 같습니다. 인터넷이 잘 된다면 고정 IP인지 랜덤 IP인지 확인해서 혹시 고정이라면 할당 IP를 설정해 주어야 하지 않을까요? 저같은 경우에는 공유기에서 이더넷을 빼서 썼기 때문에 특별히 IP 설정 같은 건 필요 없었습니다.
@@airlab-ctc 제가 학교에서 이더넷을 연결하다보니 ip를 얻어오는 과정에서 문제가 발생했던 것 같습니다. 지금은 다행히 해결했습니다. 조언 감사합니다.😊
자세히 설명 해 주시네요.
관심가져주셔서 감사합니다