Robinion software framework used Ubuntu 20.04 with ROS Noetic Ninjemys. Ubuntu 20.04 and ROS Noetic Ninjemys installation guide refer to these links:
- https://help.ubuntu.com/lts/installation-guide/index.html
- http://wiki.ros.org/noetic/Installation/Ubuntu
It is highly recomended to install ros-noetic-desktop-full to run the Robinion software framework.
sudo apt update && sudo apt install -y git
Robinion software framework was developed using Python version 3. We prefer conda virtual environment to use the framework. For creating conda virtual environment please follow this guide.
wget https://repo.anaconda.com/archive/Anaconda3-2020.07-Linux-x86_64.sh
chmod +x Anaconda3-2020.07-Linux-x86_64.sh
./Anaconda3-2020.07-Linux-x86_64.sh
source ~/.bashrc
git clone https://github.com/EDGS-GIT/conda_environment.git
cd conda_environment
conda env create -f robinion-ros-env.yml
Set default conda environment
echo "conda activate ros" >> ~/.bashrc
source ~/.bashrc
PyKDL module is Python version of liborocos-kdl which used for calculating kinematics of the robot. We prefer build the PyKDL from the sources. Please follow this link for building the PyKDL module.
https://github.com/EDGS-GIT/python_orocos_kdl
Robinion Framework
mkdir ~/robinion_ws && cd ~/robinion_ws
git clone https://github.com/EDGS-GIT/Robinion-Framework.git
mv Robinion-Framework src
DynamixelSDK
cd ~/robinion_ws/src
git clone https://github.com/ROBOTIS-GIT/DynamixelSDK.git
cd DynamixelSDK
git checkout noetic-devel
Robotis Framework
cd ~/robinion_ws/src
git clone https://github.com/ROBOTIS-GIT/ROBOTIS-Framework.git
Robotis Framework Msgs
cd ~/robinion_ws/src
git clone https://github.com/ROBOTIS-GIT/ROBOTIS-Framework-msgs.git
Robotis-Math
cd ~/robinion_ws/src
git clone https://github.com/ROBOTIS-GIT/ROBOTIS-Math.git
kdl_parser
cd ~/robinion_ws/src
wget https://github.com/ros/kdl_parser/archive/1.13.2.tar.gz
tar -xvzf 1.13.2.tar.gz
rm -rf 1.13.2.tar.gz
urdf_parser_py
cd ~/robinion_ws/src
wget https://github.com/ros/urdf_parser_py/archive/0.4.3.tar.gz
tar -xvzf 0.4.3.tar.gz
rm -rf 0.4.3.tar.gz
Add servo device
cd ~/robinion_ws/src/ROBOTIS-Framework/robotis_device/devices/dynamixel
cp XM540-W270.device XH540-W270.device
Compile Robinion Framework
cd ~/robinion_ws/src/robinion_manager
mkdir include
cd ~/robinion_ws/
catkin_make -j12
source devel/setup.bash
Launch robinion_walking_module
roslaunch robinion_walking_module test_walking_module_gazebo.launch
Open Gazebo Client
gzclient
Publish topic to robinion_walking_module
Initialize
This command will make the robot go to initial pose
rostopic pub /robinion/walking_module/state robinion_msgs/WalkingState "state: 'init'"
Start Walking
This command will make the robot start walking (stepping in place)
rostopic pub /robinion/walking_module/state robinion_msgs/WalkingState "state: 'start'"
Send Walking Command
This command will make the robot walking forward. For changing direction, just change value of
rostopic pub /robinion/walking_module/command robinion_msgs/WalkingCommand "cmd_x: 0.05
cmd_y: 0.0
cmd_alpha: 0.0"
Stop Walking
This command will make the robot stop walking.
rostopic pub /robinion/walking_module/state robinion_msgs/WalkingState "state: 'stop'"
Example for calling initialize motion
rostopic pub /robinion/motion_player/play_motion/goal robinion_msgs/PlayMotionActionGoal "header:
seq: 0
stamp:
secs: 0
nsecs: 0
frame_id: ''
goal_id:
stamp:
secs: 0
nsecs: 0
id: ''
goal:
motion_name: 'initialize'
movement_time: 2.0"
Launch robinion_manager
sudo su
roslaunch robinion_manager robinion_robot.launch
Launch walking_module
roslaunch robinion_walking_module test_walking_module_robot.launch