This repository is about the BetaGo robot maintained by South China University of Technology PEMT Laboratory.
/bluetooth_teleop/joy
/camera/accel/imu_info
/camera/gyro/imu_info
/camera/imu
/camera/infra1/camera_info
/camera/infra1/image_rect_raw
/camera/infra2/camera_info
/camera/infra2/image_rect_raw
/camera/motion_module/parameter_descriptions
/camera/motion_module/parameter_updates
/camera/realsense2_camera_manager/bond
/camera/rgb_camera/parameter_descriptions
/camera/rgb_camera/parameter_updates
/camera/stereo_module/auto_exposure_roi/parameter_descriptions
/camera/stereo_module/auto_exposure_roi/parameter_updates
/camera/stereo_module/parameter_descriptions
/camera/stereo_module/parameter_updates
/cmd_lights
/cmd_vel
/diagnostics
/diagnostics_agg
/diagnostics_toplevel_state
/feedback
/imu/data
/imu/data_raw
/imu/mag
/imu_filter/parameter_descriptions
/imu_filter/parameter_updates
/joint_states
/mcu/cmd_fans
/mcu/cmd_lights
/mcu/status
/odometry/filtered
/ridgeback_velocity_controller/cmd_vel
/ridgeback_velocity_controller/odom
/rosout
/rosout_agg
/set_pose
/status
/tf
/tf_static
/twist_marker_server/feedback
/twist_marker_server/update
/twist_marker_server/update_full
/wifi_connected
-
ros related
sudo apt-get install ros-kinetic-joint-state-publisher-gui
-
gazebo7 >= 7.4.0
check version by
gazebo --version
.follow here to update to newest gazebo7 version. Problem after update: 1.
fatal error: ignition/math/Inertial.hh: No such file or directory
. fix:sudo apt-get install libignition-math2-dev
-
realsense2 SDK and Realsense ROS
SDK installation refer to this doc, ros package installation refer to here
-
moveit-ros packages:
sudo apt-get install ros-kinetic-moveit-ros-* sudo apt-get install ros-kinetic-moveit
-
ridgeback packages:
sudo apt-get install ros-kinetic-ridgeback*
-
UR5 packages:
sudo apt-get install ros-kinetic-ur-* sudo apt-get install ros-kinetic-ur5*
-
we add the td_ros directly by submodule.
-
modify all the
TdLib_DIR
in the CMakeLists.txt to your case.
create the workspace
mkdir ~/BetaGo_ws && cd ~/BetaGo_ws
clone this repositories and build
git clone --recursive git@github.com:TouchDeeper/BetaGo.git src/
catkin_make
Possible problem: 1.
catkin_package() include dir 'include' does not exist relative to
'[package_path]'
- solution: add
include
directory in the[package_path]
No rule to make target '/usr/lib/x86_64-linux-gnu/libproj.so
- solution:
sudo ln -s /usr/lib/x86_64-linux-gnu/libproj.so.9 /usr/lib/x86_64-linux-gnu/libproj.so
- solution:
-
ur5 and allegro_hand are imported by environment variable RIDGEBACK_URDF_EXTRAS. RIDGEBACK_URDF_EXTRAS = your workspace path/src/betago_description/urdf/betago/ridgeback_urdf_extras.xacro
- method1: set temporary environment variable:
export RIDGEBACK_URDF_EXTRAS=~/BetaGo_ws/src/betago_description/urdf/betago/ridgeback_urdf_extras.xacro
- method2: set permanent environment variable:
- terminal:
sudo gedit ~/.bashrc
- add
export RIDGEBACK_URDF_EXTRAS=~/BetaGo_ws/src/betago_description/urdf/betago/ridgeback_urdf_extras.xacro
in the end. - terminal:
source ~/.bashrc
- terminal:
- method1: set temporary environment variable:
-
Check if the model has been downloaded in
~/.Gazebo/
, if not, you need to download the model first and put it in~/.Gazebo/
. Download link. For Chinese, download from rosclub.cn : link: http://pan.baidu.com/s/1pKaeg0F, password:cmxc- set GAZEBO_MODEL_PATH:
- terminal:
sudo gedit ~/.bashrc
- add
export GAZEBO_MODEL_PATH="/home/wang/.gazebo/models"
in the end. - terminal:
source ~/.bashrc
- terminal:
- set GAZEBO_MODEL_PATH:
- plug in the network cable to ridgeback's router, plug in the network cable to your pc.
- start the ridgeback, then push the E-STOP to release the lock.
- set the wired connection in your desktop, see the gif.
- add the config in the below to your ~/.bashrc, and
source ~/.bashrc
. The192.168.131.1
is keep the same when wired connection, this IP can also be specified by connecting a screen to ridgeback's computer, and typeifconfig -a
, this IP is in thebr0
item of output information. the192.168.131.100
is also keep the same when wired connection, this IP can also be specified by typingifconfig -a
in your pc and is in the first item of output information.export ROS_MASTER_URI=http://192.168.131.1:11311 #Ethernet export ROS_IP=192.168.131.100
5.add the config 192.168.131.1 CPR-R100-0057
in the below to your /etc/hosts, the location is after the line like
127.0.0.1 localhost 127.0.1.1 [your-computer-name]
6.rostopic list
in your desktop to see if the topics in the ridgeback have been send to your desktop. If receive the topic, the connection is valid.
7. note that the wired connection will not bread the connection to the wifi, but ssh to ridgeback's computer by wireless IP will be broken.
- connect the ridgeback's computer and your pc to the same Local Area Network.
- get the IP of ridgeback by
ifconfig -a
in ridgeback's computer. The IP is in thewlp3s0
item, and the sentence isinet addr:[IP_ridgeback]
. - get the IP of your pc by 'ifconfig -a' in you pc. The IP is in the
wlo1
item, and the sentence isinet addr:[IP_pc]
. - comment out the config code for wire connection. And add the config in the below to your ~/.bashrc, and
source ~/.bashrc
export ROS_MASTER_URI=http://[IP_ridgeback]:11311 #Ethernet export ROS_IP=[IP_pc]
- add the config
[IP_ridgeback] CPR-R100-0057
in the below to your /etc/hosts, the location is after the line like127.0.0.1 localhost 127.0.1.1 [your-computer-name]
6.rostopic list
in your desktop to see if the topics in the ridgeback have been send to your desktop. If receive the topic, the connection is valid.
7. note!!!: after connection with ridgeback's computer, if your pc also need to run ros, comment out the content added in step 4 and 5 and re-source.
ssh administrator@[IP_ridgeback]
- If you want to open multi-terminal, but don't want to login too much user, you can use tmux to split screen.
- ssh to ridgeback's computer.
- install tmux by 'sudo apt-get install tmux'
- refer to here for tmux's usage.
- ur5 and allegro_hand are imported by environment variable RIDGEBACK_URDF_EXTRAS. RIDGEBACK_URDF_EXTRAS = your workspace path/src/betago_description/urdf/betago/ridgeback_urdf_extras.xacro
- method1: set temporary environment variable:
export RIDGEBACK_URDF_EXTRAS=your workspace path/src/betago_description/urdf/betago/ridgeback_urdf_extras.xacro
- method2: set permanent environment variable:
- terminal:
sudo gedit ~/.bashrc
- add
export RIDGEBACK_URDF_EXTRAS="your workspace path/src/betago_description/urdf/betago/ridgeback_urdf_extras.xacro"
in the end. - terminal:
source ~/.bashrc
- terminal:
- method1: set temporary environment variable:
None
None
If you use this package for your research, a footnote with the link to this repository is appreciated: github.com/TouchDeeper/BetaGo
, or for citation with BibTeX:
@misc{ztd2021BetaGo,
title={BetaGo: a dual_arm moblie robot simulation platform with multiple-sensor based on ROS.},
author={Tingda Zhuang},
howpublished={\url{https://github.com/TouchDeeper/BetaGo}},
year={2021}
}