ROS 1, 2, anaconda 같이 사용

  • ROS 2가 새롭게 나왔다고 하고, 앞으로는 ROS 2가 대세로 사용될거라고 한다. 
  • 그래서 공부하다 보니 ROS 1에 비해 아직은 패키지라든가 문서 등이 많지는 않은것 같다. 
  • 그래서 ROS 1을 가지고 스터디할 필요성이 느껴 ROS 1noetic, ROS 2 foxy 를 같이 설치해서 사용하기로 했다.
  • 설정을 잘 해줘야 패스 등이 꼬이지 않는다. 
  • 일단은 ros1 에서 roscore 실행되고, ros2 에서 talker 실행되는 것을 확인했다. 

 

 

ros 1, ros 2 설치

 

noetic/Installation/Ubuntu - ROS Wiki

If you rely on these packages, please support OSRF. These packages are built and hosted on infrastructure maintained and paid for by the Open Source Robotics Foundation, a 501(c)(3) non-profit organization. If OSRF were to receive one penny for each downlo

wiki.ros.org

 

 

Installation — ROS 2 Documentation: Foxy documentation

You're reading the documentation for an older, but still supported, version of ROS 2. For information on the latest version, please have a look at Humble. Installation Options for installing ROS 2 Foxy Fitzroy: Which install should you choose? Installing f

docs.ros.org

 

bashrc 설정

  • 아래 reference를 보면 보다 정확할 듯 싶다. 
  • 아래 ROS_V 를 1 or 2 로 바꾼 후, 아래 명령어를 입력해주고 사용하면된다.
    • source ~/.bashrc 
  • 아래는 내가 설정한 .bashrc 파일이다.
# conda env
alias env_base='conda activate base; echo base env activated'
alias env_ROS1='conda activate ROS1; echo ROS1 env activated'
alias env_ROS2='conda activate ROS2; echo ROS2 env activated'


# Set bashrc command
ROS_V=2 # Select ROS Version 1 or 2

if [ $ROS_V -eq 1 ]; then
    alias cw='cd ~/catkin_ws'
    alias cs='cd ~/catkin_ws/src'
    alias cm='cd ~/catkin_ws && catkin_make'

    source /opt/ros/noetic/setup.bash
    source ~/catkin_ws/devel/setup.bash
    source /usr/share/gazebo/setup.sh

    export ROS_MASTER_URI=http://localhost:11311
    export ROS_HOSTNAME=localhost

elif [ $ROS_V -eq 2 ]; then
    source /opt/ros/foxy/setup.bash
    source ~/robot_ws/install/local_setup.bash
    source ~/robot_ws/ws_moveit2/install/setup.bash

    source /usr/share/colcon_argcomplete/hook/colcon-argcomplete.bash
    source /usr/share/vcstool-completion/vcs.bash
    source /usr/share/colcon_cd/function/colcon_cd.sh
    export _colcon_cd_root=~/robot_ws

    export ROS_DOMAIN_ID=7
    export ROS_NAMESPACE=robot1

    export RMW_IMPLEMENTATION=rmw_fastrtps_cpp
    # export RMW_IMPLEMENTATION=rmw_connext_cpp
    # export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
    # export RMW_IMPLEMENTATION=rmw_gurumdds_cpp

    export RCUTILS_CONSOLE_OUTPUT_FORMAT='[{severity} {time}] [{name}]: {message} ({function_name}() at {file_name}:{line_number})'
    #  export RCUTILS_CONSOLE_OUTPUT_FORMAT='[{severity}]: {message}'
    #  export RCUTILS_COLORIZED_OUTPUT=1
    #  export RCUTILS_LOGGING_USE_STDOUT=0
    #  export RCUTILS_LOGGING_BUFFERED_STREAM=1
fi

 

 

 

 

Reference

 

ROS1, ROS2, Conda 같이 쓰기

http://wiki.ros.org/noetic/Installation/Ubuntuhttps://docs.ros.org/en/foxy/Installation.htmlhttps://www.anaconda.com/products/individua

velog.io

 

How do I prevent Conda from activating the base environment by default?

I recently installed anaconda2 on my Mac. By default Conda is configured to activate the base environment when I open a fresh terminal session. I want access to the Conda commands (i.e. I want the ...

stackoverflow.com

 

 

'ROS' 카테고리의 다른 글

[ROS] RealSense ROS 설치  (0) 2022.08.12
[ROS] Package 생성  (0) 2022.08.08

+ Recent posts