본문 바로가기

Project/KUSMO

[KUSMO] 11/3 (rosserial)

728x90
  • Arduino 관련 issue로 인해 ubuntu 설치 디스크 삭제 후 재설치
  • 어제 회의 때 OpenCR이 고장났음이 확인되어 arduino + raspberry pi 4로 구성 변경
$ sudo chmod +x arduino-1.8.18-linuxaarch64.tar.xz
  • arduino-1.8.18-linuxaarch64.tar.xz에 실행 권한 부여
$ tar -xvf arduino-1.8.18-linuxaarch64.tar.xz
  • 압축 해제 
cd ~/arduino-1.8.18/
su
./install.sh
su [lim]
  • arduino-1.8.18 디렉터리에 들어가서 su 명령어로 관리자 계정(root)으로 전환하고./install.sh을 입력하여 아두이노를 설치한다.
  • 설치를 완료하고 나서 관리자 계정(root)에서 일반 계정(lim)으로 전환하기 위해서는 'su 계정명'을 입력하면 된다.

 

  • Arduino 실행 후 Sketch -> Include Library -> Manage Libraries 를 통해 rosserial library 설치
  • 설치 후 예제를 실행하려 하자 아래와 같은 오류가 뜸

 

  • /home/lim/Arduino/libraries/Rosserial_Arduino_Library/src/ros directory에 있는 msg.h 파일을 연 후 아래와 같이 수정함

 

  • #include <cstring>는 더이상 동작하지 않아 string.h로 변경
  • memcpy 함수는 더이상 std의 member가 아니므로 위와 같이 수정
  • 에러 해결

 

- "hello world!" 예제 실행

/*
 * rosserial Publisher Example
 * Prints "hello world!"
 */

#include <ros.h>
#include <std_msgs/String.h>

ros::NodeHandle  nh;

std_msgs::String str_msg;
ros::Publisher chatter("chatter", &str_msg);

char hello[13] = "hello world!";

void setup()
{
  nh.initNode();
  nh.advertise(chatter);
}

void loop()
{
  str_msg.data = hello;
  chatter.publish( &str_msg );
  nh.spinOnce();
  delay(1000);
}
  • 위 코드 upload 후 서로 다른 3개의 터미널창에서 아래의 명령어들 입력
$ roscore
$ rosrun rosserial_python serial_node.py _port:=/dev/ttyACM0 _baud:=57600
$ rostopic echo chatter
  • "hello world!" 가 표시되는 것을 볼 수 있다

 

 

 

 


참고자료 :

https://95mkr.tistory.com/entry/ROS8

 

[ROS] 8. ROS + Arduino 와 통신 Rosserial

☞ 메인보드 : Jetson Nano Developer Kit ☞ 운영 체제 : Ubuntu 18.04 - JetPack 4.3 ☞ ROS 버전 : Melodic ☞ 언어 : C++ 목차 ○ 1. 아두이노 ○ 2. rosserial ① 아두이노 https://www.arduino.cc/ 현재 1.8.12 버전이 최신 버전

95mkr.tistory.com

https://github.com/ros-drivers/rosserial/issues/518

 

cstring: No such file or directory · Issue #518 · ros-drivers/rosserial

Hello I'm using Arduino IDE 1.8.13 and Arduino Uno When I try to verify/compile the HelloWorld example I'm getting this error in the IDE: In file included from /home/user/Arduino/libraries/...

github.com

https://answers.ros.org/question/361930/rosserial-arduino-compilation-error-no-cstring/

 

Rosserial Arduino Compilation Error: No <CSTRING> - ROS Answers: Open Source Q&A Forum

Rosserial Arduino Compilation Error: No edit Hi, I am using Ubuntu 20.04 and ROS Noetic. I followed the rosserial tutorial arduino setup page but I cannot compile the ros_lib HelloWorld example in Arduino. It gives me the following error. I am not able to

answers.ros.org

 

'Project > KUSMO' 카테고리의 다른 글

[KUSMO] 11/18 (IMU, RPLidar 케이블, rosserial-arduino)  (0) 2022.11.18
[KUSMO] 11/4 (Navigation Stack 구성법)  (0) 2022.11.04
[KUSMO] 10/31 (진행 상황 정리)  (0) 2022.11.01
[KUSMO] 10/29  (0) 2022.10.29
[KUSMO] 10/28  (0) 2022.10.28