Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bringup Task in Docker #55

Open
moran991231 opened this issue Jul 27, 2022 · 8 comments
Open

Bringup Task in Docker #55

moran991231 opened this issue Jul 27, 2022 · 8 comments

Comments

@moran991231
Copy link

안녕하세요. 시뮬레이터를 처음 사용해보면서 리드미에 있는 기능들을 하나씩 시도해는 중입니다. 아직 미숙해서 많이 헤매고 있습니다.
호스트 OS: Ubuntu 20.04
cloisim레포로부터 도커이미지를 빌드해서 도커컨테이너로 시뮬레이터를 실행하고 있습니다.
image

또한 cloisim_ros레포로부터 토커이미지를 빌드해서 컨테이너를 실행시키는 것도 성공했습니다.
아래는 cloisim컨테이너를 실행한 후 cloisim_ros컨테이너의 ros2 launch cloisim_ros_bringup bringup.launch.py $@명령어를 실행한 뒤의 출력입니다.
image

그런데 이렇게 작업을 마친 후 로봇이 움직이지 않는 것이 정상인가요?

+) teleop 패키지를 설치한 후 ros2 run teleop_twist_keyboard teleop_twist_keyboard __ns:=/cloi1 명령어를 통해서 키보드 커맨드로 로봇을 움직이는 것은 성공했습니다. cloisimcloisim_ros컨테이너의 통신이 잘 이루어지고 있다는 것은 확인된 듯 합니다.


`closim`의 리드미에 첨부된 동영상처럼 navigation2을 실행해보고 싶은데 이것은 어떻게 도커 환경에서 어떻게 해야 하는지 궁금합니다! README와 Wiki의 Usage를 최대한 따라해보려고 했으나 잘 모르겠습니다. Unity를 설치해서 디버깅모드로 돌리는 건가요?

읽어주셔서 감사합니다.

@hyunseok-yang
Copy link
Member

일단 teleop keyboard로 연결 잘 된다고하니 일단 ros2 로 통신이 잘 된다고 확인됬네요.

unity로 설치해서 사용은 시뮬레이터 자체를 디버깅 또는 기능 구현을 원할 경우 하시면 됩니다.

https://github.com/ros-planning/navigation2 navigation2 패키지를 설치해서 돌리거나, navigation2 에서 제공한 Dockerfile을 이용해서 실행해보셨는지요~?

https://navigation.ros.org/getting_started/index.html 여기 가이드라인을 따라 Rviz2에서 init_pose 를 맞추고, 원하는 goal에 명령 날리면 움직이게 할 수 있습니다.

물론 그전에 SLAM Map을 생성해야합니다.

최근 버전의 nav2를 실행 해본적은 없는데, 아래 가이드 따라 map을 만드시면 될 것입니다.

https://navigation.ros.org/tutorials/docs/navigation2_with_slam.html?highlight=map

@moran991231
Copy link
Author

안녕하세요. 답변 감사합니다.
지난 주에 문제를 해결해서 navigation을 수행했습니다.

  1. foxy 버전 ros의 navigation2 도커파일 빌드가 잘 되지 않아 도커 이미지에 apt install로 nav2 관련 패키지를 설치했습니다.
    그 후에 lge-ros2/navigation2 레포의 foxy-devel-cloi브랜치의 코드를 가져왔습니다.
  2. 맵을 터틀봇으로 슬램을 굴려서 만들었는데 클로이로도 할 수 있는지 봐야 할 것 같습니다.

시뮬레이터에 네비게이션을 추가하는 부분에 대해서는 튜토리얼이 있으면 좋을 것 같습니다..!

@moran991231
Copy link
Author

클로이심에서 SLAM으로 맵을 만들 수 있나요?
슬램하면 파란색 방사형 레이저가 나와야 하는 것 같은데 클로이에는 그런 옵션이 어디에 있는지 잘 모르겠습니다.

@hyunseok-yang
Copy link
Member

안녕하세요. 답변 감사합니다. 지난 주에 문제를 해결해서 navigation을 수행했습니다.

  1. foxy 버전 ros의 navigation2 도커파일 빌드가 잘 되지 않아 도커 이미지에 apt install로 nav2 관련 패키지를 설치했습니다.
    그 후에 lge-ros2/navigation2 레포의 foxy-devel-cloi브랜치의 코드를 가져왔습니다.

이건 저희가 내부적인 개발을 위해서 임시적으로 사용했던 브랜치입니다.

ros-planning쪽의 공식 navigation foxy 최신을 사용하시는 것을 추천드립니다!

  1. 맵을 터틀봇으로 슬램을 굴려서 만들었는데 클로이로도 할 수 있는지 봐야 할 것 같습니다.

시뮬레이터에 네비게이션을 추가하는 부분에 대해서는 튜토리얼이 있으면 좋을 것 같습니다..!

네비게이션을 연결하는 부분과 관련해서는 navigation2 에서 제공하는 튜토리얼과 동일하여서... 따로 언급은 하지 않았습니다.
즉, nav2를 연결하다가 발생하는 문제는 nav2/issues에서 문의를 해주셔야할 것 같습니다.
만약 센서 데이터의 포맷이 이상하거나, 데이터가 pub이 되지 않는 경우 문의 해주시면, 답변드리겠습니다~!

@hyunseok-yang
Copy link
Member

클로이심에서 SLAM으로 맵을 만들 수 있나요? 슬램하면 파란색 방사형 레이저가 나와야 하는 것 같은데 클로이에는 그런 옵션이 어디에 있는지 잘 모르겠습니다.

cloisim으로 slam map 빌드 가능합니다.

nav2의 https://navigation.ros.org/tutorials/docs/navigation2_with_slam.html?highlight=toolbox 를 참조 하셔서, 맵을 만드시면 되는데,

cloisim에서 이야기 하시는 "방사향 레이저"라는것은, 단순 visualization이라서, cloisim에서는 따로 출력하고 있지 않습니다.

정말 제대로 pub이 되고있는지는 rviz2를 통해서 확인 가능하십니다.
ros2 topic pub을 통해서 /scan 토픽에 무언가 나오고 있다면 정상작동하고 있다고 보시면 될 것 같습니다!

@moran991231
Copy link
Author

친절한 답변 감사합니다. ^^
자료 토대로 시도해 보고 있습니다.

정말 제대로 pub이 되고있는지는 rviz2를 통해서 확인 가능하십니다. ros2 topic pub을 통해서 /scan 토픽에 무언가 나오고 있다면 정상작동하고 있다고 보시면 될 것 같습니다!

ros2 topic pubros2 topic echo /cloi1/scan을 의미하신게 맞나요? 일단 echo는 값이 출력되고 있는데 rviz와 slam_toolbox 사용이 미숙해서 맵 빌드에는 좀 걸릴 것 같습니다.
감사합니다

@hyunseok-yang
Copy link
Member

친절한 답변 감사합니다. ^^ 자료 토대로 시도해 보고 있습니다.

정말 제대로 pub이 되고있는지는 rviz2를 통해서 확인 가능하십니다. ros2 topic pub을 통해서 /scan 토픽에 무언가 나오고 있다면 정상작동하고 있다고 보시면 될 것 같습니다!

ros2 topic pubros2 topic echo /cloi1/scan을 의미하신게 맞나요? 일단 echo는 값이 출력되고 있는데 rviz와 slam_toolbox 사용이 미숙해서 맵 빌드에는 좀 걸릴 것 같습니다. 감사합니다

저희는 멀티 로봇을 타겟으로 설계를 해서 앞에 namespace가 붙는데,
이는 nav2에서 실행 할때 namespace를 추가해줄수 있는 것으로 알고 있는데,
아래 참조 하시면 됩니다.

https://navigation.ros.org/tuning/index.html

namespace : The namespace to launch robots into, if need be.
use_namespace : Whether or not to launch robots into this namespace. Default false and uses global namespace for single robot.

아니면 cloisim_ros를 single 모드로 돌려보시는 것도 방법입니다.

@hyunseok-yang
Copy link
Member

친절한 답변 감사합니다. ^^ 자료 토대로 시도해 보고 있습니다.

정말 제대로 pub이 되고있는지는 rviz2를 통해서 확인 가능하십니다. ros2 topic pub을 통해서 /scan 토픽에 무언가 나오고 있다면 정상작동하고 있다고 보시면 될 것 같습니다!

ros2 topic pubros2 topic echo /cloi1/scan을 의미하신게 맞나요? 일단 echo는 값이 출력되고 있는데 rviz와 slam_toolbox 사용이 미숙해서 맵 빌드에는 좀 걸릴 것 같습니다. 감사합니다

저희는 멀티 로봇을 타겟으로 설계를 해서 앞에 namespace가 붙는데, 이는 nav2에서 실행 할때 namespace를 추가해줄수 있는 것으로 알고 있는데, 아래 참조 하시면 됩니다.

https://navigation.ros.org/tuning/index.html

namespace : The namespace to launch robots into, if need be.
use_namespace : Whether or not to launch robots into this namespace. Default false and uses global namespace for single robot.

아니면 cloisim_ros를 single 모드로 돌려보시는 것도 방법입니다.

'''
ros2 launch cloisim_ros_bringup bringup.launch.py single_mode:=True
'''

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants