Install ROS kinetic [Recommended]
or
sudo apt-get install ros-${ROS_DISTRO}-desktop-full
sudo apt-get install python-wstool python-catkin-tools
mkdir -p ~/ros/${ROS_DISTRO}
cd ~/ros/${ROS_DISTRO}
wstool init src
catkin init
catkin build
source ~/ros/${ROS_DISTRO}/devel/setup.bash
Please add the following line to ~/.bashrc
source ~/ros/${ROS_DISTRO}/devel/setup.bash
cd ~/ros/${ROS_DISTRO}/src
wstool set aero-ros-pkg https://github.com/seed-solutions/aero-ros-pkg.git --git
wstool up aero-ros-pkg
cd ~/ros/${ROS_DISTRO}
rosdep install -y -r --from-paths src --ignore-src
You may need sudo rosdep init
and rosdep update
before
rosdep install
. Please follow the terminal message.
cd aero-ros-pkg
catkin build aero_description
source ~/.bashrc
In the initial stage, aero_startup
is not ros package, it has no CMakeLists.txt
.
CMakeLists.txt
and some controller modules are generated by aero_description/setup.sh
.
setup.sh
requires robot directory as an argument e.g. setup.sh typeFCET
.
roscd aero_description
./setup.sh typeF # including catkin build aero_startup
source ~/.bashrc
If you need clean up aero_startup
, please use aero_description/clean.sh
.
T.B.D.
If USB connect your local PC from robot_pc,
udev_setting
First,
sudo cp ~/{your_workspace}/src/aero-ros-pkg/aero_startup/aero_hardware_interface/udev/90-aero.rules /etc/udev/rules.d
Second, please connect only the USB connector from upper_body,
udevadm info /dev/ttyUSB0 | grep "ID_SERIAL_SHORT"
Please overwrite the displayed serial number in /etc/udev/rules.d/90-aero.rules
For example,
ATTRS {idProduct} == "6001", ATTRS {serial} == "FT98HN7S", MODE = "0403", ATTRS {idVendor} == "0403", ETR: ID_SERIAL_SHORT = FT98HN7S, 666 ", SYMLINK + =" aero_upper "
Similarly, plug and unplug USB in lower body (command confirmed)
roslaunch aero_startup aero_bringup.launch
If you want to move wheels, please refer aero_move_base.
rosrun rviz rviz
then add RobotModel
See aero_gazebo
maintenance
catkin build aero_samples
rosrun aero_samples minimum_sample_node
rostopic pub /lifter_controller/command trajectory_msgs/JointTrajectory "header:
seq: 0
stamp:
secs: 0
nsecs: 0
frame_id: ''
joint_names:
- 'ankle_joint'
- 'knee_joint'
points:
- positions: [0.5, -0.5]
velocities: [0, 0]
accelerations: [0, 0]
effort: [0, 0]
time_from_start: {secs: 3, nsecs: 0}"
## Open
rosservice call /aero_hand_controller "{hand: $(python -c 'import aero_startup.srv; print aero_startup.srv.HandControlRequest.HAND_RIGHT'), command: $(python -c 'import aero_startup.srv; print aero_startup.srv.HandControlRequest.COMMAND_UNGRASP'), power: 0, time_sec: 0}"
## Grasp
rosservice call /aero_hand_controller "{hand: $(python -c 'import aero_startup.srv; print aero_startup.srv.HandControlRequest.HAND_RIGHT'), command: $(python -c 'import aero_startup.srv; print aero_startup.srv.HandControlRequest.COMMAND_GRASP'), power: 0, time_sec: 1.0}"
## Angle
rosservice call /aero_hand_controller "{hand: $(python -c 'import aero_startup.srv; print aero_startup.srv.HandControlRequest.HAND_RIGHT'), command: $(python -c 'import aero_startup.srv; print aero_startup.srv.HandControlRequest.COMMAND_GRASP_ANGLE'), power: 0, time_sec: 1.0, larm_angle: 0.5, rarm_angle: 0.5}"
see aero_samples
and aero_std
documentation
install docker https://docs.docker.com/install/linux/docker-ce/ubuntu/
build docker image under aero-ros-pkg directory
docker build -f Dockerfile.kinetic --tag ros:aero_kinetic --build-arg RUN_TESTS=true .
Launch move base
roslaunch aero_startup wheel_with_static_map.launch
Teleoperate aero using ps3 controller!
Button | Function |
---|---|
0 | Change to Joint Mode |
1 | Forward/Backward move base (with 10), Up/Down lifter (with 11) |
2 | Control forward/backward driving |
3 | Change to Basic Mode |
4 | Not used |
5 | Not used |
6 | Arm tuck |
7 | Not used |
8 | Not used |
9 | Not used |
10 | Move Teleop |
11 | Lifter Teleop |
12 | Not used |
13 | Close Right Hand |
14 | Open Hand |
15 | Close Left Hand |
16 | Reset Pose |
Button | Function |
---|---|
0 | Change to Joint Mode |
1 | Control Joint Angle |
2 | Not userd |
3 | Change to Basic Mode |
4 | Control Joint Angle |
5 | Control Joint Angle |
6 | Control Joint Angle |
7 | Control Joint Angle |
8 | Control Left Forearm |
9 | Control Right Forearm |
10 | Control Left Upper Arm |
11 | Control Right Upper Arm |
12 | Control Neck |
13 | Control Right Wrist |
14 | Control Torso |
15 | Control Left Wrist |
16 | Pair/unpair with robot |