Indy is Neuromeka’s flagship cobot model we designed and manufactured. Guaranteeing workers’ safety based on innovative collision detection algorithms, Indy supports more intuitive direct teaching by impedance control as well as online and offline programming with the teach pendant app running on android tablets.
This repository contains ROS2 drivers for Indy7, Indy7V2, IndyRP2, IndyRP2V2 and Indy12.
The following software needs to be installed:
sudo apt install python3-rosdep
sudo apt install python3-rosdep2
sudo rosdep init
rosdep update
sudo apt update
sudo apt install rospack-tools
sudo apt install python3-colcon-common-extensions
sudo apt install python3-colcon-mixin
colcon mixin add default https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml
colcon mixin update default
sudo apt install python3-vcstool
sudo apt install -y ros-humble-xacro \
ros-humble-moveit \
ros-humble-moveit-servo \
ros-humble-ros2-control \
ros-humble-ros2-controllers \
ros-humble-moveit-ros-move-group \
ros-humble-moveit-planners-ompl \
ros-humble-moveit-kinematics \
ros-humble-gazebo-ros \
ros-humble-gazebo-ros2-control \
ros-humble-controller-manager \
ros-humble-joint-state-broadcaster \
ros-humble-joint-state-publisher-gui \
ros-humble-joint-trajectory-controller \
ros-humble-moveit-ros-perception \
ros-humble-rviz-visual-tools \
ros-humble-moveit-visual-tools \
ros-humble-moveit-resources
sudo apt install ros-humble-rmw-cyclonedds-cpp
Add this to ~/.bashrc to source it automatically
export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
cd ~
mkdir -p indy_ros2/src
cd ~/indy_ros2/src
git clone <this repository url>
cd ~/indy_ros2/
colcon build
. install/setup.bash
Use indy_type to choose specific robot (indy7, indy7_v2, indy12, indyrp2, indyrp2_v2). Use indy_sw to choose software version (Framework) 2 or 3 (support 2, 3).
Use indy_eye to enable Indy Eye model (support indy7, indyrp2). To enable Indy Eye, add indy_eye:=true to the end of command
If not specified, the default value will be indy7.
When used with a real robot, you need to provide an indy_ip value.
In servoing mode: Using Dpad to control joint 2 and joint 4. B and X control joint 6 Y and A control joint 5 Left joystick, right joystick, LB, RB, LT, RT to control TCP.
ros2 launch indy_description indy_display.launch.py indy_type:=indy7
ros2 launch indy_gazebo indy_gazebo.launch.py indy_type:=indy7
If use moveit
ros2 launch indy_moveit indy_moveit_gazebo.launch.py indy_type:=indy7
If use servoing
ros2 launch indy_moveit indy_moveit_gazebo.launch.py indy_type:=indy7 servo_mode:=true
ros2 launch indy_driver indy_bringup.launch.py indy_type:=indy7 indy_ip:=192.168.xxx.xxx indy_sw:=x
If use moveit
ros2 launch indy_moveit indy_moveit_real_robot.launch.py indy_type:=indy7 indy_ip:=192.168.xxx.xxx indy_sw:=x
If use servoing - NOTE: CANNOT USE SERVOING MODE ON REAL ROBOT IN THIS VERSION
ros2 launch indy_moveit indy_moveit_real_robot.launch.py indy_type:=indy7 indy_ip:=192.168.xxx.xxx indy_sw:=x servo_mode:=true